Oprogramowanie open source nie grzeszy zazwyczaj jakością, lecz od każdej reguły istnieją przecież wyjątki. Ostatnio znalazłem właśnie taki wyjątek; należy on do tej kategorii programów, które wymagają pewnego przygotowania, jeśli chcemy z nich korzystać efektywnie. Lecz mimo tego, iż jest to dość specjalistyczne narzędzie, nie sposób przy jego pomocy zrobić krzywdy swojemu systemowi. Warto się więc mu przyjrzeć, bo wśród tego rodzaju programów jest ono prawdopodobnie jednym z najlepszych.
Mam na tu na myśli analizator pakietów sieciowych Wireshark. Przy jego pomocy możemy bez większych problemów podejrzeć, cóż takiego jest przesyłane wzdłuż biegnących od naszego komputera kabli (względnie fal radiowych). Takie programy są popularnie nazywane snifferami i mogą służyć do bardzo wielu pożytecznych celów oraz kilku innych, mniej chwalebnych ;-)
Wśród wyróżniających cech Wiresharka trzeba na pewno wymienić interfejs, który jest przejrzysty, a przy tym funkcjonalny – co nie zdarza się często nawet wśród nie-GPL-owych programów. Bez większych problemów możemy złapane pakiety przeglądać i filtrować według wielu różnych kryteriów. Mogą one obejmować także cechy dot. specyficznych protokołów sieciowych (możemy np. wyświetlić pakiety HTTP z żądaniami typu GET). A tych wspieranych przez program jest zresztą całkiem sporo. Pakiety należące do znanych protokołów są oczywiście automatycznie rozkodowywane i pokazywane w przyjaznej postaci z podziałem na warstwy OSI, pola w nagłówkach oraz zasadniczą treść.
To oczywiście nie wszystko; do innych bardzo użytecznych funkcji należy chociażby możliwość wyodrębnienia całego strumienia TCP (czyli np. “rozmowy” jakiejś aplikacji ze zdalnym serwerem). Podobnie przydatnych narzędzi jest zresztą więcej i ciężko byłoby je wszystkie tu wymienić.
Dodatkowo program ten jest wybitnie wszędobylski i posiada równoważne wersje dla prawie każdego sensownego systemu operacyjnego, z Windows i przeróżnymi Linuksami włącznie. Biorąc pod uwagę to, że działa sprawnie, szybko i intuicyjnie, trzeba przyznać, że to nieoceniony instrument dla programisty piszącego aplikacje sieciowe.
Jak znajdujesz takie rzeczy? :)
Hmm… ten Wireshark ma GUI niezwykle podobne do Ethereala. Warto zresztą też wspomnieć o ettercap, trochę mniej “przyjazny” ale o równie dużej ilości funkcji.
Kompletnie nie rozumiem co masz do oprogramowania open source? Uważasz że Solaris, Linux, BSD (czyli de facto oprogramowanie dużej części serwerów) jest słabej jakości? Twierdzisz, że Java jest słaba? Także duża ilość routerów Cisco działa na oprogramowaniu słabej jakości? Mac OS X też zawiera w sobie złej jakości elementy?
Nie chcę tu wyjść na żadnego fanatyka open-source bo nim nie jestem. Sprzeciwiam się jednak takiemu uogólnianiu, bo chociaż często oprogramowanie open-source nie grzeszy atrakcyjnym wyglądem, to jego jakość pod względem ilości błędów i funkcjonalności nie jest wcale gorsza (a czasami i lepsza) od produktów zamkniętych. Oczywiście zdarzają się niedopracowane produkty, ale należy pamiętać, że coraz więcej korporacji rozumie, że na open-source można się nieźle dorobić i tworzą produkty na prawdę wysokiej jakości.
Dlatego też uważam bezsensowne łączenie sposobu dystrybucji programu z jego jakością.
O ile się nie mylę to Wireshark to kontynuacja Ethereala(coś w tym stylu)
No rzeczywiście, sprawdziłem, i okazało się, że Wireshark to po prostu Ethereal ze zmienioną nazwą. Najlepsze jest to, że stara strona Ethereala nadal istnieje i nie ma tam żadnej wzmianki o tym.
Zdaje się, że Wireshark to taki “prawie fork” Ethereala.
“Sprzeciwiam się jednak takiemu uogólnianiu (…)”
Zwolennicy OS robią z kolei często uogólnienie w drugą stronę, utożsamiając z OS wszystko, co w oprogramowaniu najlepsze (i analogicznie wszystko co najgorsze z oprogramowaniem zamkniętym). Ta połzłośliwa dygresja w notce to miała być drobna aluzja do tego właśnie. Dla mnie też sposób dystrybucji nie jest kryterium jakości, ale ponarzekać przecież zawsze można ;-)
Heh, ja znowu fanatycznie walczę z fanatyzmem ;) A jako że IMO tylko w paru dziedzinach zamknięte oprogramowanie nie ma konkurencji (Photoshop, Visual Studio) to takie stwierdzenie niezbyt przypadło mi do gustu ;)
Tak wracając do Wiresharka, to potrafi to cudo wykonać ARP spoofing, żeby działało także na switchach?
Wydaje mi się, że nie. Przynajmniej w helpie jest napisane, że program sam żadnego ruchu nie generuje (poza DNS resolving), więc ARP poisoning na pewno odpada. A spoofing wymaga forwardowania pakietów, zatem w zasadzie podpada pod to samo.
Sądzę też, że to raczej nie jest funkcjonalność standardowa w przypadku snifferów ;P
ettercap ma taką funkcjonalność ;)
Poza tym sniffer, który samodzielnie działa tylko w wypadku sieci opartych na hubie jest IMHO trochę niekompletny.