路径可达性测试 telnet

  1. telnet

    1. [root@VM-0-11-centos ~]# telnet www.baidu.com 443
    2. Trying 112.80.248.75...
    3. Connected to www.baidu.com.
    4. Escape character is '^]'.
  2. nc

    1. $ nc -w 2 -zv www.baidu.com 443
    2. Connection to www.baidu.com 443 port [tcp/https] succeeded!

查看当前连接状况 netstat

  1. [root@VM-0-11-centos ~]# netstat -ant
  2. Active Internet connections (servers and established)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
  5. tcp 0 0 0.0.0.0:63791 0.0.0.0:* LISTEN
  6. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
  7. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
  8. tcp 0 0 10.206.0.11:58404 169.254.0.138:8086 ESTABLISHED
  9. tcp 0 0 10.206.0.11:45750 169.254.0.55:5574 ESTABLISHED
  10. tcp 0 0 10.206.0.11:22 219.142.100.74:2622 ESTABLISHED
  11. tcp 0 0 10.206.0.11:22 222.129.52.204:36691 ESTABLISHED
  12. tcp6 0 0 :::3306 :::* LISTEN
  13. tcp6 0 0 :::63791 :::* LISTEN
  14. tcp6 0 0 :::22 :::* LISTEN
  15. tcp6 0 0 ::1:25 :::* LISTEN

ss

  1. [root@VM-0-11-centos ~]# ss -s
  2. Total: 270 (kernel 290)
  3. TCP: 17 (estab 4, closed 5, orphaned 0, synrecv 0, timewait 1/0), ports 0
  4. Transport Total IP IPv6
  5. * 290 - -
  6. RAW 0 0 0
  7. UDP 5 3 2
  8. TCP 12 8 4
  9. INET 17 11 6
  10. FRAG 0 0 0

查看当前连接的传输速率 iftop

  • 你的网络跑得挺繁忙的,但你却不知道哪个连接占用了大量的带宽?你可以用 iftop (需要安装 + sudo 执行)

这样可以方便的查看各客户端流量情况。iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等

  • 监控某网卡
    • iftop -i eth0 -n
  • 同时显示是什么服务
    • iftop -i eth0 -n -P

iftop
image.png

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的< = =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

常用参数

  1. -i  设定监测的网卡,如:# iftop -i eth1
  2. -B  以bytes为单位显示流量(默认是bits),如:# iftop -B
  3. -n  使host信息默认直接都显示IP,如:# iftop -n
  4. -N  使端口信息默认直接都显示端口号,如: # iftop -N
  5. -F  显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
  6. -h  (display this message),帮助,显示参数信息
  7. -p  使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
  8. -b  使流量图形条默认就显示;
  9. -f  这个暂时还不太会用,过滤计算包用的;
  10. -P  使host信息及端口信息默认就都显示;
  11. -m  设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)

  1. 进入iftop画面后的一些操作命令(注意大小写)
  2. h切换是否显示帮助;
  3. n切换显示本机的IP或主机名;
  4. s切换是否显示本机的host信息;
  5. d切换是否显示远端目标主机的host信息;
  6. t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
  7. N切换显示端口号或端口服务名称;
  8. S切换是否显示本机的端口信息;
  9. D切换是否显示远端目标主机的端口信息;
  10. p切换是否显示端口信息;
  11. P切换暂停/继续显示;
  12. b切换是否显示平均流量图形条;
  13. B切换计算2秒或10秒或40秒内的平均流量;
  14. T切换是否显示每个连接的总流量;
  15. l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
  16. L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
  17. j或按k可以向上或向下滚动屏幕显示的连接记录;
  18. 123可以根据右侧显示的三列流量数据进行排序;
  19. 按< 根据左边的本机名或IP排序; 按>根据远端目标主机的主机名或IP排序;
  20. o切换是否固定只显示当前的连接;
  21. f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
  22. 按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
  23. q退出监控。

查看丢包和乱序等的统计 netstat

  1. $ netstat -s
  2. ......
  3. Tcp:
  4. 16 active connection openings
  5. 1 passive connection openings
  6. 8 failed connection attempts
  7. 1 connection resets received
  8. 1 connections established
  9. 6254 segments received
  10. 4035 segments sent out
  11. 1 segments retransmitted
  12. 0 bad segments received
  13. 3 resets sent
  14. ......
  15. TcpExt:
  16. 1 ICMP packets dropped because socket was locked
  17. 3 TCP sockets finished time wait in fast timer
  18. 8 delayed acks sent
  19. 4674 packet headers predicted
  20. 10 acknowledgments not containing data payload received
  21. 1008 predicted acknowledgments
  22. TCPTimeouts: 1
  23. TCPBacklogCoalesce: 140
  24. 1 connections reset due to early user close
  25. TCPRcvCoalesce: 2187
  26. TCPAutoCorking: 110
  27. TCPSynRetrans: 1
  28. TCPOrigDataSent: 1041
  29. TCPDelivered: 1049

想知道当前情况

  1. watch --diff netstat -s

image.png