Jak włączyć sprawdzanie sumy kontrolnej TCP w Tshark (Terminal WireShark)

3

Kiedy uruchamiam polecenie

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

Dane wyjściowe to:

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]

Jak mogę obliczyć pole sumy kontrolnej TCP? Jakiego polecenia mogę użyć, aby tak się stało?


źródło

Odpowiedzi:

3

tshark -o tcp.check_checksum:TRUE ... da rade.

Uwagi:

  1. tshark używa bieżących wartości prefs z bieżącego profilu, chyba że podano inaczej. Wartości domyślne są używane, jeśli preferencje nigdy nie zostały zmienione i zapisane (w Wireshark).

  2. tshark -G currentprefs wyświetla aktualne prefiksy (tekst opisowy, nazwa i wartość pre)

    tshark -G defaultprefs wyświetla domyślne prefiksy (ditto).

    więc:

    tshark -G currentprefs | egrep -B2 "^#?tcp\."wyświetli listę wszystkich prefiksów tcp i ich bieżących wartości (wraz z tekstem opisowym). Tylko te prefiksy, których nie poprzedza #, mają wartości inne niż domyślne.

Jeśli chcesz się upewnić, że tshark używa domyślnych prefów z tylko określonymi przez ciebie zmianami prefs:

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

Zobacz tshark -hi stronę man tshark, aby uzyskać informacje na temat opcji tshark.


źródło