So erfassen Sie alle eingehenden Pakete auf der Netzwerkkarte, auch wenn diese Pakete nicht zu mir gehören

13

AFAIK, die Netzwerkkarte empfängt alle Pakete von der Leitung in einem lokalen Netzwerk, lehnt jedoch diejenigen Pakete ab, deren Zieladresse nicht der IP entspricht.

Ich möchte eine Anwendung entwickeln, die die Internetnutzung der Benutzer überwacht. Jeder Benutzer hat eine feste IP-Adresse.

Ich und einige andere Personen sind mit einem DES-108 Fast Ethernet Unmanaged Desktop-Switch mit 8 Ports verbunden

Wie bereits erwähnt, möchte ich alle Traffics aller Benutzer erfassen, nicht nur die Pakete, die mir gehören.

Wie soll ich meine Netzwerkkarte oder andere Komponenten zwingen, alle Pakete zu empfangen?

m.r226
quelle
1
Kaufen Sie einen günstigen und verwalteten Switch für ca. 30 € und aktivieren Sie die Portspiegelung auf dem Link zum Gateway.
Max Ried

Antworten:

27

AFAIK, die Netzwerkkarte empfängt alle Pakete von der Leitung in einem lokalen Netzwerk, lehnt jedoch diejenigen Pakete ab, deren Zieladresse nicht der IP entspricht.

Korrektur: Es werden die Pakete zurückgewiesen, deren Ziel- MAC- Adresse nicht der MAC-Adresse (oder dem Multicast oder zusätzlichen Adressen in seinem Filter) entspricht.

Dienstprogramme zur Paketerfassung können das Netzwerkgerät trivial in den Promiscuous-Modus versetzen. Dies bedeutet, dass die obige Prüfung umgangen wird und das Gerät alles akzeptiert, was es empfängt. Tatsächlich ist dies normalerweise die Standardeinstellung: Mit tcpdumpmüssen Sie die -pOption angeben , um dies nicht zu tun.

Das wichtigere Problem ist, ob die Pakete, an denen Sie interessiert sind, überhaupt über das Kabel zu Ihrem Sniffing-Port transportiert werden. Da Sie einen nicht verwalteten Ethernet-Switch verwenden, ist dies mit ziemlicher Sicherheit nicht der Fall. Der Switch beschließt, Pakete, die Ihnen nicht gehören, von Ihrem Port zu entfernen, bevor Ihr Netzwerkgerät sie sehen kann.

Dazu müssen Sie eine Verbindung zu einem speziell konfigurierten Spiegelungs- oder Überwachungsport auf einem verwalteten Ethernet-Switch herstellen.

Celada
quelle
1
Oder ein Ethernet-Hub ... wenn einer auf dem Dachboden verrostet ist :) Ich bezweifle jedoch, dass es für 1000Base-T einen gibt. Laut Wikipedia unterstützen Gigabit-Hubs nur Half-Duplex-Verbindungen und sind jetzt veraltet.
chx
1
@chx, alle echten Hubs unterstützen nur Halbduplex. Persönlich habe ich noch nie einen 1000Base-T gesehen.
Celada
Ich glaube, dass dies mit der langsamen Einführung von Gigabit-Ethernet zu tun hat - obwohl der 802.3ab-Standard 1999 herauskam, war die Aufnahme sehr langsam, bis Intel 2003/2004 erstmals den 875P-Chipsatz mit dem dedizierten CSA-Bus für Gigabit-Ethernet herausbrachte und dann Im Jahr 2004 übernahm PCI Express mit endlich genügend Bandbreite für Gigabit Ethernet. Und bis dahin waren Schalter billig genug.
CHX
Der Ethernet-Switch überträgt die Frames nicht immer. Es hat eine eigene Switching-Tabelle (enthält die Zuordnung von Switch-Port und MAC-Adresse) für das Unicasting des Frames. Wenn die Tabelle keinen Eintrag für den MAC im Frame enthält, wird der Frame gesendet / geflutet. Ihr Desktop wird niemals andere Frames erhalten. Wie in der Antwort müssen Sie einen speziellen Switch verwenden, um alle Frames zu erfassen, die an Ihrem Switch ankommen.
Valarpirai
8

In den frühen Versionen von Ethernet-Hubs (nicht Switches) sind gesendete Pakete für alle Hosts im Subnetz verfügbar, aber Hosts, die nicht der beabsichtigte Empfänger sind, sollten ignoriert werden.

Offensichtlich dauerte es nicht lange, bis die Subnetze gesättigt waren. Daher wurde die Switch-Technologie entwickelt, um die Probleme zu lösen, und eine der Maßnahmen bestand darin, dass der Netzwerk-Switch nur Pakete für diesen Host an diesen Port weiterleitet (plus andy broadcast traffic) ).

Dies erschwert die Netzwerküberwachung / -überwachung, da Sie nur Pakete abrufen können, die für Ihren Host bestimmt sind. Dies wurde unter Sicherheitsgesichtspunkten als eine gute Sache angesehen, unter Netzwerküberwachungsgesichtspunkten jedoch als nicht so gut. Damit die Netzwerküberwachung funktioniert, implementieren Anbieter eine Funktion namens Portspiegelung. Dies muss auf dem Netzwerk-Switch konfiguriert werden, und der folgende Link sollte für D-Link-Produkte in die richtige Richtung weisen. Sie finden es irgendwo in Ihrer Switch-Verwaltungssoftware oder in der Webadministrationsoberfläche. Wenn Sie diese Funktionen nicht finden, wird die Funktionalität möglicherweise nicht in diesem bestimmten Gerät bereitgestellt.

http://www.dlink.com/de/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring

Thomas Carlisle
quelle
2

Zuerst müssen Sie Ihre Netzwerkkarte in den Promiscuous-Modus schalten. Angenommen, Ihre NIC-Schnittstelle ist eth0.

root@linux#ifconfig eth0 promesc

Wenn Sie sich in einem Switch-Netzwerk befinden, wird Ihr Sniffing auf die Kollisionsdomäne reduziert, die Sie mit Ihrem Switch-Port verbinden. Sie können laufen, macofum die Weiterleitungstabelle des Switches zu überwältigen.

root@linux#macof -i eth0

Dann können Sie mit wiresharkoder tcpdumpden gesamten Datenverkehr erfassen.

root@linux#tcpdump -i eth0 -w outputfile

Wenn Sie nicht in einem geswitchten Netzwerk sind, aktivieren Sie einfach den Promiscuous-Modus und verwenden Sie tcpdump.

Ahmed Chiboub
quelle
1
tcpdumpaktiviert den Promiscuous-Modus für Sie. Sie müssen es nicht manuell tun (und denken Sie daran, es rückgängig zu machen, wenn Sie fertig sind).
Celada
0

Sie erfinden das Rad neu.

Angenommen, Sie haben ein einfaches Netzwerk mit Clients, die eine Verbindung zu Switches herstellen, mit einem Standard-Gateway zum Internet, dann müssen Sie nur auf diesem Standard-Gateway-Gerät überwachen. Dies ist ein Choke-Point, um den gesamten Datenverkehr zwischen einem LAN-Client und dem Internet anzuzeigen.

Ich gehe davon aus, dass der Datenverkehr von LAN-Client zu LAN-Client nicht von Interesse ist, da bei allen IP-Adressen innerhalb desselben IP-Subnetzes der lokale Datenverkehr das Standardgateway nicht berührt.

Wenn Sie wirklich den gesamten Datenverkehr anzeigen möchten, muss sich jeder Benutzer in seinem eigenen IP-Netzwerk befinden und der Datenverkehr zu den anderen Netzwerken erfolgt über das Standardgateway. Sie können jeder Person ein / 28 zuweisen und sie kann sich 14 IPs zuweisen.

Ihr durchschnittlicher Router für Privatanwender wird damit nicht viel anfangen können. Sie müssen eine dedizierte Firewall-Distribution ausprobieren. Persönlich wäre Pfsense meine Anlaufstelle, aber es gibt viele Möglichkeiten.

Criggie
quelle