Keine schwarze Magie

Port-Scanner im Eigenbau

Von Script-Kiddies gern genutzt, von Administratoren benötigt: Port-Scanner haben einen Hauch von schwarzer Magie. Warum das so ist, ist aber völlig unklar. Ein einfacher Port-Scanner läßt sich in wenigen Minuten selber programmieren. Wie, steht in diesem Beitrag. Von Thomas Wölfer.

Keine schwarze Magie


Internet-Protokolle, Ports, TCP-IP, Sicherheitsfragem im Netz - all das ist relativ verwirrend. Trotzdem diese Dinge mitlerweile praktisch in das Leben jedes Computerbenutzers eingezogen sind habe einige Dinge ihren Schimmer von Magie behalten. Dazu zählen die immer wieder aufgeführten Port-Scanner. Zu leicht lassen sich Anwender von Scans beunruhigen, zu viele Personen halten solche Scans für Tätigkeiten, die nur den illuminierten zur Verfügung stehen.

Dabei sind Port-Scans eine ganz simple Angelegenheit. Ein professioneller Port-Scanner bedarf sicherlich einiger Tage Arbeit, aber viel mehr ist nicht dahinter: Ein einfach Scanner läßt sich mit wenigen Zeilen Quellcode bewerkstelligen - praktisch jeder Programmierer sollte in der Lage sein so ein Ding in wenigen Stunden zusammenzuschrauben. Genau das passiert im folgenden Beitrag, natürlich mit einer Schritt-für-Schritt Erklärung für alle.

Zuvor noch ein paar Hinweise für das Hintergrundwissen: Grundlagen-Beiträge über Netzwerke und TCP/IP finden sich im Nickles.de Netzwerk-Bereich. Mehr zum Thema Port-Scanner in der Anwendung findet sich im Bereich Hacker,Viren,Datenschutz .

Der Port-Scanner im Eingebau liegt natürlich als Quellcode vor, der Download-Link steht später im Artikel. Das Projekt kann mit VC++ in der aktuellen Version 6 verwendet werden, wer eine ältere Version benutzt kann aber einfach die paar Zeilen relevanten Quellcodes in ein altes VC-Projekt kopieren.

1. Schritt: Projekt anlegen
Als Projekt-Art wird ein MFC-basiertes Projekt vom Typ 'Dialogbox' gewählt. Die einzige Option die bei der generierung des Projektes wichtig ist, ist die Unterstützung für Windows Sockets. Wer vergisst diese Option einzuschalten kann das aber später einfach korrigieren, denn alles was dadurch passiert ist das Einfügen der folgenden Code-Zeilen im InitInstance der Anwendungsklasse:
if (!AfxSocketInit())
{
  AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
  return FALSE;
}
 
2. Schritt: Dialogbox definieren

Port-Scanner im Eigenbau

Danach wird die Dialogbox gestaltet. Diese bekommt die im Bild erkennbaren Elemente. In einem Feld kann die IP des zu scannenden Rechners eingegeben werden, mit zwei weiteren Feldern wird die Nummer des ersten zu scannenden Ports und die letzte zu scannende Nummer angegeben. Die Listbox dient dann nur noch der Aufnahme der Scan-Ergebnisse.

Artikel kommentieren