如何在 Tshark 中启用 TCP 校验和验证(WireShark 终端)

如何在 Tshark 中启用 TCP 校验和验证(WireShark 终端)

当我运行命令时

tshark -i 3 -c 100 -V less 1514 src 192.168.10.57 and dst 192.168.10.60 and tcp

输出为:

Transmission Control Protocol, Src Port: commplex-link (5001), Dst Port: 63077 (63077), Seq: 1, Ack: 1, Len: 0

Source port: commplex-link (5001)
Destination port: 63077 (63077)
[Stream index: 0]
Sequence number: 1    (relative sequence number)
Acknowledgement number: 1    (relative ack number)
Header length: 20 bytes
Flags: 0x10 (ACK)
    0... .... = Congestion Window Reduced (CWR): Not set
    .0.. .... = ECN-Echo: Not set
    ..0. .... = Urgent: Not set
    ...1 .... = Acknowledgement: Set
    .... 0... = Push: Not set
    .... .0.. = Reset: Not set
    .... ..0. = Syn: Not set
    .... ...0 = Fin: Not set
Window size: 40960
**Checksum: 0x95e0 [validation disabled]**
    [Good Checksum: False]
    [Bad Checksum: False]

如何计算 TCP 校验和字段?我可以使用什么命令来实现这一点?

答案1

tshark -o tcp.check_checksum:TRUE ...就可以了。

笔记:

  1. tshark 使用当前配置文件中的当前首选项值,除非另有说明。如果首选项从未更改和保存(在 Wireshark 中),则使用默认值。

  2. tshark -G currentprefs列出当前的首选项(描述性文本、首选项名称和值)

    tshark -G defaultprefs列出默认首选项(同上)。

    所以:

    tshark -G currentprefs | egrep -B2 "^#?tcp\."将列出所有 tcp 首选项名称及其当前值(以及一些描述性文本)。只有那些未以 # 开头的首选项才具有除默认值以外的值。

如果您想确保 tshark 仅使用您指定的首选项更改的默认首选项:

tshark -C Default -o tcp.check_checksum:TRUE ...

有关 tshark 选项的信息,请参阅tshark -htshark 手册页。

相关内容