2016-06-12 3 views
0

내가 연결 한 네트워크에 호스트 이름 만 캡처해야합니다. 나는 완전한 교통을 필요로하지 않는다. e. 지. 나는 "www.google.com", "facebook.com", "plus.google.com"등의 이름 만 가지려고하고 이름으로 파일에 저장하려고합니다. Android 4.4.2에서 실행해야하는 TCPDUMP 명령은 무엇입니까? N.B. 나는 tcpdump 바이너리를 /system/bin/tcpdump로 설치했다.호스트 이름 만 캡처

답변

1

가장 좋은 tcpdump 명령은 아마도 tcpdump -q ip or ip6 일 것이다. 이

패킷의 IP 소스와 목적지 주소에 해당하는 호스트 이름을 표시합니다 더는 tcpdump 명령 없다 - 당신이 그런 패킷 타임 스탬프 및 적어도 최소한의 시도로, 다른 정보를 얻을 수 있습니다 -q 플래그가 있어도 패킷의 내용을 분석하면 도메인 이름을 추출하는 데 약간의 사후 처리가 필요하지만 tcpdump 텍스트 출력 형식은 구문 분석하기가 너무 어렵지 않습니다.

과 같은 패킷을 볼 수 있습니다
18:12:01.344016 IP www.sonic.net > 192.168.42.66: ICMP echo reply, id 61009, seq 1, length 64 

또는

18:13:02.576498 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0 
18:13:02.611576 IP www.sonic.net.http > 192.168.42.66.60726: tcp 0 
18:13:02.611653 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 0 
18:13:06.235021 IP 192.168.42.66.60726 > www.sonic.net.http: tcp 16 

그래서 타임 스탬프와 "IP"(또는 "IP6")를 제거하고 그 뒤에 콜론을 모두 제거해야하며 TCP 또는 UDP 패킷의 경우 마지막 ".XXX"를 제거해야합니다. 소스 및 대상 주소 (을 제외하고 소스 및 대상 포트 번호/이름이 인 경우; 마지막 구성 요소는 TCP 또는 UDP 패킷입니다.) ">"는 출발지와 목적지 주소를 구분합니다.

즉, sed과 같은 프로그램을 설치하거나 AWK, Perl 또는 Python과 같은 스크립팅 언어 용 n 해석기를 설치해야 후 처리를 수행 할 수 있습니다.

에만에 원본 및 대상 IP 주소의 도메인 이름 만 지정하려는 경우 직접 작성해야 할 수 있습니다.