Tshark wyświetla „florence” i „eforward” zamiast numerów portów źródłowych / docelowych


0

Używam rawcap na adapterze pętli zwrotnej Windows7. Uciekłem

telnet localhost 2181

Wygenerowano 15 pakietów. Aby wyświetlić dane wyjściowe, uruchomiłem

wireshark\tshark -r \shared\pcap.pcap

A oto wynik

florence   0.000000    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 56748  Destination port: florence 56748
florence   0.103006    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 56748  Destination port: florence 56748
eforward   9.458541    127.0.0.1 -> 127.0.0.1    TCP 52 49435 > eforward [SYN] Seq=0 Win=8192 Len=0 MSS=65495 WS=256 SACK_PE
49435   9.466541    127.0.0.1 -> 127.0.0.1    TCP 52 eforward > 49435 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=65495 WS=256
eforward   9.474542    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [ACK] Seq=1 Ack=1 Win=8192 Len=0 49435
florence  12.022688    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 60846  Destination port: florence 60846
florence  12.083691    10.0.0.22 -> 255.255.255.255 UDP 138 Source port: 60846  Destination port: florence 60846
eforward  13.144752    127.0.0.1 -> 127.0.0.1    TCP 42 49435 > eforward [PSH, ACK] Seq=1 Ack=1 Win=8192 Len=2 49435
49435  13.146752    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=1 Ack=3 Win=7936 Len=0 eforward
eforward  14.877851    127.0.0.1 -> 127.0.0.1    TCP 42 49435 > eforward [PSH, ACK] Seq=3 Ack=1 Win=8192 Len=2 49435
49435  14.878851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=1 Ack=5 Win=7936 Len=0 eforward
49435  14.880851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [FIN, ACK] Seq=1 Ack=5 Win=7936 Len=0 eforward
eforward  14.881851    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [ACK] Seq=5 Ack=2 Win=8192 Len=0 49435
eforward  14.881851    127.0.0.1 -> 127.0.0.1    TCP 40 49435 > eforward [FIN, ACK] Seq=5 Ack=2 Win=8192 Len=0 49435
49435  14.882851    127.0.0.1 -> 127.0.0.1    TCP 40 eforward > 49435 [ACK] Seq=2 Ack=6 Win=7936 Len=0 eforward

Więc NIE rozumiem tego. Szukam informacji o porcie 2181. Zamiast tego widzę… Florence .. Co to znaczy? Jak mogę zobaczyć poprawny numer portu docelowego?

AKTUALIZACJA Odpowiedź Guya Harrisa jest na miejscu (i zostanie zaakceptowana). Chciałbym tutaj uzyskać dodatkowe wyjaśnienie: Poprawione dane wyjściowe (po dodaniu -n do wiersza poleceń tshark) to:

2181 117.286708    127.0.0.1 -> 127.0.0.1    TCP 40 60723 > 2181 [ACK] Seq=5 Ack=2 Win=8192 Len=0 60723
2181 117.287708    127.0.0.1 -> 127.0.0.1    TCP 40 60723 > 2181 [FIN, ACK] Seq=5 Ack=2 Win=8192 Len=0 60723
60723 117.287708    127.0.0.1 -> 127.0.0.1    TCP 40 2181 > 60723 [ACK] Seq=2 Ack=6 Win=7936 Len=0 2181

Port docelowy (2181) jest teraz poprawnie wyświetlany. Ale proszę wyjaśnij: jakie jest 40 w tej sekcji:

TCP 40 2181 > 60723 

Sugeruję przeczytanie dokumentu: wireshark.org/docs/man-pages/tshark.html . Jest tu także kilka przykładów, z których niektóre pokazują, jak wyświetlać porty: chrisbrenton.org/2009/10/analyzing-packets-with-tshark . Możesz użyć odniesienia do filtru wyświetlania tutaj: wiki.wireshark.org/DisplayFilters
MaQleod

Dzięki, ale problem polega na tym, że jesteśmy ograniczeni do jakiejkolwiek wydajności rawcap. tshark w systemie Windows nie może zebrać ruchu adaptera sprzężenia zwrotnego. Dlatego poznanie możliwości wykrywania ruchu w usłudze tshark prawdopodobnie nie ma zastosowania. Jedynym sposobem, w jaki tshark wchodzi w grę, jest udoskonalenie sposobu, w jaki interpretuje / wyświetla zrzut wyjściowy z rawcap.
javadba

„ale problem polega na tym, że jesteśmy ograniczeni do tego, co produkuje rawcap”. Dane wyjściowe rawcap to plik pcap, który zawiera surową zawartość pakietu, w tym numery portów - NIE nazwy, które widzisz. „Jedynym sposobem, w jaki tshark wchodzi do gry, jest udoskonalenie sposobu, w jaki interpretuje / wyświetla zrzut wyjściowy z rawcap.” Sposób, w jaki interpretuje zrzut, jest tym, co chcesz poprawić; zobacz moją odpowiedź.

Odpowiedzi:


1

„florencja” i „eforward” odpowiadają wpisom w pliku „usługi” Wiresharka; plik „serwisowy” był pierwotnie plikiem UN * X, podając nazwy numerów portów - jest również w systemie Windows, a Wireshark zawiera teraz własny plik „usługowy”, którego używa do mapowania numerów portów na nazwy.

Dokumentacja strony podręcznika TShark mówi na liście flag wiersza poleceń:

   −n  Disable network object name resolution (such as hostname, TCP and
       UDP port names); the −N flag might override this one.

   −N  <name resolving flags>
       Turn on name resolving only for particular types of addresses and
       port numbers, with name resolving for other types of addresses and
       port numbers turned off.  This flag overrides −n if both −N and −n
       are present.  If both −N and −n flags are not present, all name
       resolutions are turned on.

       The argument is a string that may contain the letters:

       C to enable concurrent (asynchronous) DNS lookups

       m to enable MAC address resolution

       n to enable network address resolution

       N to enable using external resolvers (e.g., DNS) for network
       address resolution

       t to enable transport‐layer port number resolution

więc jeśli uruchomisz go z flagą „-n”, spowoduje to wyłączenie rozpoznawania numerów portów w warstwie transportowej, aby nie mapowało numerów portów na nazwy. Nie będzie również mapować adresów IP na nazwy hostów; jeśli chcesz, uruchom TShark z „-n” i „-N n”.


To przydatna informacja, zamierzam ją wypróbować.
javadba

Po wprowadzeniu pewnych korekt powyższe działa. W szczególności tylko -n działa w systemie Windows (nie -N). Zaktualizowałem OP z małym dodatkowym pytaniem, proszę spojrzeć.
javadba

-N prawdopodobnie działa, o ile powoduje, że TShark próbuje rozwiązać adresy IP na nazwy; jeśli jednak próba się nie powiedzie, wyświetli się adres, więc wygląda tak samo, jak gdyby nie włączono rozpoznawania adresu sieciowego. 127.0.0.1, 10.0.0.22 i 255.255.255.255 mogą nie zostać przetłumaczone na nazwę hosta, szczególnie jeśli używany jest tylko DNS.

1

„Co to jest 40 w tej sekcji?” to osobne pytanie, więc dam mu osobną odpowiedź.

TShark pokazuje kolumny określone w pliku konfiguracyjnym Wireshark; prawdopodobnie masz standardowe kolumny plus kolumnę „niestandardową” dla tcp.dstportpola, pokazującą docelowy numer portu TCP. Jedną ze standardowych kolumn jest długość pakietu warstwy łącza; prawdopodobnie to właśnie wyświetla.


dzięki, nagrodziłem. proszę rozważyć upvote.
javadba
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.