大概整理了下 macOS、Linux 和 Windows 三个平台用于测试网络连通性的几个命令,不过并未深入。
网络连接
ping
ping 是最常用的网络连通性测试命令,主要原理是通过 ICMP 协议向目标主机发送一个请求回显的数据包,得到响应时会按时间和成功响应的次数计算丢包率和时延。
# 不间断 ping(仅 Windows,Linux 默认)ping 10.1.1.1 -t# 指定次数ping 192.168.1.1 -c 42 # Linuxping 192.168.1.1 -n 42 # Windows# 将地址解析为计算机名(不一定有用)ping 10.1.1.1 -a
端口开放
telnet
tlenet 是基于 TELNEt 协议的一种远程登陆工具,同时也是 TCP/IP 协议中的一员,虽然现在很少使用 telnet 命令进行连接(明文发送,安全性欠佳),但在 Windows 上用于检查端口开发仍是一把好手。
# 测试指定端口是否正常telnet 10.1.1.1 80# Linux 支持测试完后直接退出echo "" | telnet 10.1.1.1 80
nc
nc 全称 netcat,号称网络网络工具中的“瑞士军刀”,可以用于文件、文本传输,远程 Shell 等等,不过这里仅用于端口扫描。
# v 详细信息,z 表示仅进行端口扫描;nc -vz 10.1.1.1 80
路由追踪
路由追踪命令在 Windows 称为为 tracert
,Linux 称为为 tracepath
,而在 macOS 中是 traceroute
。
tracert
# Windowstracert www.google.com
tracepath
# Linuxtracepath www.google.com
taceroute
# macOStaceroute www.google.com