Dienste erkennen

Hi, ich möchte gerne ein Programm wie WS_PING entwerfen.

Alerdings soll der funktionsumfang etwas geringer sein.

Folgende funktionen:
-Alle Rechner im LAN auflisten
-Rechner mit laufendem, FTP-Dienst auflisten
-Rechner mit windowsfreigaben auflisten
-Rechner mit webserver auflisten
-Rechner auflisten,die Nachrichten empfangen können (net send)


Jetzt möcht ich gerne wisen wie ich das erkenne, welcher dienst wo läuft... sprich, welcher dienst welchen handshake verwendet
 
Jetzt möcht ich gerne wisen wie ich das erkenne, welcher dienst wo läuft
überlicherweise laufen bestimmte dienste auf sog. well known ports. Per konvention läuft FTP zb auf port 21 .
sprich, welcher dienst welchen handshake verwendet
Dienste die TCP nutzen verwenden den sog. 3-way handshake.
Dienste die UDP verwenden zb gar keinen.

Mal als kleinen Tip:

- Rechner in einem LAN kannste über das pingen der broadcast leicht finden.
- Bei FTP und HTTP kannst du einen sog. "full connect" portscan auf port 21 und port 80 machen und einen "read" auf den socket setzen. Bei http musst du noch eiien GET oder HEADER request schicken.
Wenn du diese daten ausliest, bzw überhaupt etwas bekommst dann läuft dort vermutlich der besagte dienst.

- Net send - keine Ahnung :)

Wobei du beim design darauf achten solltest das du immer eine gewisses mass an "false positive" Aussagen haben kannst. Weil:
- banner geändert werden können.
- dienste nicht auf den "vorherbestimmten" port laufen.
- der Admin gut und/oder paranoid ist und zusätzlich noch "dummydienste" laufen hat.

so, viel spass damit :)

mfg Thomas
 
Okay, danke erstmal. dein beitrag war seht informativ, was die theorie angeht, aber irgendwie wüßte ich gerne genauerse über die Handshakes, also wie die HTTP oder FTP-handshakes im detail aussehen.

Ich hab neulich mal gelesen wie man nen Webserver über telnet steuert, aber die seite hab ioch verloren.

Broadcast-ping is normal kein problem.. das grundprinzip steht schion in meinem kopf, ich brauch eigentlich in erster linie nur informationen übver die einzelnen handshakes.
Über paranoide admins mach ich mir später gedanken *lol*



Im übrigen will ich nix böses mit der soft. es geht mir nur darum, da ich ab und zu Lan-partys MITveranstalte, dass wir da eine kleine kontrolle über das netzwerk haben, was so an Webservern läuft, welche freigaben da sind, und wo ftp's laufen.. so zeug halt.. DANKE schonmal
 
Okay, danke erstmal. dein beitrag war seht informativ, was die theorie angeht, aber irgendwie wüßte ich gerne genauerse über die Handshakes, also wie die HTTP oder FTP-handshakes im detail aussehen.
Imho nur unnötig verwirrend weil du das bei der programmierung gar nicht zu wissen brauchst. Das nehmen dir die funktionen ab. Aber hier zur information:

http://iuk.in-chemnitz.de/iall/ie/kap2/tcpconn.htm

Ich hab neulich mal gelesen wie man nen Webserver über telnet steuert, aber die seite hab ioch verloren.
Telnet wirk hier lediglich als "befehlsübermittler". Telnet bezeichnet auszer dem Programm auch das eigene Protokoll.

Im übrigen will ich nix böses mit der soft
1. sagen sie das alle ;)
2. ist nichts verwerfliches an deinem vorhaben.
3. völlig uninteressant.

Broadcast-ping is normal kein problem.. das grundprinzip steht schion in meinem kopf, ich brauch eigentlich in erster linie nur informationen übver die einzelnen handshakes.
ICMP und ICMP benutzen komplett andere Verfahren als TCP.
Der oben genannte 3-way-handshake spielt bei ICMP (Ping versendet zb ICMP packete) überhaupt keine Rolle.

Und hier noch mal ein link mit hervorragendem Lehrmaterial zu deinem Thema.
www.zotteljedi.de

Kleiner Tipp, wenn du mit socket/netzwerkcoding anfangen willst dann installier dir ein kleines Linux weil
1. Alles was du brauchst schon komplett dabei ist.
2. die keine GUI vom wesentlichen abhält
3. unter Linux/BSD socketcoding tausendmal besser dokumentiert ist
4. Es ein hoeheres mass an Transparenz der Funktionen gibt sprichh: du kannst alles ansehen und kostet keinen cent.
(aber letzlich deine wahl- wenn du unter windows fit bist dann bleib auch dabei)
Aber bevor du jetzt noch mehr fragst bastel ein wenig rum und komm wieder wenn du etwas code hast.
Das macht den Leuten hier mehr spass und dir bringt es auch mehr.

mgf Thomas
 
Zurück
Oben