# Keine Reaktion auf Broadcast-Ping



## Januar (3 April 2017)

Hallo Community,

ich hab letztens versucht, eine  Netzwerkerkennung manuell zu machen. Also von einem IPC einen  Broadcast-Ping zu starten, um anhand der Antworten zu erkennen, welche  Teilnehmer im Netz verfügbar sind. Allerdings hat mir scheinbar niemand  geantwortet. Das Netz bestand zu dem Zeitpunkt aus einer S7-1200, einem  Basic- und einem Comfort-Panel, einer PC-Station (mit einer PLC Sim  Advanced darauf laufend) und einem IOT2040 (Quelle des Broadcast-Pings).
Gibt es Gründe, die allgemein dafür sorgen können, dass Broadcast-Pings unbeantwortet verhallen?

Mit freundlichen Grüßen
Januar


----------



## oliver.tonn (3 April 2017)

Hängen die Geräte im selben Netz? Falls nein und es ist ein Router dazwischen wird das die Ursache sein. Soweit nicht anders konfiguriert filtern Router Broadcasts aus um den Trafic zu reduzieren. 

Von irgendwas mit Internetzugang gesendet


----------



## Januar (3 April 2017)

Ich hab einen ungemanageten Switch X108 als zentrale Brücke. Der sollte alles weiterleiten, was der findet, also auch BC-Pings. Und ja, alle Teilnehmer hängen im gleichen Netz.
Direktes Anpingen liefert auch eine Antwort, nur auf den Broadcast antwortet keiner


----------



## PN/DP (3 April 2017)

Hallo,

was meinst Du mit "_Broadcast-Ping_"?
Ich glaube, sowas gibt es gar nicht. Falls Du einen Ping auf die Subnetzadresse (z.B. x.x.x.0) meinst: da ist es ganz normal, daß kein Gerät darauf antwortet.

Harald


----------



## Januar (3 April 2017)

Mit Broadast-Ping meine ich den Ping an alle Teilnehmer eines Netzes. Die Adresse ist fast das Gegenteil der Subnetz-Adresse. Anstatt alle Host-Bits auf Null zu setzen (um das Netz zu pingen), werden alle Host-Bits auf 1 gesetzt. (siehe Wikipedia...)


----------



## PN/DP (3 April 2017)

Auf einen Ping an die Broadcast-Adresse des Netzwerks (z.B. x.x.x.255) wird ziemlich sicher auch kein Teilnehmer antworten - ich glaube, auch sowas gibt es nicht.

Womit machst Du denn den Ping? Hast Du mal ein konkretes Beispiel und auch ein Beispiel, wo das was Du tun willst tatsächlich funktioniert?

Harald


----------



## Januar (3 April 2017)

PN/DP schrieb:


> Womit machst Du denn den Ping?





Januar schrieb:


> und einem IOT2040 (Quelle des Broadcast-Pings).







PN/DP schrieb:


> Hast Du mal ein konkretes Beispiel





Januar schrieb:


> Also von einem IPC einen  Broadcast-Ping zu  starten, um anhand der Antworten zu erkennen, welche  Teilnehmer im Netz  verfügbar sind. Allerdings hat mir scheinbar niemand  geantwortet. Das  Netz bestand zu dem Zeitpunkt aus einer S7-1200, einem  Basic- und einem  Comfort-Panel, einer PC-Station (mit einer PLC Sim  Advanced darauf  laufend) und einem IOT2040 (Quelle des Broadcast-Pings).







PN/DP schrieb:


> und auch ein Beispiel, wo das was Du tun willst tatsächlich funktioniert?



Nein, deswegen frag ich ja, ob es prinzipiell Mechanismen gibt, die so etwas verhindern.


----------



## ChristophD (3 April 2017)

Hallo,

ja z.B. Switch und Router blocken, Windows Clients ebenfalls.
Die Rückmeldung auf einen "Broadcast" kannst du von haus aus eigentlich nur bei Linux/Unix Geräten bekommen.

Das Ganze ist eben auch aus Sicht der Systemsicherheit ein heißes Eisen. Nicht immer ist es erwünscht das solche Request ohne Erlaubnis beantwortet werden und dann sind sie zu 90% von vornherein geblockt.

Gruß
Christoph


----------



## Januar (3 April 2017)

Also ist es gewollt, dass meine SIMATIC-Geräte darauf nicht antworten? Okay, danke


----------



## PN/DP (3 April 2017)

Januar schrieb:


> Mit Broadast-Ping meine ich den Ping an alle Teilnehmer eines Netzes.
> [...]
> (siehe Wikipedia...)



Wäre es Dir auch möglich, mal das Wikipedia Thema zu verlinken, in dem Dein "Broadcast-Ping" erklärt wird?
Ich glaube, es gibt gar keinen "Broadcast-Ping". Es gibt Ping und es gibt Broadcast, doch die beiden Verfahren funktionieren total verschieden. Welches Verfahren meinst Du?



Januar schrieb:


> PN/DP schrieb:
> 
> 
> > Womit machst Du denn den Ping?
> ...


Mit konkretes Beispiel meine ich: "Wie löst Du den magic "Broadcast-Ping" aus? Ist da eine Kommandozeile und Du tippst einen Befehl ein (Welchen genau?) oder gibt es irgendwo einen Menüpunkt (Wo? Welchen?) oder hast Du selbst etwas programmiert? (Was genau?) oder ...?"

Harald


----------



## ChristophD (3 April 2017)

er meint das hier:

https://de.wikipedia.org/wiki/Broadcast

und wenn er sich das mal durchgelesen hätte wüsste er auch warum er keine Antwort bekommt


----------



## Januar (3 April 2017)

PN/DP schrieb:


> Wäre es Dir auch möglich, mal das Wikipedia Thema zu verlinken, in dem Dein "Broadcast-Ping" erklärt wird?



https://de.wikipedia.org/wiki/Broadcast



PN/DP schrieb:


> Mit konkretes Beispiel meine ich: "Wie löst Du den magic "Broadcast-Ping" aus?



Ich verbinde mich zum IoT via PuTTY und gebe den Befehl "ping 169.254.200.255" ein. (Subnetz ist 169.254.200.0, Maske dazu: 255.255.255.0).
ping 169.254.200.23 liefert ein zufriedenstellendes Ergebnis, auf der Adresse sitzt eine PLC, die mir antwortet


----------



## PN/DP (3 April 2017)

Januar schrieb:


> https://de.wikipedia.org/wiki/Broadcast
> 
> Ich verbinde mich zum IoT via PuTTY und gebe den Befehl "ping 169.254.200.255" ein. (Subnetz ist 169.254.200.0, Maske dazu: 255.255.255.0).
> ping 169.254.200.23 liefert ein zufriedenstellendes Ergebnis, auf der Adresse sitzt eine PLC, die mir antwortet


Du meinst also Ping. Ping hat mit Broadcast nichts gemein. Ich kenne kein einziges Gerät, was auf einen Ping auf eine andere als die eigene IP-Adresse antworten würde --> daß auf Deinen Ping an die Broadcast-Adresse des Netzes kein Gerät antwortet ist normal und hat nichts mit Blockierung durch Switche oder Router zu tun.

Harald


----------



## Januar (3 April 2017)

ChristophD schrieb:


> und wenn er sich das mal durchgelesen hätte wüsste er auch warum er keine Antwort bekommt



Ich bin durchaus schon mehrfach durch den Text gegangen, um zu verstehen, warum das nicht funktioniert. Aber da du es scheinbar verstanden hast, erkläre es mir doch bitte. Liegt es daran, dass die Ethernet-Verbindung zwischen den Teilnehmern dem Internet zu ähnlich ist und daher ein Flooding-Algorithmus notwendig ist?

@PN/DP: Gäbe es denn eine einfach Möglichkeit, innerhalb eines Subnetzes alle verfügbaren Teilnehmer zu erfragen?


----------



## ChristophD (3 April 2017)

Wegen Sicherheitsproblemen mit DoS-Angriffen wurde das voreingestellte Verhalten von Routern in RFC 2644 für _directed broadcasts geändert. Router sollten directed broadcasts nicht weiterleiten.
_Dieses Ziel liegt immer im eigenen lokalen Netz und wird direkt in einen Ethernet-Broadcast umgesetzt. Ein _limited broadcast wird von einem Router nicht weitergeleitet.

__Diese Regeln gelten eben nicht nur für Router sondern für so ziemlich jedes Ethernet Gerät, ist wie schon gesagt eine Frage der Netzwerksicherheit.

Ich selber kenne das auch nur aus meinen Unix Zeiten, dort konnte man damit wunderbar ermitteln welche IP so im Netz rumschwiert, aber bei Windows ist es schon länger abgeklemmt und bei Steuerungen der aktuellen Generation auch._


----------



## PN/DP (3 April 2017)

https://de.wikipedia.org/wiki/Ping_(Datenübertragung)


> Ping sendet ein ICMP(v6)-„Echo-Request“-Paket



https://de.wikipedia.org/wiki/Internet_Control_Message_Protocol (ICMP)


> ICMP-Nachrichten werden nicht als Antwort auf Pakete an Zieladressen versendet, bei denen es sich um Multicast- oder Broadcast-Adressen handelt.



Harald


----------



## PN/DP (3 April 2017)

Januar schrieb:


> @PN/DP: Gäbe es denn eine einfach Möglichkeit, innerhalb eines Subnetzes alle verfügbaren Teilnehmer zu erfragen?


Ich kenne Dein IOT2040 nicht, doch vermutlich kann man mit den da vorhandenen Möglichkeiten nur nacheinander alle anderen 253 möglichen IP-Adressen an-pingen. Doch auch das liefert nicht unbedingt alle vorhandenen Teilnehmer, vielleicht antworten einige einfach nicht wg. Firewall.
https://www.libe.net/Adressen-im-Netzwerk-anzeigen

Wozu musst Du alle verfügbaren Teilnehmer wissen?
Ist auf dem IOT2040 außer dem Betriebssystem noch weitere nützliche Software installiert, vielleicht PST oder S7-PCT? Damit könnte man das Netzwerk scannen lassen.
Oder einen third-party Scanner installieren oder selber einen Scanner programmieren.

Harald


----------



## erdmann (3 April 2017)

Hallo Januar,

bist Du Dir sicher, dass Dein Broadcast- Ping aus dem IOT2040 auch rauskommt?
Ich weiss nicht, wie's bei Linux ist, aber aus einem Windows- Rechner kommt ein 
solcher PING- Request garnicht erst raus. Wenn es das Ping- Programm schon nicht 
verhindert, macht das spätestens der TCP/IP- Stack.
(Kann man mit Drahthai ganz gut nachvollziehen)
Ich brauchte mal sowas (um ein Gerät mit vollkommen unbekannter IP- Adresse 
einzufangen) und hab's mir dann mittels winpcap und einem vollständig 
handgeschnitzten ICMP Broadcast zusammengebaut. Das Zielgerät (ein kleines 
Linux- Kästchen) hat tatsächlich geantwortet.
Aber sowas macht man bitte nicht in einem echten Netzwerk, sondern nur in 
einem eng begrenzten und bekannten lokalen Netz.

mfg
Erdmann


----------



## Fabpicard (4 April 2017)

Gemeint ist wohl diese Siemens-Krücke:
http://w3.siemens.com/mcms/pc-based-automation/de/industrial-iot/seiten/default.aspx

Da läuft ein "Yocto Linux" drauf.

Falls du darauf die Root-Rechte hast, dann falls noch nicht installiert, installiere dir die zu der Distro passende Version von "arp-scan".

Dann kannst du mir einem Befehl,  an alle Teilnehmer in deinem Netzwerk eine "Arp-Abfrage" starten, worauf dir alle Netzwerkteilnehmer die eine IP aus deinem Subnetz haben, automatisch mit ihrer MAC antworten.
(Ist ganz nützlich um beispielsweise doppelte IPs zu finden. Unter Windows dauert das Ewig und unter Linux gerade mal 3 bis 8 Sekunden... )

MfG Fabsi


----------



## Tigger12 (1 Juli 2017)

Januar schrieb:


> Mit Broadast-Ping meine ich den Ping an alle Teilnehmer eines Netzes. Die Adresse ist fast das Gegenteil der Subnetz-Adresse. Anstatt alle Host-Bits auf Null zu setzen (um das Netz zu pingen), werden alle Host-Bits auf 1 gesetzt. (siehe Wikipedia...)




..gute Idee!


----------

