Liste weiterer Kommandozeilentools
In dieser Rubrik werden verschiedene Kommandozeilentools aufgelistet, die sich ebenso in Batch-Dateien verwenden lassen. Es sind zumeist Portierungen bekannter Unix-Kommandozeilentools oder aber Freeware für Windows.
Alle genannten Programme gehören nicht(!) zum Umfang von MS Windows.
nc
BefehlName
Kurzbeschreibung
Autor
Webseite
Lizenz
Syntax
Beispiele
Netcat - Check von Ports auf verschiedenen Servern
Links
Befehl | nc |
Name | NetCat |
Kurzbeschreibung | Schweizer Armeemesser für TCP/IP |
Autor | |
Webseite | http://netcat.sourceforge.net/ |
Lizenz | GNU |
Syntax | connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [options] [hostname] [port] options: -d detach from console, background mode -e prog inbound program to exec [dangerous!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h this cruft -i secs delay interval for lines sent, ports scanned -l listen mode, for inbound connects -L listen harder, re-listen on socket close -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -s addr local source address -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -z zero-I/O mode [used for scanning] port numbers can be individual or ranges: m-n [inclusive] |
Beispiele |
Netcat - Check von Ports auf verschiedenen ServernUm einen TCP Port auf einem Host zu prüfen, ist dieallg. Syntax: nc -zv %host% %port% Den Parameter -z verwendet man für den Portscan; -v für eine sinnvolle Ausgabe. Ein Beispiel: # nc -zv www.axel-hahn.de 80 www.axel-hahn.de [81.169.145.89] 80 (http) open Ich will aber mehrere Server auf versch. offene Ports testen: Mit einer kleinen Config und einem Loop darüber mit Hilfe einer FOR-Anweisung, kann man sich einen schnellen Server-Check zusammenbauen. Klein deshalb, weil der Check sequentiell erfolgt und damit allenfalls kleinste Monitoring Aufgaben übernehmen kann. Die Config ist wie folgt aufgebaut: Angegeben werden Hostname, Portnummer und ein Beschreibungstext. Trennzeichen ist ":". Am Zeilenanfang geschriebene "#" sind Kommentare. Dateiname ist tests.txt - oder man passt es im darunter folgenden Skript in der Zeile set cfg=tests.txtan. Config: # ---------------------------------------------------------------------- # Konfiguration fuer den Portchecker # Syntax # hostname:port:label # ---------------------------------------------------------------------- ftp.example.com:21:FTP-Server erreichbar ssh.example.com:22:SSH erreichbar telnet.example.com:25:Telnet-Dienst erreichbar webserver01.example.com:80:Webseite ist erreichbar ssl.example.com:443:SSL-Webseite ist mit https erreichbar mysql.example.com:3306:Mysql-Server ist erreichbar # ---------------------------------------------------------------------- Und hier ein Skript mit Loop über diese Config und einem Portcheck je Zeile. Als kleines Gimmick erfolgt die Ausgabe in (unvollständigem) HTML und farblicher Hervorhebung. @echo off rem ====================================================================== :: :: PORTCHECKER MIT NETCAT :: rem ---------------------------------------------------------------------- :: 2010-02-17 Axel Hahn rem ====================================================================== set cfg=tests.txt set tmp=%temp%/tests.tmp set htm=%temp%/tests.html rem --- html vorbereiten echo.>%htm% echo ^<style^> >>%htm% echo .error{background:#fcc} >>%htm% echo .ok{background:#4c4} >>%htm% echo ^</style^> >>%htm% echo ^<h1^>Port-Checker - >>%htm% date /t >>%htm% time /t >>%htm% echo ^</h1^> >>%htm% for /F "tokens=1,2,* delims=:" %%a in ('findstr /v "^#" %cfg%') do call :porttest %%a %%b "%%c" start %htm% pause && exit :porttest set host=%1 set port=%2 set label=%~3 nc -v -z %host% %port% 2>&1 | findstr /v "11004" | findstr "open$" 2>&1 >%tmp% && goto OK echo FEHLER: %host%:%port% - %label% echo ^<span class=error^>FEHLER: %host%:%port% - %label% >>%htm% goto log :ok echo OK: %host%:%port% - %label% echo ^<span class=ok^>OK: %host%:%port% - %label% >>%htm% goto log :log echo ^</span^>^<br^> >>%htm% goto eof :eof |
Links | Beispiele: http://www.remoteshell-security.com/netcat.php |