장치 B에서 보내거나 받은 모든 패킷을 미러링하고 로깅을 위해 장치 A로 보내려고 합니다. 무선 액세스 포인트 역할을 하는 OpenWRT가 있고 ssh를 통해 OpenWRT 라우터에 다음 명령을 실행했습니다.
iptables -A PREROUTING -t mangle -d 192.168.1.252 -j TEE --gateway 192.168.1.251
iptables -A POSTROUTING -t mangle -s 192.168.1.252 -j TEE --gateway 192.168.1.251
iptables --list -t mangle을 실행하면 다음과 같은 결과가 나타납니다.
root@OpenWrt:~# iptables --list -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
fwmark all -- anywhere anywhere
TEE all -- anywhere 192.168.1.252 TEE gw:192.168.1.251
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
mssfix all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
TEE all -- 192.168.1.252 anywhere TEE gw:192.168.1.251
Chain fwmark (1 references)
target prot opt source destination
Chain mssfix (1 references)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN /* wan (mtu_fix) */ TCPMSS clamp to PMTU
장치 A에서 무차별 모드로 Wireshark를 열었지만 장치 B에서 작업을 수행할 때(예: 브라우저에서 neverssl.com에 연결하거나 google.com에 ping을 보내는 등) 장치 A의 트래픽이 표시되지 않습니다. 잘못하고 있어?
(참고 1: 차이가 있다면 장치 A를 OpenWRT 라우터에 무선으로 연결해 보았지만 소용이 없었습니다.)
(참고 2: Netgear 라우터에는 다른 장치가 연결되어 있지만 OpenWRT 라우터에는 다른 장치가 연결되어 있지 않습니다.)