Linux 网络常用命令

Linux 网络常用命令

一. IP route DNS port

1. ip

# 查看IP,网卡信息
ip a 
......
# 查看route
ip route
......

2. ss

# 查看所有TCP/UDP连接
ss -antup# 参数解释
-a all所有连接 / t tcp / u udp / n 数字不解析域名 / p 显示进程PID# 只查80/443端口(DMZ路由排查)
ss -antup | grep :80
ss -antup | grep :443# 查看监听端口(服务端口是否启动)
ss -lnpt# netstat
netstat -antup
netstat -lnp

3., lsof 查看端口对应进程、文件句柄

# 查看80端口占用进程
lsof -i :80
lsof -i TCP:443# 查看指定进程所有网络连接
lsof -p 1234

4. nc(netcat 网络调试工具,端口连通性测试)

# 测试远端端口是否通(DMZ网关、OCP router连通性)
nc -zv 203.0.113.10 443# 本地监听端口(临时服务测试)
nc -l 8080

5. DNS

nslookup admin.dmz-apps.example.com
nslookup www.baidu.com 10.1.1.2 # 指定DNS服务器查询
# A记录解析(IPv4)
dig admin.dmz-apps.example.com A# 指定DNS查询
dig @10.1.1.2 admin.dmz-apps.example.com# 反向解析(IP查域名)
dig -x 203.0.113.10# 精简输出
dig +short admin.dmz-apps.example.com

6. tcpdump

# 抓取ens192网卡所有流量
tcpdump -i ens192# 只抓443端口流量
tcpdump -i ens192 port 443# 抓取指定源/目的IP(DMZ网关抓包)
tcpdump -i ens192 host 203.0.113.10# 保存抓包文件,后续用wireshark分析
tcpdump -i ens192 -w dmz_traffic.pcap# 读取pcap文件
tcpdump -r dmz_traffic.pcap

二. 网络联通测试

1. nc netcat

# 语法 nc -zv 地址 端口
-z 仅扫描端口不发送数据,-v 显示详情# 测试单个端口
nc -zv api.dmz.example.com 443
nc -zv 10.128.0.10 8080# 批量扫描多端口
nc -zv 10.128.0.10 80 443 8080 30000# telnet
telnet api.dmz.example.com 443
# 出现 Connected 代表端口通;连接拒绝=防火墙/服务未启动

2. curl&wget

# 1. 简单GET请求,输出完整返回
curl https://api.dmz.example.com/health# 2. 只打印HTTP状态码(最实用,判断接口存活)
curl -o /dev/null -s -w "%{http_code}\n" https://api.dmz.example.com/health
# 返回 200 = 正常;404/500=服务异常;000=网络不通/端口拦截# 3. 跳过HTTPS证书校验(内网自签证书、测试环境)
curl -k https://api.dmz.example.com/health# 4. 自定义超时时间(5秒超时,防止卡死)
curl --connect-timeout 5 https://api.dmz.example.com/health# 5. POST请求,带JSON参数
curl -X POST -H "Content-Type: application/json" -d '{"user":"test"}' https://api.dmz.example.com/login# 6. 携带请求头(Token鉴权接口)
curl -H "Authorization: Bearer xxxxx" https://api.dmz.example.com/user/info# wget wget --spider --no-check-certificate --timeout=5 https://api.dmz.example.com/healthwget https://api.dmz.example.com/health -S -O /dev/null

3. ss

ss -tunap:一次性看所有 TCP/UDP 连接、数字端口、进程信息。