Linux系统下使用工具调试网络性能的方法(图)

来源:191路由网 2020-08-31 04:06:05

原标题:"Linux系统下使用工具调试网络性能的方法"相关电脑问题教程分享。 - 来源:191路由网

  众所周知,Linux系统网络性能可以用工具来测试,主要的测试工具有route、netstat、tcpdump。今天,我们就针对这三种工具来详细的说说Linux系统下使用工具调试网络性能的方法。

Linux系统

  一:route

  在配置网络时,要为机器指定接收数据包时该包要经过的路径。在Linux系统中,提供一个命令route,这个命令可以为ifconfig命令配置的网卡设置静态路由。这种设置工作通常在/etc/rc.d/rc.inet1中引入,在系统引导时进行。

  我们通过几个例子来说明如何使用route命令:

  route add -net 127.0.0.0

  这个命令将向路由表中添加一个指定地址或者网络的路由。注意此时网络为A类地址,掩码被设置为255.0.0.0,这个新添加的条目被连接到lo设备上。

  route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0

  这个命令为IP地址为xxx.xxx.xxx.xxx的主机增加一个路由,它的网络掩码被设置为255.255.255.0。

  route del -net xxx.xxx.xxx.xxx

  此命令将删除xxx.xxx.xxx.xxx这个网络的路由。

  使用route命令还可以很方便地对整个网络的路由信息进行管理,其输出结果是网络的路由表。如下所示:

  -----------------------------------------------------------------

  [root@lee /root]#route

  Kernel IP routing table

  Destination Gateway Genmask Flags Metric Ref Use Iface

  10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0

  10.10.8.0 * 255.255.255.0 U 0 0 0 eth0

  127.0.0.0 * 255.0.0.0 U 0 0 0 lo

  default dgc8.njupt.edu 0.0.0.0 UG 0 0 0 eth0

  default dgc8.njupt.edu 0.0.0.0 UG 1 0 0 eth0

  [root@lee /root]#

  -----------------------------------------------------------------

  输出结果中各个字段的含义是:

  · Destination表示路由的目标IP地址。

  · Gateway表示网关使用的主机名或者是IP地址。上面输出的“*”表示没有网关。

  · Genmask表示路由的网络掩码。在把它与路由的目标地址进行比较之前,内核通过Genmask和数据包的IP地址进行按位“与”操作来设置路由。

  · Flags是表示路由的标志。可用的标志及其意义是:U表示路由在启动,H表示target是一台主机,G表示使用网关,R表示对动态路由进行复位设置;D表示动态安装路由,M表示修改路由,!表示拒绝路由。

  · Metric表示路由的单位开销量。

  · Ref表示依赖本路由现状的其它路由数目。

  · Use表示路由表条目被使用的数目。

  · Iface表示路由所发送的包的目的网络。

  通过查看这些输出信息,我们就可以方便地管理网络的路由表了。
[page]

  二:netstat

  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。在计算机上执行netstat后,其输出结果如下所示:

  -----------------------------------------------------------------

  [root@lee /root]#netstat

  Active Internet connections (w/o servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  Active UNIX domain sockets (w/o servers)

  Proto RefCnt Flags Types State I-Node Path

  Unix 5 [ ] DGRAM 460 /dev/log

  Unix 0 [ ] STREAM CONNECTED 173 @00000014

  Unix 0 [ ] DGRAM 662

  Unix 0 [ ] DGRAM 631

  Unix 0 [ ] DGRAM 544

  Unix 0 [ ] DGRAM 484

  Unix 0 [ ] DGRAM 470

  [root@lee /root]#

  -----------------------------------------------------------------

  从整体上看,netstat的输出结果可以分为两个部分:第一部分:是Active Internet connections,称为有源TCP连接,在上面的输出结果中,这一部分没有内容,表示暂时还没有TCP连接。第二部分:是Active UNIX domain sockets,称为有源Unix域套接口。输出结果显示的是Unix域套接口的连接情况:

  · Proto显示连接使用的协议。

  · RefCnt表示连接到本套接口上的进程号。

  · Types显示套接口的类型。

  · State显示套接口当前的状态。

  · Path表示连接到套接口的其它进程使用的路径名。

  可以用netstat -a来查看所有套接字的状态,这在您调试网络程序的时候是非常有用的。netstat -r将显示路由表的内容,一般还要同时指定“-n”选项,这样可以得到数字格式的地址,也可显示默认路由器的IP地址。使用netstat -i则将显示所有的网络接口信息。使用netstat还可以获得当前的网络状态以及网络的拓扑结构,这在实际中是非常有用的。
[page]

  三:tcpdump

  tcpdump命令用于监视TCP/IP连接并直接读取数据链路层的数据包头。您可以指定哪些数据包被监视、哪些控制要显示格式。例如我们要监视所有Ethernet上来往的通信,执行下述命令:

  tcpdump -i eth0

  即使是在一个相对平静的网络上,也有很多的通信,所以我们可能只需要得到我们感兴趣的那些数据包的信息。在一般情况下,TCP/IP栈只为本地主机接收入站的数据包绑定同时忽略网络上的其它计算机编址(除非您使用的是一台路由器)。当运行tcpdump命令时,它会将TCP/IP栈设置为 promiscuous模式。该模式可接收所有的数据包并使其有效显示。如果我们关心的只是我们本地主机的通信情况,一种方法是使用“-p”参数禁止 promiscuous模式,还有一种方法就是指定主机名:

  tcpdump -i eth0 host hostname

  此时,系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:

  tcpdump -i eth0 src host hostname

  下面的命令可以监视所有送到主机hostname的数据包:

  tcpdump -i eth0 dst host hostname

  我们还可以监视通过指定网关的数据包:

  tcpdump -i eth0 gateway Gatewayname

  如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:

  tcpdump -i eth0 host hostname and port 80

  该命令将显示从每个数据包传出的头和来自主机hostname对端口80的编址。端口80是系统默认的HTTP服务端口号。如果我们只需要列出送到80端口的数据包,用dst port;如果我们只希望看到返回80端口的数据包,用src port。

  以上就是Linux系统下使用工具调试网络性能的方法

点击展开全文

相关阅读

路由器连u盘经常打不开-(U盘连不上怎么办)

路由器连u盘都打不开(U盘连不上怎么办?今天下午,一位客户从苹果机器上拆下机械硬盘,插入蒲公英路由器USB但经过测试是无法访问的,我们进入蒲公英云平台-应用中心-文件共享,本来有1T硬盘的识别率不到200M如图所示:打开文件共享,但无法访问,我们试图重新插入或访问,所以我们让客户插入移动硬盘WINDows无法直接识别系统计算机,如图所示:这说明应...

2022-08-15

进入路由器密码忘了-(进入路由器密码忘了怎么办)

忘记进入路由器密码(忘记进入路由器密码怎么办)善忘是每个人都会有的,对于绝大多数的小伙伴来说,只要连接WiFi,一般就不会再去输入密码了。时间长了,密码难免会被遗忘。在这种情况下,不要惊慌。有很多方法可以找到密码。接下来,我会根据自己的经验教你几种方法,这样你就可以很容易地找到密码。WIFI忘了密码,怎么用最简单的方法找回来?用三种方法帮你找回密码!看完这篇文章,忘记密码再也不会发生了!方...

2022-08-15

用路由器还要猫吗-(用路由器还要猫吗吗)

用路由器还需要猫吗?(用路由器还需要猫吗?吗)光猫和路由器的区别随着网络的发展,几乎每个人都在家里安装宽带,让我们随时随地在家上网。除了路由器,还有一个重要的光猫设备。许多朋友无法区分这两种工具之间的区别。他们不知道是否一起安装。今天,小编将告诉你光猫和路由器的区别。光猫和路由器的区别:1、原...

2022-08-15

无线路由器 改密码-(无线路由器改密码怎么改)

无线路由器改密码(如何更改无线路由器的密码)经常有人时间长了,换手机就忘了以前设置的。WiFi密码是什么?今天,我将教你如何不用电脑和手机修改路由器WiFi密码。如果忘记了无线路由器WIFI进入路由器控制面板查看密码或重新修改WIFI今天,我们将教您如何使用手机登录路由器进行修改WIFI密码首先,我们需要知道路由器的登录IP地址登录手机查看路由器IP地址1,找到打开...

2022-08-15

新路由2解锁-(新路由2拆解)

新路由2解锁(新路由2拆解)这个内容来自@什么值得买APP,观点只代表作者本人|作者:Stark-C2022年,我想还有人不知道路由器还能刷吗?也许有些人可能真的不知道在几天前,一个朋友给我扔了一个K2路由器,让我刷其他东西,所以我借此机会谈谈路由器的刷过程和经验(虽然这次使用K做演示,其实K1/K2/K2P刷...

2022-08-15

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除