여러 인터페이스에서 Tcpdump


17

2 개의 wan 인터페이스와 1 개의 LAN이있는 웹 프록시 역할을하는 CentOS 5 서버에서 트래픽을 캡처해야합니다. 이상한 프록시 문제를 해결하기 위해 전체 대화를 캡처하고 싶습니다. 두 개의 WAN 인터페이스간에 외부 연결이 균형을 이루기 때문에 모든 인터페이스에서 동시에 캡처 할 수 있는지 궁금합니다.

이전에 tcpdump를 사용했지만 한 번에 하나의 인터페이스 만 허용합니다. 모든 인터페이스에서 캡처하기 위해 3 개의 병렬 프로세스를 시작할 수 있지만 3 개의 다른 캡처 파일로 끝납니다.

이 작업을 수행하는 올바른 방법은 무엇입니까?


AdamRushad가 맞습니다. 당신도 사용할 수 있습니다 wireshark.
Ryan Babchishin

답변:


25

tcpdump 매뉴얼 페이지에 따르면 :

2.2 이상의 커널이있는 Linux 시스템에서는``any ''라는 인터페이스 인수를 사용하여 모든 인터페이스에서 패킷을 캡처 할 수 있습니다. ``모든 ''장치의 캡처는 무차별 모드에서 수행되지 않습니다.

따라서 tcpdump -i any모든 인터페이스의 데이터를 단일 캡처 파일로 동시에 캡처 하려면 다음을 실행할 수 있어야 합니다.


2
인터페이스 중 일부만 캡처하려는 경우에는 작동하지 않습니다.
Thayne

9

내가 접근하는 방법은 각 인터페이스에서 별도의 파일로 덤프 한 다음 병합하는 것입니다. 모든 인터페이스에는 캡처를 오염시킬 수있는 트래픽이 포함되어 있습니다.

또한 복잡한 필터링없이 인터페이스 당 패킷 스트림을 분석 할 수 있습니다.

나는 3 터미널에서 또는 &로 명령을 배경으로 캡처합니다.

플래그 -nn은 속도에 대한 dns 해상도를 끄고, -s 0은 전체 패킷을 저장하고 -w는 파일에 씁니다.

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

그런 다음 wireshark의 mergecap 명령으로 파일을 병합합니다.

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump

2

모든 인터페이스에서 tcpdump를 캡처하려면

tcpdump -i any

2
이것은 이미 2 년 전 Adam Rushad의 답변으로 제공되었습니다.
패트릭 Mevzek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.