在Unix/Linux shell中,与网络相关的命令非常多,下面是一些常用的命令及其功能:
ping
- 用途:验证主机间的网络连通性以及测量往返延迟时间(RTT)。
ping [选项] 主机名或IP地址
- 用途:验证主机间的网络连通性以及测量往返延迟时间(RTT)。
traceroute/tracert
- 用途:跟踪数据包从源到目的经过的所有路由节点。
traceroute [选项] 主机名或IP地址 # 在Windows上是 tracert
- 用途:跟踪数据包从源到目的经过的所有路由节点。
nslookup/dig
- 用途:查询DNS记录,获取域名的IP地址或其他相关信息。
nslookup domain_name dig @nameserver domain_name
- 用途:查询DNS记录,获取域名的IP地址或其他相关信息。
netstat
- 用途:显示网络连接、路由表、网络接口统计信息等。
netstat [-tulnacp] [选项]
- 用途:显示网络连接、路由表、网络接口统计信息等。
ifconfig/ip
- 用途:配置和显示网络接口状态,包括IP地址、子网掩码、广播地址等。
ifconfig interface [options] ip addr show [interface] ip link set dev interface up/down (启用/禁用网络接口)
- 用途:配置和显示网络接口状态,包括IP地址、子网掩码、广播地址等。
route
- 用途:显示和操作IP路由表。
route -n # 显示路由表 route add/remove # 添加或删除路由条目
- 用途:显示和操作IP路由表。
iptables/nftables
- 用途:防火墙规则管理,控制进出网络的数据包过滤。
iptables -A INPUT -s IP_ADDRESS -j ACCEPT/DROP # 添加规则 nft add rule filter INPUT tcp dport port accept # nftables示例
- 用途:防火墙规则管理,控制进出网络的数据包过滤。
ss
- 用途:显示套接字统计信息,可用于替代一些netstat的功能。
ss -tulpn
- 用途:显示套接字统计信息,可用于替代一些netstat的功能。
telnet/nc (netcat)
- 用途:建立TCP连接,测试远程服务端口是否开放。
telnet hostname port nc -v hostname port
- 用途:建立TCP连接,测试远程服务端口是否开放。
ethtool
- 用途:获取和修改网络接口卡属性,如速度、双工模式等。
ethtool eth0
- 用途:获取和修改网络接口卡属性,如速度、双工模式等。
以上命令的具体选项和用法,请查阅各命令的手册页以获取详细帮助。由于技术发展和不同的Linux发行版支持程度不同,部分命令可能已经被更新或替换(比如ifconfig
逐渐被ip
命令替代)。