네트워크 네임스페이스 내의 네트워크 인터페이스에서 트래픽을 구체적으로 캡처하는 방법은 무엇입니까 tshark
? 제 경우에는 네트워크 인터페이스가 tun0
이라는 네트워크 네임스페이스로 이동되었습니다 vpn
.
일반적으로 이를 실행하면 tshark -f "port 53"
네트워크 네임스페이스가 최종적으로 사용하는 기본 인터페이스의 DNS 쿼리가 포함되어 있기 때문에 출력이 복잡해집니다.
내 네트워크 네임스페이스 설정은 다음과 같습니다(가치 있는 내용은 여기의 openvpn netns-up 스크립트입니다.http://www.naju.se/articles/openvpn-netns.html)
$ ip netns add vpn
$ ip netns exec vpn ip link set dev lo up
$ ip link set dev tun0 up netns vpn mtu 1500
$ ip netns exec vpn ip addr add dev tun0 "10.14.0.3/16"
$ ip netns exec vpn ip addr add dev tun0 "$ifconfig_ipv6_local"/112
$ ip netns exec vpn ip route add default via 10.14.0.1
$ ip netns exec vpn ip route add default via "$ifconfig_ipv6_remote"
답변1
다음을 사용하여 생성된 네트워크 네임스페이스 내에서 명령을 실행할 때 사용하는 것과 동일한 단축되지 않은 구문을 계속 사용할 수 있습니다 ip netns add
.
ip netns exec vpn <command-for-capture>
좋다:
ip netns exec vpn tshark -i tun0 -n -f 'port 53'
DNS 트래픽을 캡처할 때 DNS 확인 트리거를 방지하는 tshark
옵션에 주의하는 -n
것이 특히 중요합니다. 그렇지 않으면 tshark
계단식 DNS 확인 및 캡처 자체가 원래 트래픽을 오염시키게 됩니다.
참고로 명령 자체에는 로 ip
바꿀 수 있는 단축키가 있지만 물론 다른 명령과 함께 사용할 수는 없습니다. 많은 OP 설정 이 .ip netns exec FOO ip BAR ...
ip -n FOO BAR ...
ip -n vpn ...
ip netns exec vpn ip ...