Forum: PC Hard- und Software Netzwerkverkehr mitschneiden


von Markus M. (mmax)


Lesenswert?

Hallo,

Um den Netzwerkverkehr zwischen meinem Mikrocontroller und einem Server 
(extern im Internet) mitzuschneiden, muss ich mich ja mit meinem Rechner 
dazwischenhaengen.

Also will ich den MC an meinem Rechner via eth0 anschliessen, der 
wiederrum via wlan0 mit dem ADSL Router verbunden ist. Im Prinzip will 
ich nur UDP Telegramme von und an das Port 5555 mitschneiden, kann aber 
auch den gesamten Traffik durchtunneln.

Da ich mich mit iptables nund co. nicht so auskenne und das einarbeiten 
nicht so schnell geht, wollte ich fragen ob jemand dafuer eine iptable 
Regel parat hat.

Wuerde mir viel Zeit erpsaren!

Herzlichen Dank,
Max

: Verschoben durch Admin
von Christian D. (burning_legend)


Lesenswert?

Also wenn du es als echter "Man in the Middle" machen willst, dann musst 
du das wohl mit iptables machen. Fuer Anfaenger kann ich da ein Tool 
namens Firewall Builder[1] empfehlen. Damit kannst du sehr leicht Rules 
zusammenbauen und anwenden.

Ansonsten musst du dich nicht unbedingt zwischen den Controller und den 
Switch haengen. Du kannst dich auch einfach mit an den Switch haengen 
und mittels Arpspoof[2] die ARP Table veraendern, um den Verkehr an 
deinem PC mittels Wireshark mitzuschneiden. [3]


Gruesse,
Christian



[1] http://www.fwbuilder.org/
[2] http://arpspoof.sourceforge.net/
[3] http://su2.info/doc/arpspoof.php

von ♪Geist (Gast)


Lesenswert?


von Markus M. (mmax)


Lesenswert?

@Christian D:
Arpspoof kannte ich noch nicht, werd ich aber versuchen. Ich will ja nur 
mit wireshark schaun ob und was an den MC geschickt wird. Sollte also 
auch damit gehen

@Geist:
Auch eine gute Idee. Leider hab ich die Harware hier nicht und ich muss 
das heut enoch hinbekommen.

Achja, eigentlich haengt mein MC ja gar nicht direkt am Router, es sitzt 
ja schon ein wrt54 (ddwrt firmware) dazwischen, der im Briged mode 
arbeitet. Dort kann ich mir auch via "iptables -L" die Regeln anzeigen 
lassen. Kann ich die nich auf meinen Rechner uebernehmen. Schaut z.B so 
aus:
1
Chain INPUT (policy ACCEPT)
2
target     prot opt source               destination         
3
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED 
4
DROP       udp  --  anywhere             anywhere            udp dpt:route 
5
ACCEPT     udp  --  anywhere             anywhere            udp dpt:route 
6
DROP       igmp --  anywhere             anywhere            
7
ACCEPT     0    --  anywhere             anywhere            state NEW 
8
logaccept  0    --  anywhere             anywhere            state NEW 
9
DROP       0    --  anywhere             anywhere            
10
11
Chain FORWARD (policy ACCEPT)
12
target     prot opt source               destination         
13
ACCEPT     0    --  anywhere             anywhere            
14
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU 
15
lan2wan    0    --  anywhere             anywhere            
16
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED 
17
ACCEPT     0    --  anywhere             anywhere            state NEW 
18
DROP       0    --  anywhere             anywhere
Bekomm ich irgendwie die iptables szntax zum erzeugen dieser Regeln 
raus?

von Markus M. (mmax)


Lesenswert?

arpspoof funktioniert leider doch nicht so einfach wie gedacht. Ich sehe 
zwar all die ARP Telegramme aber nicht das UDP, das ich eigentlich 
brauche. Weder aus- noch eingehend und rasu gehen ganz bestimmt welche.

Kann sein das es ein Problem ist, wenn nur mein Rechner und der MC am 
Switch haengen?

lG,
Max

von Christian D. (burning_legend)


Lesenswert?

Das Problem, warum Arpspoof nicht funktioniert, ist, dass du noch einen 
Router dazwischen geschaltet hast. Dieser korrigiert vermutlich die ARP 
Tabellen.

Dann probier es doch einfach mit dem FWBuilder. Steht unter GPL und es 
gibt ein Beispiel fuer ein simples Gateway. Ansonsten benutz diese 
Rules[1]

Dritte Moeglichkeit waere einfach TCPDUMP auf deinem dd-wrt zu benutzen 
und den Dump mittels Wireshark einzulesen.

[1] 
http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html

von Markus M. (mmax)


Lesenswert?

So, ich habs jetzt mit einfachen iptables umgesetzt. Falls das noch 
jemand benoetigen kann, hier das Script das mir alles von eth0 
(10.0.1.1), auf dem der MC haengt (10.0.1.2), via wlan0 (10.0.0.x) ins 
www und wieder zurueckt tunnelt:
1
#!/bin/bash
2
3
/sbin/iptables --flush
4
/sbin/iptables --table nat --flush
5
/sbin/iptables --delete-chain
6
/sbin/iptables --table nat --delete-chain
7
8
/sbin/iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
9
/sbin/iptables --append FORWARD --in-interface eth0 -j ACCEPT
10
11
echo 1 > /proc/sys/net/ipv4/ip_forward
12
13
/sbin/ifconfig eth0 10.0.1.1 netmask 255.255.255.0 up
14
/sbin/route add -net 10.0.1.0 netmask 255.255.255.0 dev eth0
Es muessen natuerlich die benoetigten modeule im kernel geladen sein. Da 
beim verbinden ins wlan die ethernet schnittstelle nicht konfiguriert 
wird, muss man das manuell machen. Und mit dem route Eintrag kann ich 
den MC auch noch von meinem Rechner erreichen.

Damit kann man mit Wireshark wirklich praktisch jegliche Kommunikation 
zwischen MC und der Aussenwelt mitschneiden.

lG,
Max

von mar IO (Gast)


Lesenswert?

Markus Manninger schrieb:
> Damit kann man mit Wireshark wirklich praktisch jegliche Kommunikation
> zwischen MC und der Aussenwelt mitschneiden.

Wie schon erwähnt, einfach einen Ethernet-Tab bauen oder einen Hub 
benützen. Geht wunderbar und hängt direkt an der Ltg. ohne etwas 
dazwischen. Beim Ehternet-Tab ist noch zu erwähnen, dass man beide 
Richtungen getrennt hat (vom MC -> PC bzw. MC <- PC).

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

mar IO schrieb:
> Ethernet-Tab

Wenn Du das mit "p" schreibst, hast Du bei der Suche mehr Chancen.
"Tap" im Sinne von Anzapfung.

von Markus M. (mmax)


Lesenswert?

Ach sch... die ARP Telegramme gehen da nicht drueber.
Da jemand eine Idee?

von Frank K. (fchk)


Lesenswert?

Wie gesagt: besorge Dir entweder in der Bucht einen 10 MBit Hub für so 
etwas, denn ein Hub ist nur ein Sternverteiler, der ein auf einem Port 
eingehendes Paket auf alle anderen Ports verteilt. So kannst Du alles 
mithören.

Alternativ kannst Du Dir ja auch einen vernünftigen, managebaren Switch 
kaufen, z.B. einen HP Procurve 1810V2-8G (J9802A) oder -24G (J9803A). Da 
kannst Du den Traffic von und zu einem Port auf einen anderen Port 
spiegeln und dort anzapfen. Diese Switche können noch einige andere 
nette Sachen und sind ihr Geld wirklich wert.

fchk

von __tom (Gast)


Lesenswert?

Markus Manninger schrieb:
> Ach sch... die ARP Telegramme gehen da nicht drueber.
> Da jemand eine Idee?

Warum lässt du tcpdump nicht direkt auf dem Router laufen? Du kannst den 
Dump auch in eine Datei schreiben und dann mit Klicki-bunti-Wireshark 
dir dann die Pakete ansehen.

von Markus M. (mmax)


Lesenswert?

Ja, denke das ist die einfachste Methode.

Aber im Moment hab ich andere Probleme -> bekomm meinen mySmartUSB Light 
Adapter nicht zum laufen und kann nicht mehr flashen :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
Lade...