linux网络命令
Linux 网络命令大全:从配置到监控的完整指南
在 Linux 系统中,网络命令是管理网络、排查故障、监控连接的核心工具。无论是配置 IP 地址、测试网络连通性,还是分析网络瓶颈,掌握这些命令都能让你高效处理网络相关任务。本文将系统梳理常用网络命令,涵盖配置、查看、测试、分析等多个维度。
IP 配置:搭建网络基础
两种配置方式
(1)图形化工具 setup
setup # 启动图形化配置工具,通过界面配置IP、子网掩码等
适合新手,无需手动编辑文件,直观易用。
(2)手动编辑配置文件
Linux 网卡配置文件位于 /etc/sysconfig/network-scripts,命名规则:
ifcfg-ethX:有线网卡(eth0为第一块,eth1为第二块);ifcfg-wlanX:无线网卡;ifcfg-ethX:X:虚拟网卡(如eth0:1为eth0的子接口)。
配置文件关键参数:
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服务器(部分系统需单独配置)
生效配置:
# 重启网络服务
service network restart
# 或重启网卡
ifdown eth0 && ifup eth0
临时配置:ifconfig 命令
# 查看所有网卡信息
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
网络信息查看:掌握实时状态
基础信息:ifconfig 与 ip
ifconfig:传统工具,显示网卡 IP、MAC、状态等;ip addr:现代工具(推荐),功能更全面,支持 IPv6:ip addr show eth0 # 查看指定网卡信息
网络连接状态:netstat 与 ss
(1)netstat:传统网络状态工具
# 查看监听的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 信息,速度更快,适合高并发场景:
# 显示所有监听端口
ss -l
# 显示已建立的HTTP连接
ss -o state established '(dport = :http or sport = :http)'
# 统计socket信息
ss -s
网络测试:验证连通性与性能
连通性测试:ping
# 测试与百度的连通性
ping www.baidu.com
# 指定发送5个包,间隔2秒
ping -c 5 -i 2 www.baidu.com
参数:-c(次数)、-i(间隔)、-b(广播)。
端口可达性:telnet 与 nc
# 用telnet测试80端口
telnet www.baidu.com 80
# 用nc(netcat)测试443端口
nc -zv www.baidu.com 443
nc 更灵活,支持端口扫描:
# 扫描192.168.1.1的1-100端口
nc -v -n -z -w 1 192.168.1.1 1-100
路由追踪:traceroute 与 mtr
(1)traceroute:跟踪数据包路径
# 追踪到百度的路由(默认UDP)
traceroute www.baidu.com
# 使用ICMP协议(类似Windows的tracert)
traceroute -I www.baidu.com
(2)mtr:集成 ping 与 traceroute
# 实时显示路由丢包情况
mtr www.baidu.com
# 生成报告(10次探测,间隔2秒)
mtr -r -c 10 -i 2 www.baidu.com
DNS 配置与域名解析
DNS 配置文件:/etc/resolv.conf
nameserver 114.114.114.114 # 主DNS
nameserver 8.8.8.8 # 备用DNS
options timeout:1 rotate # 超时1秒,轮询DNS
注意:部分系统(如 CentOS 7+)会通过
NetworkManager自动覆盖该文件,需在网卡配置中指定DNS1。
域名解析工具
(1)nslookup:简单查询
nslookup www.baidu.com # 查IP
nslookup -type=NS baidu.com # 查NS记录
(2)dig:高级 DNS 查询
# 查A记录
dig www.baidu.com
# 追踪解析过程(从根服务器开始)
dig www.baidu.com +trace
# 查MX记录
dig baidu.com MX
高级工具:抓包与路由管理
数据包捕获:tcpdump
tcpdump 是排查网络问题的 “瑞士军刀”,需 root 权限:
# 抓取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
路由管理:route 与 ip route
(1)route:传统路由命令
# 添加默认路由
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:现代路由工具
# 查看路由表
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