Hallo Zusammen Ich habe ein etwas exotisches Problem. Um meinen eigenen TCP/IP Stack zu testen, lasse ich diesen auf meinem Linux PC laufen und nutze dann tools wie z.B. telnet, auf dem gleichen Computer. Mein Problem ist, weil ich über einen Packet Socket mit meinem TCP/IP Stack Ethernetframes verschicke, benötige ich dafür ein Netzwerkinterface mit einer IP und einer MAC Adresse. Mein Problem ist, dass ich das normale linux Loopback Device nicht verwenden kann, da dieses keine mac adresse hat und der Kernel sich bei diesem um jedes Packet im Netz 127.0.0.0/8 und nicht nur um die einer einzelnen Adresse wie z.B. 127.0.0.1 kümmert. Bridges und dummy-devices in Linux bringen auch nicht das gesuchte Ergebnis. Wenn ich ein W-Lan interface nehme, brauche ich einen WLan-Router, und manche Senden Ethernetframes mit identischer Source und Destination mac nicht zurück. Selbiges gillt für Ethernetinterfaces, aber dafür habe ich bereits ein eigenes Physisches Loopbackdevice gebaut, wo einfach RX und TX verbunden ist. Dieses kann ich aber bei meinem Surface Pro 3 Tablet nicht verwenden, da dieses nur WLan hat. Der Handy WLan ist auch keine Lösung, weil dann der Akku in wenigen Stunden leer ist. Nun zu meiner Frage: Kennt jemand einen Treiber für Linux, der ein Netzwerkinterface mit Mac Adresse bereitstellt, bei welchem das Empfangen der selben Ethernetframes, die Gesendet werden, simuliert wird und bei welchem sich der Kernel nur um die IP des Interfaces kümmert, und nicht um das gesammte Subnetz? Oder kennt jemand alternativ einen kleinen kaufbaren USB Stick der dies tut und sich als ethernet schnittstelle ausgibt? Ideal wäre es wenn der Treiber keine untere grenze für die Grösse von Ethernet Packeten hätte, wie dies beim WLan Treiber meines Surface Pro 3 der fall ist, der immer mindestens 114 bytes haben will. Dies ist jedoch optional, weil ich dafür einen workaround habe. Mit Freundlichen Grüssen Daniel Abrecht
Daniel A. schrieb: > Nun zu meiner Frage: > Kennt jemand einen Treiber für Linux, der ein Netzwerkinterface mit Mac > Adresse bereitstellt, bei welchem das Empfangen der selben > Ethernetframes, die Gesendet werden, simuliert wird und bei welchem sich > der Kernel nur um die IP des Interfaces kümmert, und nicht um das > gesammte Subnetz? Ich würd mal nach tun/tap suchen. Ein tap-Device sollte das können.
Daniel A. schrieb: > Dieses kann ich aber bei meinem Surface Pro 3 Tablet nicht verwenden, da > dieses nur WLan hat. Du kannst einen USB-LAN-Adapter verwenden, und in den wiederum einen RJ45-Stecker mit zwei gekreuzten Drähten stecken.
Danke für die schnelle Rückmeldung. @Andre K. (andreko) Eine VM ist natürlich eine Möglichkeit, aber dennoch etwas Umständlich und Rechenintensiv. @Rufus Τ. Firefly (rufus) (Moderator) Ja, dass habe ich mir auch schon überlegt, aber diese USB-LAN-Adapter sind meistens relativ gross. Rolf M. schrieb: > Ich würd mal nach tun/tap suchen. Ein tap-Device sollte das können. Das ist die Lösung! Es hat zwar nicht gereicht ein TAP Device zu erstellen, aber mit etwas code geht es Einwandfrei. Der von mir Verwendete code ist im Anhang. Kompilieren: gcc -std=c99 echotap.c -o echotap Ausführen: ./echotap Konfigurieren: ifconfig echotap 192.168.x.y/24
:
Bearbeitet durch User
Daniel A. schrieb: > aber diese USB-LAN-Adapter sind meistens relativ gross. Irgendeinen Tod muss man sterben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.