网络实用工具

ping 测试与目标主机的连通性

显示 解释
www.a.shifen.com (14.215.177.39) ping目标主机的域名和IP(ping会自动将域名转换为IP)
56(84) 不带包头的包大小和带包头的包大小
icmp_seq=1 ping序列,从1开始如果数字不是顺序递增即有丢包
ttl=54 数据包剩余生存时间, 默认Linux系统的TTL值为64或255
time=6.56 ms 响应时间,数值越小,联通速度越快
2 packets transmitted, 2 received, 0% packet loss, time 1001ms 发出去的包数,返回的包数,丢包率,耗费时间
rtt min/avg/max/mdev = 3.755/5.158/6.561/1.403 ms 最小/平均/最大响应时间和本机硬件耗费时间

traceroute


tracerout 对每个节点进行 UDP 的回声等待,并侦测回复的时间,每个节点侦测3次。如果出现 * 号,代表改 node 可能设有某些防护措施,让我们发送的封包资讯被丢弃。有某些节点会出现三个不同的 ip,因为到达目的地址的路径并不唯一,因此在 traceroute 过程中的可能出现不同的下一跳。

iftop 网络流量监控

yum install iftop -y

iftop
输入 N S D
Port display:                          
 N - toggle service resolution          
 S - toggle show source port           
 D - toggle show destination port      
 p - toggle port display   

netstat

查看网卡的丢包记录。比如,可以在容器中执行下面的命令,查看丢包情况:

netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       100       31      0      0 0             8      0      0      0 BMRU
lo       65536        0      0      0 0             0      0      0      0 LRU

输出中的 RX-OK、RX-ERR、RX-DRP、RX-OVR ,分别表示接收时的总包数、总错误数、进入 Ring Buffer 后因其他原因(如内存不足)导致的丢包数以及 Ring Buffer 溢出导致的丢包数。
TX-OK、TX-ERR、TX-DRP、TX-OVR 也代表类似的含义,只不过是指发送时对应的各个指标。

netstat -s 命令,就可以看到协议的收发汇总,以及错误信息了:

netstat -s
Ip:
    Forwarding: 1                  //开启转发
    31 total packets received      //总收包数
    0 forwarded                    //转发包数
    0 incoming packets discarded   //接收丢包数
    25 incoming packets delivered  //接收的数据包数
    15 requests sent out           //发出的数据包数
Icmp:
    0 ICMP messages received       //收到的ICMP包数
    0 input ICMP message failed    //收到ICMP失败数
    ICMP input histogram:
    0 ICMP messages sent           //ICMP发送数
    0 ICMP messages failed         //ICMP失败数
    ICMP output histogram:
Tcp:
    0 active connection openings   //主动连接数
    0 passive connection openings  //被动连接数
    11 failed connection attempts  //失败连接尝试数
    0 connection resets received   //接收的连接重置数
    0 connections established      //建立连接数
    25 segments received           //已接收报文数
    21 segments sent out           //已发送报文数
    4 segments retransmitted       //重传报文数
    0 bad segments received        //错误报文数
    0 resets sent                  //发出的连接重置数
Udp:
    0 packets received
    ...
TcpExt:
    11 resets received for embryonic SYN_RECV sockets  //半连接重置数
    0 packet headers predicted
    TCPTimeouts: 7                 //超时数
    TCPSynRetrans: 4               //SYN重传数
  ...

ss

-a, --all
    Display both listening and non-listening (for TCP this means established connections) sockets.

-t, --tcp
    Display TCP sockets.

-u, --udp
    Display UDP sockets.

-s, --summary
    Print summary statistics. This option does not parse socket lists obtaining summary from various  sources.  It  is  useful
    when amount of sockets is so huge that parsing /proc/net/tcp is painful.

-l, --listening
    Display only listening sockets (these are omitted by default).

-p, --processes
    Show process using socket.

-n, --numeric
    Do not try to resolve service names.

# 显示所有tcp socket
ss -t -a 

# 显示所有的UDP Socekt
ss -u -a 

# 列出当前socket详细信息
ss -s 

# 第二列Recv-Q为全连接队列当前使用了多少,第三列Send-Q 值是50,表示第四列的listen端口上的全连接队列最大为50
ss -lnt
State       Recv-Q  Send-Q        Local Address:Port                 Peer Address:Port
LISTEN       0        50               *:7999                              *:*  

sar

sar -n DEV 2 10
Linux 4.4.239-1.el7.elrepo.x86_64 (localhost.localdomain)       12/25/2020      _x86_64_        (1 CPU)

03:32:11 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
03:32:13 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
03:32:13 PM      eth0     32.66      0.50      6.48      0.09      0.00      0.00      0.00

IFACE:  就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目

Nethogs - 查看进程占用带宽情况

yum install -y nethogs 

# 这个命令意思是监控网卡eth0的带宽占用情况,每五秒刷新一次
nethogs eth0 -d 5  

# 同时监视eth0和eth1接口,使用以下命令即可:
nethogs eth0 eth1

# 以下是NetHogs的一些交互命令(键盘快捷键)
m : 修改单位
r : 按流量排序
s : 按发送流量排序
q : 退出命令提示符

IPtraf - 网络流量监控

# 安装 iptraf-ng
yum install -y iptraf-ng

iptraf-ng -d eth0

posted @ 2020-12-25 16:12  klvchen  阅读(330)  评论(0编辑  收藏  举报