Bardzo często dostaję pytania o sniffing, m.in. jak podsłuchać Gadu-Gadu i jaki sniffer jest najlepszy. Zazwyczaj osoby te nie mają pojęcia o co pytają i trudno im cokolwiek wytłumaczyć. Zacznijmy więc od definicji, której zrozumienie jest naprawdę bardzo ważne.
Sniffing polega na przechwytywaniu i analizowaniu pakietów sieciowych docierających do naszych interfejsów sieciowych. Pragnę zwrócić uwagę na słowo “docierających”, którego wiele osób nie potrafi zrozumieć. Żeby odebrać pakiet MUSI on dotrzeć do jednego z naszych interfejsów sieciowych (modem, karta sieciowa itp). Tutaj muszę więc rozczarować tych, którzy myślą, że będą mogli podsłuchiwać kogoś, kto jest na drugim końcu świata czy też w innym mieście. Zdrowy rozsądek przecież mówi, że do naszego komputera docierają pakiety adresowane do nas. Inaczej mielibyśmy zatkane łącze miliardami pakietów innych ludzi. Innymi słowy podsłuchiwać można tylko to, co jest się w stanie usłyszeć. Zaraz ktoś jednak powie, że przecież jest pełno snifferów, ludzie ich używają i jakoś działają. Tak, ale nie tak jak wielu to sobie wyobraża. Odbierać pakiety innych ludzi można tylko w określonych sytuacjach. Po pierwsze praktycznie niemożliwe jest to w miejscach innych niż sieć lokalna. Po drugie zdecydowana większość obecnych sieci lokalnych opiera się na switchach.
Kiedyś bardziej popularne były huby (koncentratory), które po odebraniu pakietu na jednym porcie rozsyłały go na inne porty i w ten sposób można było widzieć pakiety od innych osób. Switche tak nie robią. Wysyłają pakiet tylko na jeden port. Wyjątkiem są pakiety rozgłoszeniowe, wysyłane do wszystkich. Tak więc jeśli mamy modem, Neostradę czy Chello to nikogo nie podsłuchamy. Szanse mamy tylko w sieci lokalnej. Jak są huby to nie ma problemu. Jak są switche to trzeba je oszukać tak, żeby kierowały ruch do nas. A jak oszukać? To już zależy od konkretnego switcha. Jest wiele sposobów (np. ARP spoofing, przepełnianie tablicy adresów MAC). Nie jest moim celech ich tu przedstawianie. Ten tekst powstał po to, żeby uświadomić co to jest sniffing i uniknąć głupich pytań o podsłuchowanie GG kierowanych do mnie w mailach czy przez komunikatory. Tak więc siedząc na modemie czy czymś podobny zobaczymy tylko swój ruch. W sieci lokalnej zobaczymy dodatkowo pakiety rozgłoszeniowe, kierowane do wszystkich, szczególnie wiele będzie można zauważyć pakietów ARP. Dopiero jeśli mamy szczęście i w sieci są huby albo uda nam się ogłupić switche, będziemy mogli przechwytywać pakiety innych osób.
Jeszcze kilka słów o snifferach. To, że jeden jest lepszy od drugiego można ocenić głównie po tym jak potrafi analizować pakiety: składać je w sesje, stosować filtry, wyszukiwać informacje, np. hasła. To nie od sniffera zależy ile przechwyci tylko od konfiguracji i topologii sieci. Z fajnych snifferów należy wymienić Ethereal. Jest jeszcze jeden warunek sniffingu: interfejs sieciowy, który chcemy wykorzystać do przechwytywania pakietów należy przestawić w tryb promiscuous (takie ustawienie będzie gdzieś w opacjach sniffera). Inaczej widać będzie tylko pakiety kierowane do naszego komputera a także wysyłane z naszego komputera. Natomiast pakiety przesyłane między innymi komputerami będą niewidoczne.
Na koniec jedna uwaga. Sniffery służą przede wszystkim administratorom do rozwiązywania problemow z siecią. Można dzięki nim także sprawdzić co robią w sieci programy uruchomione na naszym komputerze. Używanie snifferów do podsłuchiwania innych osób jest nieetyczne i nielegalne.