转载请注明以下内容:

来源:公众号【网络技术干货圈】

作者:圈圈

ID:wljsghq

在Linux的世界里,网络命令就像运维人员的“瑞士军刀”,无论你是需要快速定位网络故障、监控流量,还是优化网络配置,这些工具都能派上大用场。作为一名运维老兵,我深知网络问题可能让人抓狂——时而是丢包,时而是延迟,偶尔还有莫名其妙的断连。别慌!今天我将带你深入探索一系列Linux网络命令,它们不仅功能强大,还能让你在排查故障时游刃有余。这篇文章会尽量避免枯燥的技术术语,用通俗易懂的方式带你走进这些命令的硬核世界。准备好了吗?让我们开始吧!

1.ping:网络连通性的“敲门砖”

提到网络排查,ping绝对是绕不开的“老朋友”。它的作用很简单:测试你的主机和目标主机之间是否能正常通信。通过发送ICMP(互联网控制消息协议)请求并等待回复,ping能告诉你网络是否通畅,以及延迟多少。

基础用法

ping www.baidu.com 

 

运行这个命令后,你会看到一行行输出,显示每次请求的响应时间(单位是毫秒)和TTL值(生存时间)。想停下来?按Ctrl+C,它会给你一个总结:发了几包、丢了几包,平均延迟是多少。

进阶玩法

  • 限定包数
    :不想一直ping下去?用-c参数,比如ping -c 10 www.baidu.com,发10个包就停。
  • 调整包大小
    :怀疑网络对大包处理不好?试试ping -s 1000 www.baidu.com,发送1000字节的包看看效果。
  • 设置TTL
    :想测试特定跳数的连通性?用-t,如ping -t 50 www.baidu.com

实战场景

假设你发现访问某个网站很慢,第一步就是ping一下它的域名。如果有响应但延迟很高,可能是网络拥堵;如果完全没反应,问题可能出在DNS或目标服务器挂了。


2.traceroute:追踪数据包的“旅行路线”

如果ping告诉你网络不通,但你还不清楚哪里出了问题,traceroute就能派上用场。它能展示数据包从你这里到目标主机的完整路径,告诉你每经过一个路由器的情况。

基础用法

traceroute www.baidu.com 

输出会列出每一跳的IP地址和响应时间,通常最多30跳。如果某一行显示* * *,说明那个路由器没回应,可能是配置了防火墙。

进阶玩法

  • 换协议
    :默认用UDP,但可以用-I切换到ICMP,如traceroute -I www.baidu.com
  • 指定端口
    :测试特定服务时,试试-p,比如traceroute -p 443 www.baidu.com(HTTPS端口)。
  • 限制跳数
    :用-m,如traceroute -m 15 www.baidu.com

实战场景

客户反馈“网站打不开”,你ping不通,那就用traceroute看看数据包走到哪一步断了。如果在第5跳开始全是星号,问题很可能出在那台路由器。


3.netstat:网络状态的“全景图”

netstat是个多面手,能显示网络连接、路由表和接口统计,是老派运维的必备工具。尽管它逐渐被更现代的命令取代,但熟悉它依然很有价值。

基础用法

netstat -tuln 

这条命令列出所有监听中的TCP(-t)和UDP(-u)端口,-l表示只看监听状态,-n则避免解析域名,直接显示数字IP。

进阶玩法

  • 查看所有连接
    netstat -a,包括已建立的和监听的。
  • 路由表
    netstat -r,相当于route命令的输出。
  • 查进程
    netstat -p,告诉你哪个程序占用了端口。

实战场景

服务器被人投诉“端口被占”,跑个netstat -tuln看看80端口是不是被意外占用,再用-p揪出罪魁祸首。


4.ss:netstat的“升级版”

ssnetstat的接班人,速度更快,信息更丰富。它专注于socket统计,能让你快速掌握网络连接的细节。

基础用法

ss -tuln 

netstat -tuln一样,显示监听的TCP/UDP端口。

进阶玩法

  • 只看TCP
    ss -t,列出所有TCP连接。
  • 过滤状态
    ss -t state established,只看已建立的连接。
  • 详细信息
    :加-e,显示扩展信息,比如socket选项。

实战场景

服务器响应变慢,怀疑连接数过多?用ss -t | wc -l统计当前TCP连接数,再结合-p找出占用最多的进程。


5.tcpdump:网络流量的“显微镜”

如果前面命令还不够深入,tcpdump可以直接抓包,让你看到网络数据的“真面目”。它适合分析复杂问题,比如丢包、协议异常等。

基础用法

tcpdump -i eth0 

抓取eth0接口的所有流量,输出包括时间戳、源IP、目标IP和协议信息。

进阶玩法

  • 指定主机
    tcpdump host 192.168.1.100,只看这个IP的流量。
  • 指定端口
    tcpdump port 80,专注HTTP流量。
  • 保存文件
    tcpdump -w capture.pcap,存下来用Wireshark分析。

实战场景

用户说“上传文件总失败”,用tcpdump port 21抓FTP流量,看看是不是有异常重传或超时。


6.iftop:带宽使用的“实时仪表盘”

想知道网络带宽被谁占了?iftop能实时显示每个连接的流量,简单直观。

基础用法

iftop -i eth0 

 

监控eth0的流量,屏幕上会显示源IP、目标IP和速率。

进阶玩法

  • 过滤主机
    iftop -f "host 192.168.1.100"
  • 不解析
    iftop -n,用IP而非域名显示,速度更快。

实战场景

服务器流量突然飙升,用iftop一看,发现某个IP在狂下数据,可能是DDoS或误操作。


7.nslookup:DNS的“敲门员”

域名解析出问题?nslookup帮你查个明白。它能查询DNS记录,确认域名对应的IP是否正确。

基础用法

nslookup www.taobao.com 

 返回域名的IP地址和使用的DNS服务器。

进阶玩法

  • 查MX记录
    nslookup -type=mx taobao.com,看邮件服务器。
  • 指定DNS
    nslookup www.taobao.com 8.8.8.8,用Google DNS查询。

实战场景

网站打不开,但IP能ping通,用nslookup确认DNS解析有没有问题。


8.dig:DNS的“深度挖掘机”

nslookup更强大,dig提供详细的DNS解析信息,输出清晰易读。

基础用法

dig www.jd.com 

返回A记录、查询时间等完整信息。

进阶玩法

  • 查NS记录
    dig ns jd.com,看权威DNS服务器。
  • 指定服务器
    dig @114.114.114.114 www.jd.com

实战场景

解析结果不一致?用dig对比不同DNS服务器的返回,找出问题源头。


9.iptables:防火墙的“守门员”

iptables是Linux防火墙的核心,控制进出流量,保障安全。

基础用法

iptables -L -n 

列出所有规则,-n避免解析IP。

进阶玩法

  • 加规则
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT,允许SSH。
  • 删规则
    iptables -D INPUT 1,删除第一条。
  • 保存
    iptables-save > rules.txt

实战场景

服务器被攻击,紧急用iptables -A INPUT -s 恶意IP -j DROP封掉。


10.route:路由表的“导航仪”

网络不通,可能路由有问题。route帮你查看和调整路由表。

基础用法

route -n 

 

显示路由表,-n用数字显示。

进阶玩法

  • 加网关
    route add default gw 192.168.1.1
  • 加路由
    route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.2

实战场景

访问内网失败,用route -n检查默认网关是否正确。


11.arp:地址解析的“名片簿”

arp管理IP到MAC地址的映射,排查局域网问题很实用。

基础用法

arp -a 

 

显示ARP缓存。

进阶玩法

  • 加条目
    arp -s 192.168.1.100 00:11:22:33:44:55
  • 删条目
    arp -d 192.168.1.100

实战场景

怀疑ARP欺骗,用arp -a看看有没有异常MAC。


12.ip:网络配置的“全能王”

ip命令现代且强大,涵盖接口、路由和ARP管理。

基础用法

ip addr show 

显示接口IP。

进阶玩法

  • 加IP
    ip addr add 192.168.1.100/24 dev eth0
  • 加路由
    ip route add 10.0.0.0/8 via 192.168.1.1

实战场景

临时加个IP测试,用ip addr add分分钟搞定。


13.ethtool:网卡的“体检仪”

ethtool检查和设置网卡参数,比如速度和双工模式。

基础用法

ethtool eth0 

 

显示网卡状态。

进阶玩法

  • 调速度
    ethtool -s eth0 speed 1000 duplex full

实战场景

网络慢,怀疑网卡协商错误,用ethtool确认。


14.mtr:路径延迟的“实时侦探”

mtr结合pingtraceroute,动态显示每跳延迟。

基础用法

mtr www.tencent.com 

 

进阶玩法

  • 限包数
    mtr -c 20 www.tencent.com

 

实战场景

网络抖动,用mtr找出哪一跳不稳定。


15.nc:网络的“万能胶”

nc(netcat)用途广泛,可监听、连接、传文件。

基础用法

  • 监听
    nc -l 1234
  • 连接
    nc 192.168.1.100 1234

实战场景

测试端口连通性,用nc简单高效。

 

 

 

文章信息

创建时间
2025-03-20
作者
郭铭心
是否所有人可见
所有人可见
最后修改日期
2025-03-20
点击数
32
标签