如何使用tshark获取源和目标端口,无论协议如何?

时间:2017-01-12 15:44:54

标签: networking tcp ip wireshark tshark

我正试图从数据包中获取一些字段,例如目的地ip = ip.dst;但是我不确定源端口和目标端口的id是多少。从我所看到的,它们似乎是特定于协议的,即udp = udp.destport;但我想知道是否有办法拿起端口而不管协议。以下是我尝试过的一个例子:

-n -T fields -E separator=, -e frame.time -e ip.src -e ip.dst -e ip.proto -e tcp.port -e ip.len -e tcp.flags.push'

---祝福。

1 个答案:

答案 0 :(得分:3)

找出字段名称的最简单方法可能是在Wireshark中打开一个包含感兴趣字段的捕获文件,然后展开“数据包详细信息”,直到找到您感兴趣的字段为止,最后选择该字段。将在底部的状态栏中显示字段名称。

您还可以使用在线Wireshark Display Filter Reference搜索字段。

关于端口,它们对于每个协议都是唯一的,因此如果要查看TCP源和目标端口,则必须专门过滤tcp.srcporttcp.dstport,如果要查看UDP源和目标端口,然后您必须专门过滤udp.srcportudp.dstport

要避免TCP流量的空白UDP端口列或UDP流量的空白TCP端口列,可以运行该命令两次,首先只关注TCP流量,然后仅关注UDP流量。例如:

<强> TCP:

tshark -Y "tcp" -T fields -e tcp.srcport -e tcp.dstport

<强> UDP:

tshark -Y "udp" -T fields -e udp.srcport -e udp.dstport

(我省略了所有其他tshark选项,只关注我试图说明的选项。)