我正试图从数据包中获取一些字段,例如目的地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'
---祝福。
答案 0 :(得分:3)
找出字段名称的最简单方法可能是在Wireshark中打开一个包含感兴趣字段的捕获文件,然后展开“数据包详细信息”,直到找到您感兴趣的字段为止,最后选择该字段。将在底部的状态栏中显示字段名称。
您还可以使用在线Wireshark Display Filter Reference搜索字段。
关于端口,它们对于每个协议都是唯一的,因此如果要查看TCP源和目标端口,则必须专门过滤tcp.srcport
和tcp.dstport
,如果要查看UDP源和目标端口,然后您必须专门过滤udp.srcport
和udp.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
选项,只关注我试图说明的选项。)