T-shark este un frate puternic de linie de comandă al Wireshark, instrumentul de capturare a pachetelor.
La nivelul de verbozitate de bază, obțineți un rând de text per pachet, cu doar câteva informații de bază. Exemplu:
tshark -n -i eth1
Aceasta produce:
1 0,000000000 ec:46:70:00:fc:ad â 01:1b:19:00:00:00 PTPv2 124 Anunțați mesaj
2 0.364764469 00:60:e9:2e:bd:f8 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Req Message
3 0.364796580 00:0b:ab:45:b4:d0 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Resp Message
4 0.364830284 00:0b:ab:45:b4:d0 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Resp_Follow_Up Message
5 0.704678057 00:0b:ab:45:b4:d0 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Req Message
6 0.720285509 00:60:e9:2e:bd:f8 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Resp Message
7 0.729102466 00:60:e9:2e:bd:f8 â 01:80:c2:00:00:0e PTPv2 68 Path_Delay_Resp_Follow_Up Message
8 0.757962110 ec:46:70:00:fc:ad â 01:1b:19:00:00:00 PTPv2 60 Mesaj de sincronizare
9 0.767993002 ec:46:70:00:fc:ad â 01:1b:19:00:00:00 PTPv2 60 Mesaj de urmărire
10 1.000119946 ec:46:70:00:fc:ad â 01:1b:19:00:00:00 PTPv2 124 Anunțați mesaj
Dacă apelați tshark cu argumentul -V, acesta devine verbose = disectează conținutul pachetelor. De exemplu. pentru PTP, primesc poate două pagini de listare disecată per pachet. Un scurt fragment, de exemplu:
Protocolul de timp de precizie (IEEE1588)
0000 .... = transportSpecific: 0x0
...0 .... = 802.1as conform: Fals
.... 1011 = messageId: anunță mesaj (0xb)
.... 0010 = versiunePTP: 2
Lungimea mesajului: 110
subdomeniuNumăr: 0
steaguri: 0x003c
0... .... .... .... = PTP_SECURITY: Fals
.0.. .... .... .... = Profil PTP Specific 2: Fals
..0. .... .... .... = Profil PTP Specific 1: Fals
.... .0.. .... .... = PTP_UNICAST: Fals
.... ..0. .... .... = PTP_TWO_STEP: Fals
...etc. Dump-ul verbos este într-adevăr un tapet.
De asemenea, puteți selecta câmpuri individuale de imprimat, folosind argumentele -T și -e. Exemplu:
tshark -i eth1 -T câmpuri -e ptp.v2.messageid -e ptp.v2.sequenceid -e ptp.v2.correction.ns
Aceasta poate produce:
2 2087 0
3 2087 0
10 2087 0
0 14206 13255
8 14206 0
Rețineți că câmpul MessageId, prima coloană de mai sus, este tipărit numeric (și zecimal). Rețineți că acest câmp specific codifică „tipul mesajului”. De exemplu, 0xB codifică mesajul Anunț. Wireshark/T-shark știu cum să-l interpreteze și vă oferă o descriere textuală în ieșirea Verbose extinsă. De asemenea, în ieșirea compactă implicită (un rând pe pachet), veți primi și acel messageId interpretat. Wireshark cu aromă de GUI are o coloană în grilă, numită Info, care conține această interpretare textuală a tipului de mesaj.
Doar...cum pot cere această interpretare textuală a ptp.v2.messageid, când folosesc o ieșire personalizată „câmpuri” folosind -T și -e? Fie interpretarea corespunzătoare câmpului ptp.v2.messageid în mod specific, fie câmpul „Info” derivat. Exista vreo posibilitate?
Folosesc exemplele mele specifice, dar întrebarea este posibil mai largă = cum să-i cer lui tshark o interpretare textuală a unui anumit câmp folosind -T / -e.