답변:
명령 행에 추가 -n
하십시오 tcpdump
.
로부터 tcpdump를 맨 :
-n Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.
또한 Fedora (및 기타 파생 상품 : RHEL, CentOS 등)에서 포트 번호를 제거 하는 별도의 옵션 을 포함하도록 원래 tcpdump 버전을 패치 했습니다 -nn
. 로부터 맨 :
-n Don't convert host addresses to names. This can be used to
avoid DNS lookups.
-nn Don't convert protocol and port numbers etc. to names either.
-n
호스트 이름에만 작동하지만 포트 번호에는 작동하지 않습니다. -nn
둘 다 트릭을 수행합니다. Fedora 20 gnu / linux에서 tcpdump 버전 4.5.1을 실행 중입니다. @ATMc의 공감 된 답은 유일한 것입니다. 슬프게도 업장이 적거나 업장이 적기 때문에 그 아래에 의견을 쓸 수 없습니다.
가장 좋은 방법은 다음과 같습니다.
sudo tcpdump -ni any
테스트 단계 :
콘솔을 열고 다음을 입력하십시오.
sudo nc -l -p 6666
다른 콘솔을 열고 다음을 입력하십시오.
sudo tcpdump -ni any
출력이 너무 자세하면 필터링 할 수 있습니다 ( | grep -v "patter1n|pattern2"
)
세 번째 콘솔을 열고 다음을 입력하십시오.
telnet localhost 6666
예상 출력 :
10:37:13.770997 IP 127.0.0.1.56920 > 127.0.0.1.443: Flags [S], seq 2822288041, win 43690, options [mss 65495,sackOK,TS val 1028779 ecr 0,nop,wscale 7], length 0
당신이 사용 sudo tcpdump -i any
하면 다음과 같은 것을 볼 수 있습니다 :
10:38:22.106022 IP localhost.56924 > localhost.https: Flags [S], seq 3147104744, win 43690, options [mss 65495,sackOK,TS val 1045863 ecr 0,nop,wscale 7], length 0
tcpdump -i eth0 -p -nn | grep "IP" | awk '{print$3 ,$4 ,$5}' | sed 's/://'
-nn
요약됩니다 . (1) “http”와“dnp”와 같은 서비스를 포트로 표시하는 데 사용 이름 대신 숫자를 사용하고 (이전의 세 가지 답변에서 제시 한) (2) awk
패킷 내용에 대한 데이터를 버리는 데 사용 합니다 (아마도 바람직하지 않음).
-n