使用telnet、nc、nmap等工具来测试网络连通性的方法

10 min read
  • telnet:这是一个常用的命令,可以测试服务器之间或服务器与其他网络设备的IP之间的基本连通性。命令的语法很简单,就是telnet 目标IP 端口²。例如,如果你想测试你能否连接到10.0.0.1 IP地址的8080端口,那么命令就是telnet 10.0.0.1 8080²。如果连接成功,你会看到类似于Connected to 10.0.0.1.的提示;如果连接失败,你会看到类似于Connection timed out.或者Connection refused.的提示。
  • nc:这是一个非常多功能的命令,可以用于各种目的,包括网络管理和数据传输。例如,nc命令可以用来创建两台计算机之间的简单TCP连接。nc命令也可以用来连接到一个远程服务器的指定端口并发送/接收数据³。命令的语法是nc -w 超时时间 -v 目标IP 端口 < /dev/null; echo $?¹。例如,如果你想测试你能否连接到104.43.195.251 IP地址的81端口,并设置超时时间为2秒,那么命令就是nc -w 2 -v 104.43.195.251 81 < /dev/null; echo $?¹。如果连接成功,你会看到类似于Ncat: Connected to 104.43.195.251:81.并返回值为0;如果连接失败,你会看到类似于Ncat: Connection to 104.43.195.251 failed: Connection timed out.并返回值为1。
  • nmap:这是一个强大的网络扫描和安全审计工具,可以用来发现网络上的主机和服务,并分析它们的特征和漏洞。nmap命令也可以用来测试一个或多个远程端口是否开放,并显示它们所属的服务和版本信息。命令的语法是nmap -p 端口 目标IP/网段/域名 [-sV] [-Pn] [-T<速度>] [-o<输出格式>] [<其他选项>] 。例如,如果你想测试10.0.*.*网段上所有主机是否开放了22、80、443三个端口,并显示服务版本信息,并以正常速度扫描,并以XML格式输出结果到文件scan.xml中,那么命令就是 nmap -p 22,80,443 10.0.*.* -sV -T3 -oX scan.xml

(1) 6 Linux Utility to Test Network Connectivity - Geekflare. https://geekflare.com/linux-test-network-connectivity/ 访问时间 2023/2/25.
(2) 6 ways to Check a remote port is open in Linux - howtouselinux. https://www.howtouselinux.com/post/linux-5-ways-to-check-a-remote-port-is-open 访问时间 2023/2/25.
(3) Test if remote TCP port is open from a shell script. https://stackoverflow.com/questions/4922943/test-if-remote-tcp-port-is-open-from-a-shell-script 访问时间 2023/2/25.