0%

linux网络命令

Linux 网络命令大全:从配置到监控的完整指南

在 Linux 系统中,网络命令是管理网络、排查故障、监控连接的核心工具。无论是配置 IP 地址、测试网络连通性,还是分析网络瓶颈,掌握这些命令都能让你高效处理网络相关任务。本文将系统梳理常用网络命令,涵盖配置、查看、测试、分析等多个维度。

IP 配置:搭建网络基础

两种配置方式

(1)图形化工具 setup
1
setup  # 启动图形化配置工具,通过界面配置IP、子网掩码等

适合新手,无需手动编辑文件,直观易用。

(2)手动编辑配置文件

Linux 网卡配置文件位于 /etc/sysconfig/network-scripts,命名规则:

  • ifcfg-ethX:有线网卡(eth0 为第一块,eth1 为第二块);
  • ifcfg-wlanX:无线网卡;
  • ifcfg-ethX:X:虚拟网卡(如 eth0:1eth0 的子接口)。

配置文件关键参数

1
2
3
4
5
6
7
8
DEVICE="eth0"          # 网卡名称
BOOTPROTO=static # IP获取方式(static/dhcp/none)
TYPE=Ethernet # 网卡类型(以太网)
ONBOOT=yes # 开机启动
IPADDR=192.168.1.100 # IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关
DNS1=114.114.114.114 # DNS服务器(部分系统需单独配置)

生效配置

1
2
3
4
# 重启网络服务
service network restart
# 或重启网卡
ifdown eth0 && ifup eth0

临时配置:ifconfig 命令

1
2
3
4
5
6
7
8
9
10
11
12
# 查看所有网卡信息
ifconfig

# 临时配置IP和子网掩码(重启失效)
ifconfig eth0 192.168.1.200 netmask 255.255.255.0

# 禁用/启用网卡
ifdown eth0
ifup eth0

# 修改MAC地址(需先禁用网卡)
ifconfig eth0 hw ether 00:11:22:33:44:55

网络信息查看:掌握实时状态

基础信息:ifconfigip

  • ifconfig:传统工具,显示网卡 IP、MAC、状态等;

  • ip addr:现代工具(推荐),功能更全面,支持 IPv6:

    1
    ip addr show eth0  # 查看指定网卡信息

网络连接状态:netstatss

(1)netstat:传统网络状态工具
1
2
3
4
5
6
7
8
9
10
11
# 查看监听的TCP/UDP端口及进程
netstat -tunlp

# 查看所有连接(包括已建立和监听)
netstat -an

# 查看路由表
netstat -rn

# 统计TCP连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

参数说明

  • -t(TCP)、-u(UDP)、-n(数字显示)、-l(监听)、-p(进程)。
(2)ss:替代 netstat 的高效工具

ss 直接读取 /proc/net 信息,速度更快,适合高并发场景:

1
2
3
4
5
6
7
8
# 显示所有监听端口
ss -l

# 显示已建立的HTTP连接
ss -o state established '(dport = :http or sport = :http)'

# 统计socket信息
ss -s

网络测试:验证连通性与性能

连通性测试:ping

1
2
3
4
5
# 测试与百度的连通性
ping www.baidu.com

# 指定发送5个包,间隔2秒
ping -c 5 -i 2 www.baidu.com

参数-c(次数)、-i(间隔)、-b(广播)。

端口可达性:telnetnc

1
2
3
4
5
# 用telnet测试80端口
telnet www.baidu.com 80

# 用nc(netcat)测试443端口
nc -zv www.baidu.com 443

nc 更灵活,支持端口扫描:

1
2
# 扫描192.168.1.1的1-100端口
nc -v -n -z -w 1 192.168.1.1 1-100

路由追踪:traceroutemtr

(1)traceroute:跟踪数据包路径
1
2
3
4
5
# 追踪到百度的路由(默认UDP)
traceroute www.baidu.com

# 使用ICMP协议(类似Windows的tracert)
traceroute -I www.baidu.com
(2)mtr:集成 pingtraceroute
1
2
3
4
5
# 实时显示路由丢包情况
mtr www.baidu.com

# 生成报告(10次探测,间隔2秒)
mtr -r -c 10 -i 2 www.baidu.com

DNS 配置与域名解析

DNS 配置文件:/etc/resolv.conf

1
2
3
nameserver 114.114.114.114  # 主DNS
nameserver 8.8.8.8 # 备用DNS
options timeout:1 rotate # 超时1秒,轮询DNS

注意:部分系统(如 CentOS 7+)会通过 NetworkManager 自动覆盖该文件,需在网卡配置中指定 DNS1

域名解析工具

(1)nslookup:简单查询
1
2
nslookup www.baidu.com  # 查IP
nslookup -type=NS baidu.com # 查NS记录
(2)dig:高级 DNS 查询
1
2
3
4
5
6
7
8
# 查A记录
dig www.baidu.com

# 追踪解析过程(从根服务器开始)
dig www.baidu.com +trace

# 查MX记录
dig baidu.com MX

高级工具:抓包与路由管理

数据包捕获:tcpdump

tcpdump 是排查网络问题的 “瑞士军刀”,需 root 权限:

1
2
3
4
5
6
7
8
# 抓取eth0网卡的所有包
tcpdump -nn -i eth0

# 抓取8080端口的TCP包并保存
tcpdump -i eth0 tcp port 8080 -w traffic.pcap

# 抓取指定IP的HTTP请求(ASCII显示)
tcpdump -i eth0 tcp and host 192.168.1.100 and port 80 -A -s 0

路由管理:routeip route

(1)route:传统路由命令
1
2
3
4
5
6
7
8
# 添加默认路由
route add default gw 192.168.1.1

# 添加静态路由(访问10.0.0.0网段走eth1)
route add -net 10.0.0.0 netmask 255.255.255.0 dev eth1

# 删除路由
route del default gw 192.168.1.1
(2)ip route:现代路由工具
1
2
3
4
5
6
7
8
# 查看路由表
ip route show

# 添加静态路由
ip route add 10.0.0.0/24 via 192.168.1.2 dev eth0

# 删除路由
ip route del 10.0.0.0/24

欢迎关注我的其它发布渠道