Sniffing w sieci lokalnej z wykorzystaniem dd-wrt na Linksysie WRT54GL

Czasami zachodzi potrzeba posłuchania tego co w domowej sieci piszczy. W tym konkretnym przypadku, zaistniała potrzeba posłuchania co tam ciekawego dzieje się u jednego z hostów (mały system embedded, więc instalowanie na nim czegokolwiek mija się z celem). Swoją drogą, liczyłem, że będzie okazja napisać coś więcej o systemie w czasie prac nad dyplomem, ale termin za dwa miesiące, a praca praktycznie nierozpoczęta (chociaż raz, nie ja jestem winny za taką obsuwę).

Wszystko, czego potrzebujemy, to router z iptables (w moim przypadku dd-wrt, ale powinno pójść równie łatwo na OpenWRT i innych). Tutaj dwie zasadnicze uwagi odnośnie dd-wrt. Po pierwsze, potrzebujemy oprogramowania w wersji przynajmniej Mini, wersja Micro nie wystarczy. Po drugie, build oznaczony jako stabilny (v24 SP1 [Stable] Build 10020) jest za stary, potrzebujemy iptables w wersji przynajmniej 1.3.0, w obrazie zalecanym (v24 preSP2 [Beta] Build 13064) znajdziemy już wersję 1.3.7.

Wszystko czego potrzebujemy, to dwie proste reguły dla iptables:

iptables -t mangle -A POSTROUTING -d 192.168.1.88 -j ROUTE --tee --gw 192.168.1.66

iptables -t mangle -A PREROUTING -s 192.168.1.88 -j ROUTE --tee --gw 192.168.1.66

Najprościej oczywiście ustawić je po zalogowaniu przez SSH. W tym momenci wszystko jest już gotowe, pakiety z obserwowanego IP są kopiowane do nas, wystarczy odpalić więc Wiresharka, ustawić Capture Filter na host 192.168.1.88 i obserwować co się dzieje ;)

Mnie akurat interesował tylko protokół HTTP, ale ten filtruję już po stronie widoku:

Ostatnią rzeczą o której należało by wspomnieć jest usunięcie regułek z iptables:iptables -L -n -t mangle sprawdzamy, które reguły chcemy usunąć, a następnie

iptables -t mangle -D PREROUTING 1

iptables -t mangle -D POSTROUTING 1

gdzie 1 jest indeksem reguły w danym łańcuchu.

Kategorie: dd-wrt, IT, Linux, Ogólne, Praca dyplomowa, Studia, Techblog
2 komentarze