Erfassen Sie eingehenden Datenverkehr in tcpdump
In tcpdump, wie kann ich Sie erfassen alle eingehenden IP-Verkehr bestimmt sind, zu meiner Maschine? Ich interessiere mich nicht über meinen lokalen Verkehr.
Sollte ich einfach sagen:
tcpdump ip dst $MyIpAddress and not src net $myIpAddress/$myNetworkBytes
... oder bin ich etwas fehlt?
Kommentar zu dem Problem
Was ist "icoming IP-Verkehr"? Pakete an die broadcast-Adresse werden auch kommen.
InformationsquelleAutor der Frage Ricky Robinson | 2012-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Bash-shell versuchen, diese:
oder dieser äquivalenten Formulierung:
Auf meinem system aufgelöst wird, um so etwas wie:
Wenn Sie sehen wollen, Sie den gesamten Datenverkehr, um Ihre Ziel-host, nicht nur TCP-Datenverkehr, die Sie tun könnten:
Einige Hinweise:
Änderte ich
$myIpAddress/$myNetworkBytes
zu$MyNetworkAddress/$myNetworkBytes
. Dies ist, weil die offensichtliche Absicht der Regel, um auszuschließen, die den Verkehr von Ihrem lokalen Netzwerk aus, und die richtigen Weg , geben Sie eine Netzwerkadresse angeben, das Netzwerk der niedrigsten IP-Adresse (die aufgerufen wird, die Netzwerk-Adresse) /Netzmaske. Wenn Sie angeben, eine andere Adresse als die niedrigste Adresse des Bereichs für ein Netzwerk mit einer Netzmaske von $myNetworkBytes, dann erhalten Sie die Fehlermeldung:Im ersten Beispiel 'tcp' ist ein Stichwort in der libpcap expression language (Mann pcap-filter) , während im zweiten Beispiel, 'tcp' ist verwendet als Wert von
ip proto
. Um zu zeigen, dass die 'tcp' in der zweiten Instanz ist ein Wert und nicht ein anderer, 'tcp' Schlüsselwort, die ich brauche, um zu entkommen die 'tcp' mit einem Doppel-backslash. Es hat ein Doppel-backslash, so dass der Bash-interpreter übergeben wird, ein einzelner backslash auf der libpcap-interpreter (Bash isst den ersten umgekehrten Schrägstrich, libpcap bekommt die zweite.) Zur Reduzierung der Doppel-escape-Verwirrung, es könnte gut sein, um in die Gewohnheit der doppelten Quotierung der gesamte Ausdruck einen Teil des Befehls:Zu vermeiden, Warnungen und überraschungen, es ist besser, um die interface-Bezeichner
-i eth0
oder was auch immer-Schnittstelle, die Sie wünschen. Nicht alle Schnittstellen, die unbedingt eine IP-Adresse zugeordnet und ohne bestimmten, Sie könnten Verkehr sehen, dass Sie nicht beabsichtigt hatte, um zu sehen. Dies gilt insbesondere bei Systemen, die über den network-manager laufen, der scheint seine eigenen Vorstellungen von Schnittstellen hinzufügen, und wenn.InformationsquelleAutor der Antwort Eli Rosencruft
Keines der obigen funktioniert sehr gut für eine box mit mehreren ips.
Dies funktionierte sehr gut für mich auf einem DNS-server mit vielen ips gebunden:
tcpdump -l -n -i pub dst port 53 and inbound
Funktioniert möglicherweise nicht auf allen Versionen von
tcpdump
obwohl.InformationsquelleAutor der Antwort krad
-Q-Richtung
--Richtung=Richtung
Wählen Sie senden/empfangen-Richtung, die Richtung, für die Pakete
eingefangen werden. Mögliche Werte sind
in',
out " und "inout'. Nichtauf allen Plattformen verfügbar.
InformationsquelleAutor der Antwort LolMafia