Mit der Hilfe von netcat lassen sich TCP/UDP Verbindungen bzw. Erreichbarkeit von Ports unter Linux testen.
Netcat ist in der Regel bereits vorinstalliert, kann ansonsten per netcat-openbsd installiert werden.
Netcat hat zwei Modi
- Server: nc -l lokalport (nc -l 1234)
Netcat lauscht auf dem angegebenen Port für unbegrenzte Zeit auf eine eingehende Verbindung.
Wurde eine Verbindung aufgebaut und wieder geschlossen wurde, beendet sich Netcat.
- Client: nc zielserver zielport (nc -vz 192.168.1.110 80)
Mit der IP-Adresse 192.168.1.110 und dem Port 80 soll sich Netcat verbinden. In dem Client-Modus muss auf dem Zielrechner und -port schon eine Server-Anwendung warten, andernfalls beendet sich Netcat mit einem Fehler.
Hinweis: Funktioniert natürlich nur, solange keine Firewall zwischen den jeweiligen Netzwerken der Systeme die Verbindungen blockiert!Wichtige Parameter:
- -v => aktiviert ausführlichere Ausgaben
- -z => nc scannt nur nach lauschenden ("listening") Diensten (Portscan)
- -l => nc wartet auf eingehende Verbindungen ("listen")
Auch ein simpler Dateitransfer ist möglich, siehe https://de.wikipedia.org/wiki/Netcat#Einfaches_Dateikopieren.
Auch ein einfacher Portscan ist mit netcat möglich:
nc -zv localhost 20-23
Siehe auch Liste der standardisierten Ports https://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports.
- 22 - TCP/UDP => Secure Shell (SSH) wird für verschlüsselte Fernwartung und Dateiübertragung genutzt (scp, sftp) sowie für getunnelte Portweiterleitun.