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?
linux
networking
packet
m.r226
quelle
quelle
Antworten:
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
tcpdump
müssen Sie die-p
Option 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.
quelle
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
quelle
Zuerst müssen Sie Ihre Netzwerkkarte in den Promiscuous-Modus schalten. Angenommen, Ihre NIC-Schnittstelle ist eth0.
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,
macof
um die Weiterleitungstabelle des Switches zu überwältigen.Dann können Sie mit
wireshark
odertcpdump
den gesamten Datenverkehr erfassen.Wenn Sie nicht in einem geswitchten Netzwerk sind, aktivieren Sie einfach den Promiscuous-Modus und verwenden Sie
tcpdump
.quelle
tcpdump
aktiviert 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).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.
quelle