Muszę zrobić następny.
Robię dla mojego projektu dyplomowego jakiś sniffer w C działający w openwrt firmware. "Zrobiłem już wszystko, ale mam jedną rzecz, której nie wiem od czego zacząć.
Mam następną prywatną sieć: http://img443.imageshack.us/img443/999/sinttulo2de.png
To, co robi mój sniffer, to węszenie wszystkich pakietówprzez mój router, a kiedy jeden z tych pakietów trafi do któregoś z moich podłączonych komputerów, jeśli ten komputer śpi, budzi go. Jakby to był automatyczny budzik w sieci.
Więc mam problem. Przypuśćmy, że PC3 wysyła pakiet do PC4, tablica arp z przełącznika wie, gdzie jest PC4, i poprowadzi ten pakiet do bramy PC4. Jeśli tak się stanie, mój sniffer nigdy nie zobaczy tego pakietu, ponieważ sniffer działa w procesorze routera i widzi tylko pakiety, które go przechodzą.
Muszę zrobić następny. Kiedy PC4 zasypia i mój sniffer wykrywa to (już to zrobione), sniffery muszą wysłać fałszywą transmisję ze źródłem adresu IP od PC4, aby oszukać przełącznik i sprawić, by pomyślał, że PC4 jest teraz podłączony w bramce, która idzie do router. Zatem następny pakiet, który zostanie wysłany z PC3 na PC4, przejdzie do routera zamiast do PC4, a mój sniffer to zobaczy.
Mam nadzieję, że mnie rozumiesz, przepraszam za mój angielski.
Odpowiedzi:
0 dla odpowiedzi № 1To, czego szukasz, nazywa się "Nieuzasadnione ARP".
Znalazłem implementację c tutaj.
Ale znowu, moim zdaniem, jeśli nie przejdzie przez router, nie sniff go.