Jak sprawdzić wykorzystywany protokół sieciowy w OS X
Jakiś czas temu przy okazji publikacji wpisu o wykorzystaniu SMB2 w najnowszym OS X Mavericks , Marek zapytał mnie jak zweryfikować, czy nasze połączenie rzeczywiście odbywa się przy użyciu wspomnianego protokołu. Stwierdziłem, że prawdopodobnie nie tylko on chciałby się tego dowiedzieć, a możliwość weryfikacji z czego korzystają nasze połączenia sieciowe dla wielu osób może być bardzo przydatna.
W celu weryfikacji całego ruchu, jaki odbywa się przy użyciu naszego interfejsu sieciowego, potrzebujemy odpowiedniego narzędzia. W tym celu wykorzystamy powszechnie znany i niezwykle popularny program Wireshark. Jest to narzędzie pozwalające na monitorowanie i przechwytywanie poszczególnych pakietów sieciowych. Możliwości, jakie otrzymujemy wraz instalacją są olbrzymie, a to czego my będziemy w tym programie poszukiwać, to najprostsze z możliwych zastosowań.
Wireshark do działania wymaga środowiska X11, które nie jest dostępne domyślnie w najnowszych odsłonach OS X. Na szczęście środowisko to jest nadal wspierane i można w nie uzbroić swój system po pobraniu odpowiedniej paczki tworzonej jako Open Source i nazwanej XQuartz. Na stronie głównej projektu, macie udostępnioną odpowiednią paczkę dla Waszego systemu. Po pobraniu przeprowadźcie domyślną instalację. Dla pewności właściwego działania środowiska zalecam ponowne uruchomienie systemu po zakończeniu procesu instalacji – twórcy wspominają jedynie o ponownym zalogowaniu.
Po zapewnieniu środowiska X11 możemy przystąpić do instalacji potrzebnego nam narzędzia. W tym celu pobierzcie ze strony developera najświeższą wersję Wiresharka. Instalacja wygląda standardowo. W trakcie pierwszego uruchomienia uzbrójcie się w odrobinę cierpliwości, może to chwilkę zająć ze względu na przygotowanie środowiska graficznego. Kiedy już program się uruchomi musicie dokonać wyboru interfejsu, na którym chcecie nasłuchiwać pakiety sieciowe.
Po dokonaniu wyboru uruchamiacie nasłuch przy użyciu przycisku Start. Przed waszymi oczyma ukaże się długa i szybko zmieniająca się lista informacji. Tak, są to wszystkie pakiety, które wędrują „do” i „z” waszego interfejsu sieciowego.
Przyjmijmy, że chcemy odpowiedzieć na pytanie, które jak wspomniałem zadał mi Marek. Chcemy sprawdzić, czy nasz transfer danych do zasobu sieciowego odbywa się przy użyciu protokołu SMB2. W tym celu uruchamiamy operację kopiowania dowolnych danych na nasz zasób sieciowych i w Wireshark sprawdzamy czy rzeczywiście SMB2 jest w użyciu. W tym celu w trakcie operacji uruchamiamy nasze narzędzie nasłuchowe i jego polu szybkiego filtrowania wpisujemy wartość SMB2. Jeżeli takie pakiety istnieją nasze okno będzie wyglądało analogicznie do poniższego.
Jak widać, transmisja w moim przypadku rzeczywiście przebiega przy użyciu protokołu SMB2, więc możliwości serwerów plikowych Windows są wykorzystywane w pełni, co jest jedną z ważniejszych dla mnie nowości w OS X Mavericks.
Oczywiście, w podobny sposób możecie przeprowadzać szereg innych testów. Wireshark to niesamowicie rozwinięte narzędzie, które pozwala na pełny i profesjonalny monitoring pakietów sieciowych. Być może w przyszłości, na łamy Applesauce trafią inne przykłady wykorzystania tego oprogramowania, tymczasem możecie pobuszować po pakietach we własnym zakresie.




A nie lepiej skorzystać z Cocoa Packet Analyzer lub Packet Peeper? Nie są może tak zaawansowane jak Wireshark, ale nie wymagają instalacji X11.
Rzeczywiście można z nich skorzystać, jednak mam w planach dodatkowe publikacje na temat Wireshark i będzie to dobra podstawa do późniejszych publikacji.
Dodatkowo bardzo lubię to narzędzie :)