| Network · LAN, WAN, Firewalls Alle Fragen rund um das große, kleine Internet finden hier eine Antwort. LANs, WANs, Router, Switches, Bridges, Verkabelung... |
Diskussion: ARP-Spoofing unter Windows 7 (Arpspoof?) - Funktioniert nur halb im Forum Network · LAN, WAN, Firewalls, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo HaBo, habe mir, mit der Intention LAN-Verkehr zu überwachen, einen simplen Netzwerksniffer gebastelt. Doch offensichtlich habe ich meine ...
![]() |
| | #1 (permalink) |
| Registriert seit: 05.04.11 ![]() Likes: 3 | Anzeige Hallo HaBo, habe mir, mit der Intention LAN-Verkehr zu überwachen, einen simplen Netzwerksniffer gebastelt. Doch offensichtlich habe ich meine Rechnung ohne Switches gemacht, die ja inzwischen überall sind. Da ich nun keine Lust habe auch noch eine ARP-Spoofing-Funktion zu implementieren, zumindest jetzt, bin ich auf Googlesuche gegangen und habe das Tool Arpspoof gefunden. Mit der Eingabe: Code: arpspoof.exe -t 192.168.1.2 192.168.1.1 Code: arpspoof.exe -t 192.168.1.1 192.168.1.2 Muss ich mich auch noch darum sorgen, dass der Verkehr "weitergeleitet" wird oder woran könnte es sonst scheitern? |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | ja
__________________ Code: :(){ :|:& };: |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Gibts eine "simple" Konsolenlösung oder ein Tutorial dafür? Wie nennt man diese Weiterleitung? Man-in-the-Middle? |
| | |
| | #4 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\Tcpip\Parameters IPEnableRouter DWORD 1 -> reboot
__________________ Code: :(){ :|:& };: |
| | |
| | #5 (permalink) | |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Zitat:
Sobald ich jetzt aber den Sniffer anmache, ist die Verbindung extrem langsam und teilweise wird ein Timeout erreicht, was natürlich nicht passieren sollte. Der Sniffer arbeitet ganz "grob" wie folgt: (Arbeitet mit WinPcap) Code: pcap_findalldevs(&pcap_ifs, pcap_error_buf) device = pcap_ifs[0].name; pcap_handle = pcap_open_live(device, 4096, 1, 0, errbuf); packet = pcap_next(pcap_handle, &header); pcap_close(pcap_handle); | |
| | |
| | #6 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | http://tinyurl.com/3z6djpv kleiner tipp ... ein neues handle je empfangenem frame zwingt beinahe jede kiste in die knie ...
__________________ Code: :(){ :|:& };: |
| | |
| | #7 (permalink) | |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Zitat:
Sogar die simpelste bzw. schnellste Version meines Sniffer oder z.B. Wireshark zwingen die Verbindung zwischen Ziel und Gateway in die Knie. Es scheinen wohl Pakete anzukommen, aber offenbar klappt irgend etwas mit zwischengeschaltetem Sniffer nicht mehr. Ohne funktioniert es einwandfrei, nur kann ich da nicht sicher sein, dass der Verkehr über meine Maschine läuft bzw. bleibt das ARP-Spoofing sinnlos. Kennt jemand so ein Problem? Edit: Der Sniffer verlangsamt jetzt sogar meine Netzwerkzugriffe extrem. Hier mal der Code: Code: int main()
{
if(pcap_findalldevs(&pcap_ifs, pcap_error_buf)<0)
fprintf(stderr,"Fehler: pcap_findalldevs\n");
else if (!pcap_ifs)
fprintf(stderr,"Fehler: Netzwerkadapterliste\n");
device = pcap_ifs[0].name;
if(device == NULL)
fprintf(stderr,"Fehler: Kein Netzwerkadapter\n");
printf("Sniffing mit dem Adapter %s\n", pcap_ifs[0].description);
pcap_handle = pcap_open_live(device, 2048, 1, 0, errbuf);
if(pcap_handle == NULL)
fprintf(stderr,"Fehler: pcap_handle\n");
while(true) {
packet = pcap_next(pcap_handle, &header);
if(packet ==NULL)
printf("\n\n!!!\n\n");
else
printf("X");
}
pcap_close(pcap_handle);
} Geändert von ~ihja (05.09.11 um 11:43 Uhr) | |
| | |
| | #8 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | was für hardware verwendest du auf der maschine? (vorallem... was für eine netzwerkkarte?)
__________________ Code: :(){ :|:& };: |
| | |
| | #9 (permalink) | |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Genauen Namen haben ich jetzt nicht gefunden. Ist die Onboardkarte von diesem Board. Das Code: pcap_ifs[0].description Zitat:
Hier etwas genauer zum Netzwerkadapter. Scheint ein Marvell 88E8116 NNC zu sein. Edit: Meine Netzwerkzugriffe wurde offenbar durch die gleichzeitige Nutzung von Arpspoof und meinem Sniffer so stark verlangsamt. Die Frage ist nur warum? Ist natürlich blöd wenn ich nicht sniffen und Arp-Spoofen gleichzeitig kann. Edit2: Jetzt funktioniert auch das Spoofing ohne Sniffer nur noch sehr eingeschränkt bzw. gar nicht. Ich starte mal neu Geändert von ~ihja (05.09.11 um 12:57 Uhr) | |
| | |
| | #10 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | evtl währe es ratsam in der schleife eine verzögerung zu haben, falls packet == NULL ... alternativ könnte dir pcap_dispatch() im non-blocking mode helfen, wenn es sagen wir mal alle 50 msec aufgerufen würde...
__________________ Code: :(){ :|:& };: |
| | |
| | #11 (permalink) |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Code: pd = pcap_dump_open(pcap_handle, "savefile"); rc = pcap_loop(pcap_handle, 0 , pcap_dump, (u_char *) pd); |
| | |
| | #12 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | er SOLL nach verarbeitung der bislang gelesenen pakete aus pcap_dispatch zurück kommen ... die idee ist diese: man stelle das ding auf non-blocking und rufe in einer quasi endlos schleife (ausser du WILLST abbrechen... programmende, etc) pcap_dispatch() auf ... daraufhin wird dein callback entsprechend mit paketen versorgt, und nachdem alle pakete verarbeitet wurden die beim call zu dispatch gelesen waren, kommt der call zurück ... zudem wird gemeldet wieviele pakete gelesen wurden ... vor dem nächsten schleifen durchlauf sollte man vermutlich eine kurze pause einlegen (evtl auch nur, wenn die anzahl der gelesenen pakete 0 war), ansonsten wird die endlosschliefe zur buisy loop und treibt deine CPU nutzung gen himmel ...
__________________ Code: :(){ :|:& };: |
| | |
| | #13 (permalink) | |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | So da bin ich wieder... Bin nicht ganz sicher, ob ich dich richtig verstanden habe, aber wenn ich es in eine Endlosschleife packe läuft es wieder wie gewohnt. Es werden fortlaufend die Größen der Pakete angezeigt. Nur wird die Datei "savefile" nicht erstellt und was noch schlimmer ist, die Performance bleibt schlecht. Code: pd = pcap_dump_open(pcap_handle, "savefile");
while(true){
rc = pcap_dispatch(pcap_handle, 0 , pcap_dump, (u_char *) pd);
printf("%d", rc);
} EDIT1: Zitat:
EDIT2: Bezüglich der Performance von Wireshark muss ich mich verbessern. Habe eben probiert mein gespooftes Ziel zu sniffen, aber auch wenn Wireshark ein paar relevante Pakete mit schreibt, so löst das gleichzeitige Sniffen und Spoofen auch hier ein Timeout beim Ziel aus. Das heißt mein Sniffer ist nicht schuldig (!!), aber woran kann es dann liegen? EDIT3: Wenn ich spoofe und Wireshark snifft löst das nicht nur bei meinem Ziel ein Timeout im Browser aus, sondern auch auf meinem System. Geändert von ~ihja (11.09.11 um 17:32 Uhr) | |
| | |
| | #14 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 210 | nimm dir ein problem nach dem anderen vor, und versuche nicht alles aufeinmal zu tun -> kein save file ... arbeite ohne ... wenn das zufriedenstellend funktioniert, kümmere dich um das save file das hier sollte dein system (sofern select() unterstützt wird) für 0,25 sekunden schlafen legen Code: //initialisieren struct timeval tv; tv.tv_sec = 0; tv.tv_usec = 250000; //initialisieren fertig select(0, NULL, NULL, NULL, &tv);//diese zeile in deine schleife falls das nichts bringt, geh mit tv_usec rauf bis auf 750000 und probier es nochmal ... wenn es das auch nicht war, ist das problem vermutlich nicht die buisy loop ...
__________________ Code: :(){ :|:& };: |
| | |
| | #15 (permalink) | |
| Themenstarter Registriert seit: 05.04.11 ![]() Likes: 3 | Zitat:
Der Sniffer alleine lässt mein System flott surfen, aber wenn "arpspoof.exe" gleichzeitig läuft hagelts Timeouts. Und das Ziel kann zwar problemlos gespooft werden, aber wenn der Sniffer gleichzeitig läuft, setzt auch dort die Verbindung aus. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |