Tshark 显示“florence”和“eforward”,而不是源/目标端口号

Tshark 显示“florence”和“eforward”,而不是源/目标端口号

我在 Windows7 环回适配器上运行 rawcap。我已经运行

telnet localhost 2181

生成了 15 个数据包。为了查看输出,我运行了

wireshark\tshark -r \shared\pcap.pcap

下面是输出

florence   0.000000    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 56748  Destination port: florence 56748
florence   0.103006    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 56748  Destination port: florence 56748
eforward   9.458541    127.0.0.1 -> 127.0.0.1    TCP 52 49435 > eforward [SYN] Seq=0 Win=8192 Len=0 MSS=65495 WS=256 SACK_PE
49435   9.466541    127.0.0.1 -> 127.0.0.1    TCP 52 eforward > 49435 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=65495 WS=256
eforward   9.474542    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [ACK] Seq=1 Ack=1 Win=8192 Len=0 49435
florence  12.022688    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 60846  Destination port: florence 60846
florence  12.083691    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 60846  Destination port: florence 60846
eforward  13.144752    127.0.0.1 -> 127.0.0.1    TCP 42 49435 > eforward [PSH, ACK] Seq=1 Ack=1 Win=8192 Len=2 49435
49435  13.146752    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=1 Ack=3 Win=7936 Len=0 eforward
eforward  14.877851    127.0.0.1 -> 127.0.0.1    TCP 42 49435 > eforward [PSH, ACK] Seq=3 Ack=1 Win=8192 Len=2 49435
49435  14.878851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=1 Ack=5 Win=7936 Len=0 eforward
49435  14.880851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [FIN, ACK] Seq=1 Ack=5 Win=7936 Len=0 eforward
eforward  14.881851    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [ACK] Seq=5 Ack=2 Win=8192 Len=0 49435
eforward  14.881851    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [FIN, ACK] Seq=5 Ack=2 Win=8192 Len=0 49435
49435  14.882851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=2 Ack=6 Win=7936 Len=0 eforward

所以我不明白这一点。我正在寻找端口 2181 的信息。但我看到的却是 ..佛罗伦萨.. 这是什么意思?我如何才能看到正确的目标端口号?

更新 Guy Harris 的回答非常准确(将被接受)。我在这里想请求您做一点进一步的澄清:更正后的输出(在添加-n到 tshark 命令行)是:

2181 117.286708    127.0.0.1 -> 127.0.0.1    TCP 40 60723 > 2181 [ACK] Seq=5 Ack=2 Win=8192 Len=0 60723
2181 117.287708    127.0.0.1 -> 127.0.0.1    TCP 40 60723 > 2181 [FIN, ACK] Seq=5 Ack=2 Win=8192 Len=0 60723
60723 117.287708    127.0.0.1 -> 127.0.0.1    TCP 40 2181 > 60723 [ACK] Seq=2 Ack=6 Win=7936 Len=0 2181

因此现在目标端口 (2181) 已正确显示。但请解释一下:40在这个部分:

TCP 40 2181 > 60723 

答案1

“florence”和“eforward”对应于Wireshark的“service”文件中的条目;“service”文件最初是一个UN*X文件,为端口号命名 - 它也存在于Windows上,Wireshark现在包含自己的“service”文件,它使用该文件将端口号映射到名称。

TShark 手册页文档在其命令行标志列表中说明:

   −n  Disable network object name resolution (such as hostname, TCP and
       UDP port names); the −N flag might override this one.

   −N  <name resolving flags>
       Turn on name resolving only for particular types of addresses and
       port numbers, with name resolving for other types of addresses and
       port numbers turned off.  This flag overrides −n if both −N and −n
       are present.  If both −N and −n flags are not present, all name
       resolutions are turned on.

       The argument is a string that may contain the letters:

       C to enable concurrent (asynchronous) DNS lookups

       m to enable MAC address resolution

       n to enable network address resolution

       N to enable using external resolvers (e.g., DNS) for network
       address resolution

       t to enable transport‐layer port number resolution

因此,如果您使用“-n”标志运行它,它将关闭传输层端口号解析,这样它就不会将端口号映射到名称。它也不会将 IP 地址映射到主机名;如果您想要这样做,请使用“-n”和“-N n”运行 TShark。

答案2

“本节中的 40 是什么?”是一个单独的问题,因此我将给出单独的答案。

TShark 向您显示 Wireshark 配置文件中指定的列;您可能有标准列,以及字段的“自定义”列tcp.dstport,显示目标 TCP 端口号。标准列之一是链路层数据包长度;这可能就是它所显示的。

相关内容