如何使tcpdump显示IP和端口号但不显示主机名和协议


42

我正在使用tcpdump进行某些测试,我想查看IP和端口号,但tcpdump的输出类似于

IP pl1snu.koren.kr.http > kitch.pl.sophia.inria.fr.dnp: Flags [P.], seq 54:72, ack 1, win 5792, length 18

它只显示http的主机名和协议,很容易知道它是80,但对于dnp,我必须搜索

所以有可能如何使tcpdump显示ip和端口号而不显示主机名和协议(如果这样),怎么办?谢谢

Answers:


44

添加-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
misteryes

“端口号仍使用-n转换为协议名称”,例如,不适用于OS X Mountain Lion随附的tcpdump 4.1.1或从tcpdump.org Git干线顶部构建的tcpdump。您在哪个版本的tcpdump上看到-n 禁止将端口号转换为协议名称?


2

-n仅适用于主机名,不适用于端口号。-nn两者兼有。这在Fedora 20 gnu / linux上运行tcpdump版本4.5.1。@ATMc的错误答案是唯一正确的答案。可悲的是,由于业力低下,我既不能赞美它,也不能在下面写评论。


1

我认为最好的方法是:

sudo tcpdump -ni any

测试步骤:

  1. 打开控制台并键入:

    sudo nc -l -p 6666
    
  2. 打开另一个控制台,然后键入:

    sudo tcpdump -ni any
    

    如果输出太冗长,可以将其过滤掉(| grep -v "patter1n|pattern2"

  3. 打开第三个控制台,然后键入:

    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

1
这与其他答案相同- -i any如果您想抑制地址/端口到名称的转换,则不必这样做,仅此而已-n

-2
tcpdump -i eth0 -p -nn | grep "IP" | awk '{print$3 ,$4 ,$5}' | sed 's/://'

1
我不明白
Pierre.Vriens

1
虽然问题是“显示ip和端口号,但不显示主机名和协议”,但我怀疑它的意思是“显示ip和端口号,但不显示其他任何信息”。(我可能是错的,但是似乎没有其他人以您的方式解释了这个问题。)因此,您的答案似乎可以归结为两个部分:(1)用于  -nn将“ http”和“ dnp”之类的服务显示为端口数字而不是名称(前面的三个答案中已经提到过),以及(2)用于  awk丢弃数据包内容上的数据(这可能是不希望的)。
斯科特,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.