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 |