Paket Senden nach IP#xxx.xxx.xxx.xxx OHNE (fix eingestellten) Client Socket?

Vielleicht hab ich ja noch einiges nicht verstanden - dann bitte nicht gleich hauen …

Meine Frage:

Wenn ich an ein Device im Netzwerk etwas senden will, dann lege ich dafür normalerweise einen Client Socket an. Dort gebe ich auch die IP Nummer und den Port an. Soweit so gut.

Was aber, wenn sich die IP Nummer erst zu einem späteren Zeitpunkt ergibt (z.B. DHCP Device oder UPNP Device) oder ich an mehrer Devices (im zweifel 255 mal denselben Wert an alle Netzwerk-Teilnehmer) schicken will (z.B. Broadcast)?

Nehmen wir z.B. mal an, ich möchte IPS dazu „misbrauchen“ einen kleinenNetzwerksniffer zu bauen, der einfach mal guckt, welches Devive imNetzwerk auf „PING“ Anfragen reagiert. Dann muss ich momentan ja 255 Client Sockets anlegen, oder??

Gibt es irgend ein Modul, dass, wie ClientSocket, ein Packet an einen anderen Netzwerkknoten sendet, für dessen Koordinatenaber IP-Adresse und Port zur Laufzeit ermittelt und als Parameter an das Modul übergeben werden?

(Ich weiss schon um die Problematik des „ist nicht Verfügbar“, „firewall“, „unzulässiger Port“ etc. Grundsätzlich ergeben sich diese Problematikan aber auch bei dem jetzt verfügbarenklassischen Client Socket (wenn die Device zur laufzeit dann doch nicht da ist).

Danke
jwka

Das wäre mir schon zu kompliziert und unflexibel. Derartige Kommunikationsaufgaben beherrscht PHP doch perfekt:
PHP: fsockopen - Manual

Hallo.

Oder so falls das Ziel nicht auf eine Socketverbindung antwortet:

$ziel = „192.168.22.240“;
$ping_anzahl = 2;
$kommando = „ping „.$ziel.“ -n „.$ping_anzahl;
$ergebnis = shell_exec($kommando);
if (strpos($ergebnis,“(100% Verlust)“) <>0) {
$Value=„Ziel nicht Online“;
}
else {
$Value=„Ziel ist erreichbar“;
}

Voraussetzung hier allerdings Windows.

Grüsse.

Sys_Ping könnte evtl. auch helfen.

paresy

Ich hab da mal einen Beitrag von mir ausgegraben, vieleicht hilft der auch:

den Clientsocket kann man mit der PHP-Funktion „CSCK_SetHost“ neu einstellen.(Im Editor einfach mal STRG-Leertaste aufrufen)
Das Problem wechselnder IPs löst man entweder mit Bindung an die MAC-Adresse oder Nutzung eines DNS-Servers, der vom DHCP mit den neuen IPs versorgt wird.
Tommi

Danke an alle für die Hilfestellungen. Hat mich alles weiter gebracht (wenngleich z.B. die „SysPing“ in anderer Sache).

Als PHP Neuling kommt man natürlich nicht so leicht auf das „core FSOCK“ - danke für diesen Hinweis, der bringt mich vielleicht am weitesten.

Die Antworten haben sich ein bischen an meinem Beispiel „Netzwerksniffer“ festgemacht.

Tatsächlich ist es so, dass IPS einen ServerSocket zur Verfügung stellen soll und dann an den Sender - diesemal per Clientsocket - Daten schicken soll. Da die Geräte teilweise mit DHCP, teilweise mit fixen Adressen arbeiten, wollte ich im Prinzip einfach eine „CSCK_“ Funktion gesucht, der ich zur Laufzeit die IP mitgeben kann.

Wie SCHNELL ist denn „CSCK_SetHost“?

Denn grundsätzlich wäre das ja auch ne Option. Kommt aber auf die Implementierung der CSCK Funktionen an, ob das dann in der Praxis als „on the fly“ Änderung (schnell) benutzt werden kann oder ob es eher ein „setup-feature“ (langsam) ist.

Danke!
jwka