Mit welcher Software kann ich entfernte TCP- und UDP-Sitzungen fälschen?

0

Zum Testen möchte ich einen Server so programmieren, dass er als konfigurierbare Remoteserver fungiert, dh dass ein Server in meinem Netzwerk als Router fungiert. Anstatt jedoch Pakete an das öffentliche Netzwerk weiterzuleiten, kann ich sie lokal verarbeiten . Gibt es eine Software, ein Framework, eine Bibliothek oder eine Plattform, die dies unterstützt und die unter Linux ausgeführt werden kann?

Daniel Hilbert
quelle

Antworten:

0

In der typischen Ausgangssituation führt Ihr Router einen DHCP-Server aus und gibt seine eigene IP- / Subnetzmaske als Standard-Gateway- / Subnetzmaske an. Dies bewirkt, dass andere Computer im Netzwerk es als Router verwenden, es sei denn, Sie konfigurieren sie statisch.

Das isc-dhcp-server Mit dem Paket unter Debian können Sie beispielsweise einen DHCP-Server auf einem PC ausführen. Sie sollten zuerst den auf Ihrem Router deaktivieren, da dies sonst eine reine Chance ist, die ein Client abhört.

Wenn Ihre Clients mithilfe von DNS ermitteln, mit welcher IP-Adresse eine Verbindung hergestellt werden soll, können Sie an dieser Stelle Ihren eigenen DNS-Server einrichten bindRichten Sie kleine lokale Berechtigungen ein, um bestimmte Hostnamen abzufangen, und konfigurieren Sie sie so, dass sie an die Nameserver Ihres Internetdienstanbieters oder an andere öffentliche DNS-Anbieter wie Google, OpenDNS oder OpenNIC weitergeleitet werden.

Wenn der Remote-Dienst Zertifikate verwendet, um zu überprüfen, mit wem er eine Verbindung herstellt, schlägt dies fehl oder es werden Warnungen ausgegeben, da dies ein Man-in-the-Middle-Angriff ist.

Ein Linux-System kann zwischen zwei Netzwerkadaptern weiterleiten, wenn zwei installiert sind. Viele Heimrouter sind genau das - ein Linux-Kernel, der auf einer MIPS- oder ARM-CPU ausgeführt wird. Eine Suche bietet viele Tutorials, wie Sie die Portweiterleitung aktivieren und mit NAT zum Laufen bringen iptables. In diesem Fall würde Ihr Heimrouter vollständig aus dem Mix genommen, es sei denn, Sie wollten ihn für drahtlose Verbindungen verwenden (und Sie würden nicht den "Router" -Teil Ihres Routers verwenden, sondern nur das WLAN).

Und darin iptables Konfiguration können Sie einrichten REDIRECT Ziele, die ausgehenden Datenverkehr in Richtung bestimmter IPs transparent erfassen und an andere IPs umleiten, z. B. Ihre lokalen IPs oder die in einer DMZ.

Wenn der Remotedienst Zertifikate verwendet, um zu überprüfen, mit wem er eine Verbindung herstellt, schlägt er fehl oder gibt Warnungen aus, da dies ein Man-in-the-Middle-Angriff ist.

Seien Sie bereit für ein Studium mit bind und iptables. Die Implementierungsdetails sind zu umfangreich, um sie hier bereitzustellen, aber es ist durchaus möglich.

LawrenceC
quelle
Vielen Dank für eine sehr ausführliche Antwort! Ich bin auf der Suche nach etwas in diese Richtung, aber ich habe programmatische Kontrolle über jede neue TCP-Verbindung (und eingehende UDP-Paket). Gibt es eine Möglichkeit für mich, Rückrufe für diese Ereignisse in C oder im Idealfall in einer höheren Sprache wie Python zu erhalten?
Daniel Hilbert
Sehen Sie sich das NFQUEUE-Ziel an. Ein Beispiel aus der Praxis finden Sie unter nfblock.
LawrenceC