Etherrape/Netzwerktools

From Lochraster

Jump to: navigation, search

Implementation verschiedener Netzwerktools:

In Arbeit sind:

traceroute (schwierig)
arpspoof (wäre lustig)

fertig sind:

ping (ICMP-ECHO_REQUEST)
portscan (SYN-Stealth SCAN)


[edit] Portscan

Der Portscan wird als SYN-STEALTH-SCAN Scan durchgefürt. Es wird ein Port angefragt (SYN) und dann auf eine SYN-ACK vom Server gewartet.

Zuerst muss process_packet() in network.c gepatcht werden:

einfach unter "case UIP_ETHTYPE_IP:" postprogresspacket(uip_buf);; einfügen

Dann Header in etherrape.c, clock.c (für periodische Ausführung) und network.c einbinden (#include nettools.h).

Für periodische sequentielle Ausführung dann:

   if (clock_global.current_time % scan_interval == 1) {
       nettools_next();
   }

in clock_periodic(clock.c) einfügen.

In etherrape.c einbauen und z.B. hiermit testen (portscan_init(startport, endport, ip1, ip2, ip3, ip4)):

       case 'w':   portscan_init(5900,5900,192,168,178,33); //findet vnc an port 5900
                   break;
       case 'q':   portscan_init(70,120,192,168,178,33); //findet apache an port 80
                   break;

--> es funtioniert !!!


[edit] Ping

Ping aka ICMP-ECHO-REQUEST


Änderrungen, wie in Portscan (Header, clock.c, network.c) durchführen.

Die ICMP-Antworten werden mit Code und Type angezeigt. (Siehe http://de.wikipedia.org/wiki/Internet_Control_Message_Protocol) Meine Umsetzung ist etwas dreckig, was den arp-request vor dem Ping angeht, aber es geht.


Anmerkung: Um eine Verbindung ins Internet durch ein Gateway (DSL-Router) zu machen, muss man die Gateway-Addresse mit

       uip_ipaddr(ipaddr, 192,168,178,1);
       uip_setdraddr(ipaddr);

erst setzen.