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
