常用命令
网络命令 | linux | windows |
---|---|---|
查询ip地址 | ip/ifconfig | ipconfig |
检查端口号 | ss/netstat/lsof / nc/telnet/nmap | netstat -ant |
检查连接情况 | ss -ant /netstat -ant | netstat -ant |
检查速度 | iftop /nethogs | 任务管理器 |
dns解析 | dig/host/nslookup | nslookup |
路径追踪 | traceroute | tracert |
查询当前系统配置的网关/路由信息 | ip route /route -n | route print |
检查端口
案例:是否存在22端口
在对应服务器上
# 方法01 推荐
# -p 表示显示端口对应的进程的信息。
ss -lntup |grep 22
ss -lntu
# 方法02
# grep -w 精确过滤.
netstat -lntup |grep -w 22
# 方法03
lsof -i :22
lsof -ni :22
lsof -nPi :22
lsof -n 不要把ip反向解析为主机名、域名。
lsof -P 不要把端口解析为对应的服务。
不在对应服务器上
#方法01 telnet
# 命令行中推荐使用,检查是否有 connected 标记。
telnet 10.0.0.200 22
#方法02 nc
# 这个一般用于shell脚本中检查端口是否开启。
nc -v 10.0.0.200 22
#方法03 nmap 网络扫描工具。
nmap -p22 10.0.0.200
PORT STATE SERVICE
# nmap结果中只要有 端口 open就是开启 。
22/tcp open ssh
# nmap进阶使用
nmap -p1-1024 10.0.0.200 # 扫描端口 1-1024
nmap -p22 10.0.0.0/24 jd.com taobao.com # 扫描多个域名的 22 端口是否打开
小结
ss -lntup
netstat -lntup
lsof -i:22
telnet 10.0.0.200 22
nc 10.0.0.200 22
nmap -p22 10.0.0.200
检查 tcp 连接状态
ss -ant
netstat -ant
# 并发: 同一时间内,用户连接数量.
ss -ant |awk 'NR>1 ՎҐ $4~/:80$/ {print $1}'|sort|uniq -c
# ab压力测试网站
ab -n 90000000 -c 3 http://10.0.0.200/
网络速度
总体的速度
iftop 2s 10s 40s数据传输平均速度
iftop -n # ip反向解析为域名/主机名
iftop -i # 指定网卡. 默认eth0 第1个网卡.
iftop -P # 显示端口
iftop -N # 不要把端口解析为服务名字
# 最终使用.
iftop -nNP -i eth0 #显示端口号,不要把ip解析为域名,不要把端口解析为服务, 监视指定网卡eth0
进程流量
# 查看进程的流量情况.
# 方法01: iftop, ss, ps 一起使用
iftop 找出端口.
ss 找出端口对应的进程号(pid)
ps 根据pid过滤进程名字.
# 方法02: nethogs
nethogs
DNS 解析
#方法01 dig
#方法02 host
host jd.com
#方法03 nslookup
nslookup www.baidu.com
追踪命令
#01 两点之间. ping
ping baidu.com
#02 tracert(windows) traceroute (linux 安装: yum install -y traceroute)
# linux
traceroute -nI www.baidu.com # 默认使用 udp 协议, -I 使用 icmp 协议.
# windows
tracert -d www.baidu.com