NETZWERKSICHERHEIT MITTELS PHP
PeterKalafat
- php
Erstmal ein HALLO an alle !!!
Habe folgendes Problem soll als Facharbeit mittels PHP etwas programmieren was unter dem Thema Netzwerksicherheit steht.
Genaueres Thema Die Aufgabe lautet mittels PHP alle verfügbaren Clients im Netz zu ermitteln und möglichst viele Daten dieser Clients anzuzeigen.
Vielleicht gibt es ja hier den einen oder anderen der mir dabei weiter helfen kann und mir Tipps bezüglich des Quelltextes geben kann.
Muss dazu sagen dass ich ein vollkommener Anfänger bin [Taschenrechnerprogrammierer ;-) ]. Deswegen hab ich suche ich hier im Board Hilfe =(…
Und bitte nicht um Antworten die z.B. lauten „Dafür ist PHP nicht geeignet“ oder „Vielleicht solltest du erstmal PHP erlernen“… denn diese bringen mich nicht weiter und da ich nicht mehr soviel Zeit habe wäre es nett wenn ich hier Support bekommen würde.
BIG THX im Voraus
hi,
Muss dazu sagen dass ich ein vollkommener Anfänger bin [Taschenrechnerprogrammierer ;-) ]. Deswegen hab ich suche ich hier im Board Hilfe =(…
Und bitte nicht um Antworten die z.B. lauten „Dafür ist PHP nicht geeignet“ oder „Vielleicht solltest du erstmal PHP erlernen“… denn diese bringen mich nicht weiter
schade, die wollte ich aber eigentlich geben ...
und da ich nicht mehr soviel Zeit habe wäre es nett wenn ich hier Support bekommen würde.
warum hast du dann nicht früher angefangen?
gruß,
wahsaga
Hallo PeterKalafat!
Muss dazu sagen dass ich ein vollkommener Anfänger bin
[Taschenrechnerprogrammierer ;-) ]. Deswegen hab ich suche ich hier
im Board Hilfe =(…
Warum nimmst du dann ein solches Thema als Facharbeit? Wähle lieber
Religion oder Sport, das ist einfacher ... ;-) Erwarte hier keine
Komplettlösungen, sondern mache dich erstmal selbst an die Arbeit.
Wenn du dann immer noch Fragen hast, stelle sie hier.
Außerdem:
℆, ℒacℎgas
你好 PeterKalafat,
zu deiner Frage: fuer deine Aufgabe braucht man recht umfangreiches Fachwissen, dass man nicht mal eben so bekommt. Da wirst du dich schon naeher mit dem Thema auseinandersetzen muessen. Einen Einstieg bekommst du, wenn du z. B. die FAQs von news:de.comp.security.misc liest oder dir Buecher besorgst, die sich mit diesen Themen beschaeftigen.
Wenn du eine Billig-Version brauchst, reicht es, wenn du dich mit Network-Functions von PHP auseinander setzt. Fuer einen simplen Net-Scan mit ein paar Infos wie Hostname, offene Ports, etc, reicht das aus, wobei du je nach Subnetz-Groesse sehr wahrscheinlich auf einen Timeout stossen wirst.
[...] und da ich nicht mehr soviel Zeit habe wäre es nett wenn ich hier Support bekommen würde.
Hier gibts keinen Support, nur Hilfe zur Selbsthilfe.
再见,
克里斯蒂安
Ja es wurde festgelegt, dass wir im Fach Informatik schreiben müssen... kann ich ja nichts dafür =(...
<?php
function portscan ($ip) {
for ($port = 1; $port < 200; $port++) {
if ($socket = fsockopen($ip, $port, $errno, $errstr, 1)) {
print("Port $port offen.");
fclose($socket);
}
flush();
}
}
?>
kann man hiermit die ports der einzelnen Clients rausbekommen ???
你好 PeterKalafat,
[...]
kann man hiermit die ports der einzelnen Clients rausbekommen ???
Nur die offenen TCP-Ports von 1 bis 200.
再见,
克里斯蒂安
Welche Informationen über Clients sind denn per PHP zu ermitteln ???
你好 PeterKalafat,
Welche Informationen über Clients sind denn per PHP zu ermitteln ???
Grundsaetzlich: alle, die man auch mit anderen Programmiersprachen
ermitteln kann. Du musst nur die richtigen Protokolle sprechen und die
richtigen Untersuchungen anstellen.
再见,
克里斯蒂安
und was wären das für informationen ?? IP ? Port ? was noch ??
Hi,
Genaueres Thema Die Aufgabe lautet mittels PHP alle verfügbaren Clients im Netz zu ermitteln und möglichst viele Daten dieser Clients anzuzeigen.
Das funktioniert nicht. Überhaupt nicht.
Du kannst über Clients nur etwas erfahren, wenn sie bei Dir anklopfen, nicht umgekehrt.
Anders, wenn es sich um Server handelt. Der Begriff "Server" ist hier ganz allgemein und meint nur, das der Rechner auf Anfrage reagiert. Wie und womit ist hier nebensächlich.
Hier hüpft nun das Thema "Netzwerksicherheit" in's Bild und damit auch der Sinn hinter Deiner Aufgabe: es sollen alle lokalen Netzwerkknoten darauf überprüft werden, ob sie als Server fungieren. Tun sie das ist etwas faul im Staate Dänemark, das weiterer Überprüfung bedarf. Meist ist es zwar nur ein ausschließlich lokal betriebener Messaging-Service o.ä., kann aber auch ein Trojaner o.ä. sein.
Zu diesem Zwecke und Behufe gibt es sehr gute Tools (am bekanntesten dürfte da wohl NMAP sein). Wenn Du bei denen mal unter die Haube schaust wirst Du feststellen, das das alles sehr viel ist. Viel zuviel, um das "mal eben" in PHP zu schreiben. Es geht also nur um's Verstehen.
Und wenn's um's Verstehen geht bist Du hier bei selfhtml.org schonmal bestens aufgehoben ;-)
Es gibt im Normalfall 2^16 Ports. Die unteren 1024 (Port 0-1023) sind zwar die interessanteren, es sollte sich in diesem Fall aber nicht drauf beschränkt werden. Die wichtigen Datenübertragungsprotokolle sind UDP und TCP. Macht also 2^17 Prüfstellen pro IP. Dazu kämen dann noch die verschiedenen Protokolle der Dienste, aber auf Offenheit eines Ports kann auch so geprüft werden (es gibt aber einige Ausnahmen).
Manche Dienstprotokolle sind einfach zu testen, wie z.B. HTTP. Da antwortet der Webserver immer mit irgendwas (auch hier:es gibt aber einige Ausnahmen). Auch ist es evt möglich z.B. mit HEAD einige Informationen über den Web-Server abzufragen, wenn er das zuläßt.
Einige der o.a. Ausnahmen:
Alleine schon aufgrund dieser Ausnahmen kann die eingangs erfolgte Beschränkung auf Clients vollständig entfallen. Es gilt auch für Server: es funktioniert prinzipiell nicht.
Und bitte nicht um Antworten die z.B. lauten „Dafür ist PHP nicht geeignet“ oder „Vielleicht solltest du erstmal PHP erlernen“… denn diese bringen mich nicht weiter und da ich nicht mehr soviel Zeit habe wäre es nett wenn ich hier Support bekommen würde.
Nunja, so ganz ohne PHP Kenntnisse geht's nicht, aber das dürfte Dir schon klar sein. Du hast ja auch schon ein Snippet zusammengefummelt (Ich geh' einfach mal davon aus, das Du das auch tatsächlich selber warst). Einfach den Loop auf alle Ports erweitern und noch UDP mit in's Boot nehmen (bitte beachte dabei die Hinweise auf http://de3.php.net/manual/en/function.fsockopen.php).
Dann evt bei allen zugewiesenen Ports noch zusätzlich das Protokoll des zugewiesenen Dienstes ausprobieren. Zwei einfache Beispiele (einmal TCP, einmal UDP) sollten da reichen.
so short
Christoph Zurnieden