如何在 Tshark(Terminal WireShark) 中啟用 TCP 校驗

如何在 Tshark(Terminal WireShark) 中啟用 TCP 校驗

當我運行命令時

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 手冊頁。

相關內容