반응형

tcpdump를 실행할 때, -i 옵션을 통해서 네트워크 인터페이스를 지정해 주어야 정상적으로 로그를 표시할 수 있다.


동시에 여러 개의 네트워크 인터페이스로부터 정보를 수집하려면, 두 가지 방법이 가능하다.


1. 그냥 tcpdump 프로세스를 각 인터페이스별로 여러 개 실행

screen 같은 도구를 써서 동시에 여러 instance를 실행시킨다. 

예를 들면:

$ sudo screen tcpdump -i eth0

(Ctrl A+D를 눌러 스크린을 빠져나온 뒤,)

$ sudo screen tcpdump -i wlan0


문제는 여러 개의 로그가 별개로 생성되는 것. (같은 로그 파일 이름으로 지정해서 시도하지는 못해서 모르겠다.)



2. tcpdump -i any 옵션으로 실행

이렇게 하면 모든 인터페이스에 대하여 로그가 일괄 수집된다.

문제는 수집할 필요 없는 인터페이스의 로그까지 같이 수집된다.

(머신의 최대 인터페이스 개수가 N일 때, 수집 대상이 1개도 N개도 아닌 경우)


"-i any" 옵션으로 실행할 경우, 각 네트워크 인터페이스에 할당되는 IP 주소의 대역을 의도적으로 다르게 함으로써, 나중에 수집된 로그 파일에서 receiver의 IP 주소 대역을 보고 필터링하는 형태로 원하지 않는 인터페이스에 해당되는 로그를 배제시키는 수밖에 없겠다.

반응형
블로그 이미지

Bryan_

,