Telnet 并不支持 UDP 端口的测试,可以使用 nc 命令来进行测试。nc 命令两种都支持:
TCP
# nc -z -v -u [hostname/IP address] [port number] # nc -z -v 192.168.10.12 22 Connection to 192.118.20.95 22 port [tcp/ssh] succeeded!
UDP
# nc -z -v [hostname/IP address] [port number] # nc -z -v -u 192.168.10.12 123 Connection to 192.118.20.95 123 port [udp/ntp] succeeded!
下面是一些 nc 的简单用例:
- Start a listener on the specified TCP port and send a file into it:nc -l -p port < filename- Connect to a target listener on the specified port and receive a file from it:nc host port > received_filename- Scan the open TCP ports of a specified host:nc -v -z -w timeout_in_seconds host start_port-end_port- Start a listener on the specified TCP port and provide your local shell access to the connected party (this is dangerous and can be abused):nc -l -p port -e shell_executable- Connect to a target listener and provide your local shell access to the remote party (this is dangerous and can be abused):nc host port -e shell_executable- Act as a proxy and forward data from a local TCP port to the given remote host:nc -l -p local_port | nc host remote_port- Send an HTTP GET request:echo -e "GET / HTTP/1.1\nHost: host\n\n" | nc host 80