轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
轻源码 门户 电脑主程序开源 查看主题

第十章 网络工具--基于Linux3.10

发布者: eilove | 发布时间: 2018-2-12 17:10| 查看数: 2115| 评论数: 0|帖子模式

在测试io设备时,常常会用到iostat、iotop工具,在查看内存时常常用到vmstat、free、slabtop工具,在查看调度器时,常常使用mpstat、top以及ps工具。这里来说说网络相关的工具,有性能分析、网络管理、状态查看类工具。下面的一张图显示了网络相关工具和其作用的层次关系。

d5f222da1ab75270c575e405f5676a85.png

图10.1 网络工具

由上至下的来看该这些工具。

 ss

ss是iproute2包提供的工具,该包此外还支持非常重要的ip命令,ip命令设计的初衷是替代ifconfig(net-tools工具包,net-tools支持网络接口配置,路由表以及ARP表的管理),但是目前pc和服务器上通常对两种工具都支持,但是嵌入式环境对ip的支持需要开发者完成移植工作。ss工具由于导出套接字的统计信息,和图中的netstat作用类似,但是可以显示更过的TCP和网络状态信息。ss-h可以查看帮助信息。

1、查看所有打开的tcp端口使用如下命令:

ss-tnap

2、可以使用-4或者-6参数指定tcp端口是IPv4还是IPv6:

ss-tnap4

3、查看udp使用如下命令:

ss-unap

4、统计信息使用如下命令:

ss-s

例如如下是该命令的输出:

Total:684 (kernel 0)

TCP:  111 (estab 75, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0

 

TransportTotal     IP        IPv6

*        0         -        -        

RAW      0         0        0        

UDP      43        29       14       

TCP      111       96        15      

INET     154       125       29      

FRAG     0         0        0  

5、还可以使用连接状态过滤选项如下:

 ss-o state established '( dport = :ssh or sport = :ssh )'

netstat工具

 netstat[-vWnNcaeol] [<Socket> ...]

      netstat { [-vWeenNac] -i | [-cWnNe] -M | -s }

路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IPTCPUDPICMP协议相关的统计数据,一般用于检验本机各端口网络连接情况。

netstress

netstress是一个DDos和网络压测工具,DDos(分布式拒绝服务),对电子商务网站而言,如果这种攻击在双十一对其攻击,目前其没有很好的方法处理。测试的攻击类型包括SYN,ACK,FIN,UDP,ICMP,HTTP,Mixed,DNS。

netperf参考

netperf网络性能检测工具-嵌入式

iperf

iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失。

1)TCP测试

服务器执行:./iperf -s -i 1 -w 1M 这裏是指定Linux,如果是 iperf -s则是windows平台下命令。默认包大小为8kbyte/s

客户端执行:./iperf -c host -i 1-w 1M

其中-w表示TCP window size,host需替换成服务器地址。

2)UDP测试

服务器执行:./iperf -u -s

客户端执行:./iperf -u -c10.255.255.251 -b 900M -i 1 -w 1M -t 60

其中-b表示使用多少带宽,1G的线路你可以使用900M进行测试。

iptraf

网络流量实时监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的流量,还可以设置过滤器等

源码安装

wget ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz

tarzxvf iptraf-3.0.0.tar.gz

cd iptraf-3.0.0

./Setup

直接运行 iptraf,后有一个如下的菜单提示,然后进入相关的选项查看

 IP流量监视(IP traffic monitor)

网络接口的一般信息统计(General InterfaceStatistics)

网络接口的细节信息统计(Detailed InterfaceStatistics)

统计分析(StatisticalBreakdowns)

局域网工作站统计(LAN StationStatistics)

过滤器(Filters...)

配置(Configure...)

退出(Exit)

TcpDump

可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

nicstat

网络流量统计实用工具

nicstat使用

在解压包目录nicstat-1.92内,有个nicstat.sh脚本.

查看网卡速度(-l):

[root@CentOS192 nicstat-1.92]#./nicstat.sh -l

Int      Loopback  Mbit/s Duplex State

lo            Yes        -  unkn    up

eth0           No     1000  full    up

间隔3秒,查看2次结果(留意%Util和Sat):

[root@centos192nicstat-1.92]# ./nicstat 3 2

   Time     Int   rKB/s   wKB/s  rPk/s   wPk/s    rAvs   wAvs %Util    Sat

06:19:46       lo   0.72    0.72    2.15   2.15   341.2   341.2 0.00   0.00

06:19:46     eth0   0.89    0.15    1.37   0.92   660.4   163.6 0.00   0.00

   Time     Int   rKB/s   wKB/s  rPk/s   wPk/s    rAvs   wAvs %Util    Sat

06:19:49       lo   0.00    0.00    0.00   0.00    0.00    0.00 0.00   0.00

06:19:49     eth0   0.02    0.12   0.33    0.33   66.00  354.0  0.00   0.00

Time列:表示当前采样的响应时间.

lo and eth0 : 网卡名称.

rKB/s : 每秒接收到千字节数.

wKB/s : 每秒写的千字节数.

rPk/s : 每秒接收到的数据包数目.

wPk/s : 每秒写的数据包数目.

rAvs : 接收到的数据包平均大小.

wAvs : 传输的数据包平均大小.

%Util : 网卡利用率(百分比).

Sat : 网卡每秒的错误数.网卡是否接近饱满的一个指标.尝试去诊断网络问题的时候,推荐使用-x选项去查看更多的统计信息.

ethtool工具:

ethtool ethX /

ethtool –h //显示ethtool的命令帮助(help)

ethtool –i ethX //查询ethX网口的相关信息

ethtool –d ethX //查询ethX网口注册性信息

ethtool –r ethX //重置ethX网口到自适应模式

ethtool –S ethX //查询ethX网口收发包统计

ethtool –s ethX [speed10|100|1000]\ //设置网口速率10/100/1000M

[duplex half|full]\ //设置网口半/全双工

[autoneg on|off]\ //设置网口是否自协商

[port tp|aui|bnc|mii]\//设置网口类型

ip命令,对OBJECT 中的对象进行配置,命令功能很强大。源于iproute2工具,默认已安装,使用内核的Netlink机制和内核交互。

Usage: ip [ OPTIONS ]OBJECT { COMMAND | help }

      ip [ -force ] -batch filename

where  OBJECT :={ link | addr | addrlabel | route | rule | neigh | ntable |

                  tunnel | tuntap | maddr |mroute | mrule | monitor | xfrm |

                  netns }

      OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |

                   -f[amily] { inet | inet6 | ipx| dnet | link } |

                   -l[oops] {maximum-addr-flush-attempts } |

                   -o[neline] | -t[imestamp] |-b[atch] [filename] |

                   -rc[vbuf] [size]}

 


最新评论

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

客服QQ点击咨询

微信公众号

APP客户端

Copyright © 2016-2019 http://www.qingyuanma.com/ 鲁ICP备17014494号

快速回复 返回顶部 返回列表