常用网络命令工具

注:以下命令如不特殊说明,都是在Mac环境下操作,其他系统的命令可能有所不同。

ping

ping是最常用的命令,用来测试数据包能否透过IP协议到达特定主机。ping的运作原理是向目标主机传出一个ICMP echo@要求数据包,并等待接收echo回应数据包。程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间。

1
2
3
4
5
ping arayzou.com  // 不间断的每秒执行
ping 8.8.8.8 // 可以直接ping IP
ping -c 10 arayzou.com // 指定执行次数
ping -i 0.4 arayzou.com // 指定间隔时间,单位秒
ping --help // 帮助

ssh

一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。常用来远程登录系统。

1
2
3
ssh user@hostname
ssh root@8.8.8.8
ssh-keygen -t dsa // 构建ssh密匙对

traceroute / tracert / tracert

用于显示数据包在网络上经过的路由器的IP地址

Mac下的traceroute;windows下的tracert;Linux下的tracert

1
traceroute arayzou.com

ipconfig / ifconfig

用来获取网络接口配置信息并对此进行修改。windows下的ipconfig对应Linux/Mac下的ifconfig。

修改配置信息的功能大致列举如下:

  • 开启/关闭指定的网络设备
  • 配置网卡的IPv4/IPv6地址
  • 设置网卡传输队列的长度
  • 设置网卡的子网掩码
  • 设置网卡的最大传输单元
1
ifconfig  // 获取本机网络接口配置信息

nslookup

用于查询域名DNS的记录。经常用来检查域名解析是否正常,在网络故障的时候用来诊断网络问题。

1
2
3
nslookup domain [dns-server]
nslookup arayzou.com // 不指定dns-server用系统默认DNS服务器
nslookup -qt=type domain [dns-server] //指定参数,查询其他记录

Non-authoritative answer(未授权的回答):指DNS缓存,

dig

解析域名DNS除了nslookup,dig命令也可以用来解析域名,dig可以得到更多的域名信息。

1
2
dig arayzou.com
dig -t MX arayzou.com // 查询MX记录类型

whois

顾名思义,用于查找并显示用户/域名信息

1
whois arayzou.com

netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

1
netstat -a  // 列出所有连线

telnet

用来探查远端的某个端口是否可访问。
用来做远程登录。

1
telnet 8.8.8.8 8080

nmap

用于检测目标主机的端口、服务类型、版本信息扫描,需要安装。

1
nmap 8.8.8.8