Jak przechwycić pakiety USB specyficzne dla urządzenia za pomocą tshark?

1

Mam instrument USB i chcę na nim przechwytywać pakiety. Uruchomiłem, .\tshark.exe -Da interfejs USB ma numer 6, a następnie uruchomiłem polecenie: .\tshark.exe -c 100 -i 6wydawało się, że przechwytuje ruch USB z mojego urządzenia.

Potem przyszło mi do głowy, że kiedy to urządzenie jest uruchomione, może istnieć wiele urządzeń USB, podłączonych do systemu i samo określenie może nie wystarczyć. Znam identyfikator urządzenia (0x0009) i identyfikator dostawcy (0x08f7), w jaki sposób mogę określić dokładnie urządzenie, które chcę przechwycić, za pomocą tshark?

Korzystam z programu tshark w wierszu polecenia systemu Windows 8.

j0h
źródło
Wyrażenie filtru przechwytywania może być czymś podobnym usb.device_address == #i po prostu musisz podać adres urządzenia dla tej wartości.
Pimp Juice IT
jak mogę uzyskać adres urządzenia USB?
j0h

Odpowiedzi:

1

Jak przechwycić pakiety USB specyficzne dla urządzenia za pomocą tshark?

Znam identyfikator urządzenia (0x0009) i identyfikator dostawcy (0x08f7), w jaki sposób mogę określić dokładnie urządzenie, które chcę przechwycić, za pomocą tshark?

Czasami warto spojrzeć na tshark (1) - strona Linux człowiek i tshark - strona Wireshark człowieka i -fi -iprzełączników opcji.

Dodatkowo spójrz na filtry przechwytywania Wireshark i odniesienie do filtru wyświetlania USB Wireshark, które mogą być przydatne w tworzeniu odpowiednich poleceń do filtrowania i dopasowywania do twoich potrzeb.

Możesz użyć wyrażenia filtru przechwytywania, takiego jak usb.device_address == #lub usb.addr == #za pomocą -fprzełącznika, aby nakazać sniffowi przechwytywanie tylko pakietów z określonego urządzenia USB.

tshark - strona podręcznika Wireshark

Filtr przechwytywania lub odczytu można określić za pomocą - f lub - R opcja, w którym to przypadku całe wyrażenie filtru musi być określone jako pojedynczy argument (co oznacza, że ​​jeśli zawiera spacje, musi być cytowane), lub może być określone za pomocą argumentów wiersza polecenia po argumentach opcji, w którym to przypadku wszystkie argumenty po argumentach filtru są traktowane jako wyrażenie filtru. Filtry przechwytywania są obsługiwane tylko podczas przechwytywania na żywo; filtry odczytu są obsługiwane podczas przechwytywania na żywo i podczas odczytu pliku przechwytywania, ale wymagają od TShark większej pracy podczas filtrowania, więc może być bardziej prawdopodobne, że stracisz pakiety pod dużym obciążeniem, jeśli używasz filtra odczytu. Jeśli filtr jest podany wraz z argumentami wiersza poleceń po argumentach opcji, jest to filtr przechwytywania, jeśli przechwytywanie jest wykonywane (tj.-r podano opcję).

-f <capture filter>

Ustaw wyrażenie filtru przechwytywania.

Ta opcja może wystąpić wiele razy. Jeśli zostanie użyty przed pierwszym wystąpieniem opcji -i, ustawi domyślne wyrażenie filtru przechwytywania. W przypadku użycia po opcji -i ustawia wyrażenie filtru przechwytywania dla interfejsu określonego przez ostatnią opcję -i występującą przed tą opcją. Jeśli wyrażenie filtru przechwytywania nie jest określone, używane jest domyślne wyrażenie filtru przechwytywania, jeśli jest podane.

źródło


tshark (1) - strona podręcznika użytkownika systemu Linux

-i <capture interface>|-

Ustaw nazwę interfejsu sieciowego lub potoku do przechwytywania pakietów na żywo.

Nazwy interfejsów sieciowych powinny pasować do jednej z nazw wymienionych w „ tshark -D ” (opisanych powyżej); liczba, jak podaje „ tshark -D ”, może być również użyta. Jeśli używasz systemu UNIX, „ netstat -i ” lub „ ifconfig -a ” może również działać w celu wyświetlenia nazw interfejsów, chociaż nie wszystkie wersje systemu UNIX obsługują opcję -a dla ifconfig.

Jeśli nie określono żadnego interfejsu, TShark przeszukuje listę interfejsów, wybierając pierwszy interfejs niezwiązany z pętlą zwrotną , jeśli istnieją interfejsy niezwiązane z pętlą zwrotną , i wybierając pierwszy interfejs pętli zwrotnej, jeśli nie ma interfejsów niezwiązanych z pętlą zwrotną. Jeśli nie ma żadnych interfejsów, TShark zgłasza błąd i nie rozpoczyna przechwytywania.

Nazwy potoków powinny być nazwami FIFO (nazwane potoki) lub „-”, aby odczytać dane ze standardowego wejścia. Dane odczytywane z potoków muszą mieć standardowy format libpcap.

Uwaga: wersja Win32 TShark nie obsługuje przechwytywania z rur!

źródło

Pimp Juice IT
źródło
To jest operacja na systemie Windows 8.1, ale spojrzę na stronę podręczną, jeśli uważasz, że to pomoże
j0h
1
@ j0h Przełączniki poleceń i opcje powinny działać tak samo z poziomu wiersza poleceń, jak strona podręcznika systemu Linux. Dołączyłem także stronę manuala tshark Wireshark. Myślę, że po prostu musisz zbudować swoje polecenia z odpowiednim wyrażeniem dla przechwytywania przez filtr urządzeń USB, które chcesz przechwycić. W przeciwnym razie -iprzełącznik powinien być specyficzny dla interfejsu, a inne linki mogą być pomocne w odpowiedniej składni, aby to zrobić (jeden z nich; filtr lub -iprzełącznik). Możesz oznaczyć swoje pytanie jako Windows lub Windows 8.1.
Pimp Juice IT