Autor |
Nachricht |
Sarky
Threadersteller
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 20.02.2007 16:16
Titel Port Knocking Client mit PHP |
|
|
Hi,
ich versuche, mir in PHP einen kleinen Port Knocking Client zu realisieren, aber verzweifele langsam allmählich daran.
Das hier habe ich bis jetzt:
Code: |
function knock($ip, $port, $protocol, $timeout = 10)
{
($protocol == 'tcp') ? ($protocol = SOL_TCP) : ($protocol = SOL_UDP);
($protocol == SOL_UDP) ? ($mode = SOCK_DGRAM) : ($mode = SOCK_STREAM);
if (!$socket = @socket_create(AF_INET, $mode, $protocol))
{
return false;
}
socket_set_blocking($socket, true);
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec" => $timeout, "usec" => 0));
if (!@socket_connect($socket, $ip, $port))
{
return false;
}
return true;
}
|
Leider funktioniert das so nicht, nur kann ich nicht herausfinden warum. socket_strerror() liefert "Operation is now in progress" zurück, aber /var/logs/knockd.log auf dem Server zeigt nicht an, dass irgendwelche Pakete angekommen sind.
Ich habe bereits nach anderen Port Knocking Implementierungen gesucht, aber nichts in PHP gefunden, auch nicht bei den "üblichen Verdächtigen" wie Hotscripts und Co.
Langsam beschleicht mich deswegen das Gefühl, dass es in PHP nicht realisierbar ist.
Hat vielleicht irgendjemand eine Idee?
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Mi 21.02.2007 10:23
Titel
|
|
|
Der Code an sich geht. Ein Knock auf einen Webserver hat geklappt.
Evtl. steht ja ne Firewall dazwischen?
|
|
|
|
|
Anzeige
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Mi 21.02.2007 11:37
Titel
|
|
|
Koennte ich mir auch vorstellen -- hast du es mal mit einem anderen Knocking-Client ausprobiert?
|
|
|
|
|
Sarky
Threadersteller
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Mi 21.02.2007 14:54
Titel
|
|
|
Danke für Eure Antworten.
Mit einem "richtigen" Knocking-Client funktioniert es problemlos, die Pakete werden durch meine Firewalls durchgeschleust. Da der Code bei tacker funktioniert, muss ich nun also davon ausgehen, dass mein Webhoster die rausgehenden Pakete auf den von mir ausgesuchten Ports filtert bevor sie bei mir ankommen. Mist
Ich suche nach einer Lösung, das Knocking von einem zentralen Server aus per Browser durchführen zu können, da es mit einem lokalen Client nicht immer von jedem Netzwerk aus funktioniert, in dem ich gerade so unterwegs bin.
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Fr 23.02.2007 10:07
Titel
|
|
|
Ein paar Ports muessten doch offen sein - 21, 22 + natuerlich 80. Benutz doch die fuer dein Sesamoeffnedich! Moeglichkeiten sind dann eben im Bereich (3*protokolle)^sequenzlaenge -- und das Logfile hast du ja eh im Auge
Zuletzt bearbeitet von schachbrett am Fr 23.02.2007 10:28, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
COM-Port kurzschließen --> Programm ausführen
FTP Client
[PHP] client update
Webmail-Client für One.com - Webspace
[suche] webmail client in PHP
Email-Client-Detektor gesucht
|
|