【问题标题】:How to get source and destination port with tshark regardless of protocol?无论协议如何,如何使用 tshark 获取源端口和目标端口?
【发布时间】:2017-05-27 19:22:03
【问题描述】:

我正在尝试从数据包中获取一些字段,例如目标 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'

---祝福。

【问题讨论】:

  • 并非所有协议都有端口。 TCP 和 UDP 地址称为端口,但还有其他四层协议,很多不使用端口。 IPv4 和 IPv6 等第 3 层协议不使用端口,它们有 IP 地址。

标签: networking tcp ip wireshark tshark


【解决方案1】:

找出字段名称的最简单方法可能是在 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 选项,只关注我试图说明的选项。)

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 2010-09-06
    • 2014-02-10
    相关资源
    最近更新 更多