Forum: PC-Programmierung Netzwerk Sniffer


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von leo (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe da eine Frage bezüglich einem Sniffer für python.
Das ganze soll unter Windows laufen. Ich habe den Sniffer gestartet,
allerdings sehe ich keine ankommenden Packet obwohl ich auf 
Internetseite zugreife.

von Tim S. (Firma: tsx) (freak_ts) Benutzerseite


Bewertung
-1 lesenswert
nicht lesenswert
leo schrieb:
> keine ankommenden Packet obwohl ich auf
> Internetseite zugreife.

Da ist viel zu wenig Beschreibung drin. Was hast du genau gemacht und 
wie testest du das? Was erwartest du? Und welche Internetseite? Die 
Pakete abgehend und ankommend werden wohl vom Browser (oder einem 
anderen Layer im OS) direkt abgearbeitet, ohne das phython das 
mitbekommt. Aber je nach dem was du grad machen und sniffen willst kann 
das auch ganz gewollt und klar sein. (Bin kein python experte)..

Was passiert wenn du (von einem anderen Gerät z.B. Handy) auf die IP des 
Sniffer-Rechners, oder per localhost auf DEINE EIGENE Internetseite 
(lokal gehostet) zugreifst?

Du willst damit wohl jedes einzelne Paket vom Ethernetadapter sniffen?

: Bearbeitet durch User
von leo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hi, hab von meinem Handy aus ping Nachrichten an den PC gesendet. Da hat 
der Sniffer auf dem PC nichts ausgespuckt. Dann habe ich auch auf dem PC 
den localhost 127.0.0.1 angepingt auch hier nix zu sehen.

von leo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kann das sein dass das an Windows 10 liegen könnte?

von leo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zusatz: Impacket wurde nach installiert

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
leo schrieb:
> Das ganze soll unter Windows laufen.

Wireshark gibt es auch für Windows in fertich.

Der obige Code sieht IMHO stark nach Unix(Linux)- only aus und kennt 
kein IPv6.

von leo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ok wenn ich aber den localhost anpinge dann ist das doch ipv4 oder?

von leo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Im Code sehe ich keine Einstellung für ipv6 oder ipv4.

von Jens G. (jensig)


Bewertung
0 lesenswert
nicht lesenswert
leo (Gast)

>Kann das sein dass das an Windows 10 liegen könnte?

Nöö, eher daran, daß das vielleicht nicht für Windows generell gedacht 
ist.
Zumindest solltest Du das explizit als Admin ausführen (also 
Kommandozeile oder Citrix explizit "Als Administrator ausführen ...").

von cppbert3 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
leo schrieb:
> Hi, ich habe da eine Frage bezüglich einem Sniffer für python.
> Das ganze soll unter Windows laufen. Ich habe den Sniffer gestartet,
> allerdings sehe ich keine ankommenden Packet obwohl ich auf
> Internetseite zugreife.

was sagt der Multiplatform Gold-Standard-Paket-Sniffer Wireshark?
wenn der auch nichts anzeigt liegt es an was anderem

von Εrnst B. (ernst)


Bewertung
0 lesenswert
nicht lesenswert
Dumme Frage: Tatsächlich mit Windows-Python(.exe) ausgeführt, oder in 
einem WSL(2)-Container mit virtuellem Netzwerk?

Falls WSL, kannst du darin auch maximal WSL-Traffic sehen.

von Linuxprofi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jens G. schrieb:
> leo (Gast)
>
>>Kann das sein dass das an Windows 10 liegen könnte?
>
> Nöö, eher daran, daß das vielleicht nicht für Windows generell gedacht
> ist.
> Zumindest solltest Du das explizit als Admin ausführen (also
> Kommandozeile oder Citrix explizit "Als Administrator ausführen ...").

Er muss Python in der Firewall freigeben, sonst blockt die...
Sollte man aber als Windowsnutzer wissen.

von Linuxprofi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Linuxprofi schrieb:
> Jens G. schrieb:
>> leo (Gast)
>>
>>>Kann das sein dass das an Windows 10 liegen könnte?
>>
>> Nöö, eher daran, daß das vielleicht nicht für Windows generell gedacht
>> ist.
>> Zumindest solltest Du das explizit als Admin ausführen (also
>> Kommandozeile oder Citrix explizit "Als Administrator ausführen ...").
>
> Er muss Python in der Firewall freigeben, sonst blockt die...
> Sollte man aber als Windowsnutzer wissen.

Nachtrag:
Eigentlich sollte man das als mikrocontroller.net-Nutzer wissen!

von Marco H. (damarco)


Bewertung
-1 lesenswert
nicht lesenswert
Nö unter Win gibt es keine RAW sockets....

https://de.wikipedia.org/wiki/Pcap
oder https://en.wikipedia.org/wiki/Tcpdump

: Bearbeitet durch User
von mh (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:
> Nö unter Win gibt es keine RAW sockets....

Das sagt aber nichsts darüber aus, ob es unter Windows socekt.socket, 
oder select.select gibt. Vielleicht solltet ihr mal die Doku lesen ...

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:
> Nö unter Win gibt es keine RAW sockets....

Vielleicht sollte man das dann mal Microsoft mitteilen, denn die glauben 
anscheinend, dass es die dort gibt:
https://docs.microsoft.com/en-us/windows/win32/winsock/tcp-ip-raw-sockets-2

Marco H. schrieb:
> https://de.wikipedia.org/wiki/Pcap
> oder https://en.wikipedia.org/wiki/Tcpdump

Die braucht man, weil Windows keine Packet sockets unterstützt.
Unterschied: Klassische Raw-Sockets arbeiten auf IP-Ebene, 
Packet-Sockets auf Ethernet-Ebene.

: Bearbeitet durch User
von Marco H. (damarco)


Bewertung
0 lesenswert
nicht lesenswert
Sniffer wird man so nicht hinbekommen, da sich der Socket nicht in den 
Entsprechenden Mode bringen lässt.

Man muss diese Bibliotheken dazu verwenden. Die aus Sicherheitsgründen 
nicht gerade ungefährlich sind..

von Sheeva P. (sheevaplug)


Bewertung
0 lesenswert
nicht lesenswert
Marco H. schrieb:
> Sniffer wird man so nicht hinbekommen, da sich der Socket nicht in den
> Entsprechenden Mode bringen lässt.

Der Modus heißt "Promiscuous Mode" und ist, wie Du absolut richtig 
anmerkst, eine ziemlich gefährliche Angelegenheit. Deswegen geht das nur 
als privilegierter User ("root" unter UNIXoiden, "Administrator" unter 
Windows, ...).

Ich sehe auch nicht, wo der gepostete Code -- oder das Impacket-Dingsi 
-- das Gerät bzw. den Socket in diesen Modus schaltet. "Richtiges 
Sniffen" wie es etwa tcpdump(1) und Wireshark machen, ist daher nicht 
möglich.

Das Mitschneiden von Kommunikation zwischen zwei anderen Hosts ist so 
ebenfalls nur dann möglich, wenn die Geräte an einem Hub hängen. Ein Hub 
ist ein dummes Gerät und sendet alle empfangenen Pakete an alle 
angeschlossenen Geräte, während ein Switch -- wie sie heute üblich sind 
-- die Pakete nur an die richtigen MACs weitergibt. (Außer bei 
Multicast, aber das ist eine andere Geschichte.)

von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
Sheeva P. schrieb:
> Das Mitschneiden von Kommunikation zwischen zwei anderen Hosts ist so
> ebenfalls nur dann möglich, wenn die Geräte an einem Hub hängen.

Oder einem Managed Switch, bei dem ein Monitoring-Port aktiviert ist. Da 
wird der gesamte Traffic auch an diesen Port geschickt.
Und dann gibt's ja noch WLAN. Die Luft wirkt quasi auch als Hub.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.