`
victorwmh
  • 浏览: 212869 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

LINUX网络性能管理工具

阅读更多

本文将介绍管理Linux系统网络性能的技巧,主要介绍了route、netstat、tcpdump三种网络管理测试工具的使用方法及其可实现的功能。

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表示路由所发送的包的目的网络。

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

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还可以获得当前的网络状态以及网络的拓扑结构,这在实际中是非常有用的。

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网络性能之管理工具

    一、网络性能管理工具三剑客 1. **iftop**:iftop类似于Windows系统的资源监视器中的网络流量部分,它实时显示当前网络带宽使用情况。通过iftop,你可以看到进出系统的总带宽、各个连接的带宽使用、主机间的数据流...

    Red_Hat_Linux_网络管理工具

    这个专题主要涵盖了Red Hat Linux网络管理工具的使用和理解,旨在帮助用户更有效地配置、监控和维护网络连接。以下是一些关于Red Hat Linux网络管理工具的重要知识点: 1. **网络接口配置**:在Red Hat Linux中,...

    Linux性能调优工具

    本文将详细介绍Linux性能调优工具,包括内存管理、I/O性能、网络性能等方面的工具和技术。 #### 二、背景与挑战 - **大规模云环境**:如Netflix这样的大型服务提供商,拥有成千上万台Linux服务器实例,每天自动...

    Linux高性能服务器编程,linux高性能服务器编程 pdf,C,C++

    1. **Linux操作系统基础**:了解Linux内核的工作原理,包括进程管理、内存管理、文件系统以及网络协议栈,这些都是服务器编程的基础。 2. **多线程与并发处理**:在Linux环境中,如何通过多线程技术来提高服务器...

    Linux性能测试工具

    Netperf是网络性能测试的重要工具,可以测量TCP和UDP的吞吐量、延迟以及带宽等网络性能指标。通过设置不同的参数,可以模拟不同的网络工作模式,如TCP_RR(TCP请求响应)、TCP_CBR(持续TCP带宽速率)、UDP_STREAM...

    Linux性能分析工具(Nmon)

    Linux性能分析工具Nmon是系统管理员和IT专业人员在Linux环境中进行性能监控和故障排查的重要工具。Nmon,全称为"Nick's Monitor for Unix",由Nick Maclaren开发,它能够提供实时的CPU、内存、磁盘I/O、网络等关键...

    linux性能检测工具

    Linux性能检测工具是运维工作中不可或缺的部分,它们帮助管理员实时了解系统状态,预防并解决可能出现的问题。WGCLOUD作为一款优秀的Linux性能监控工具,其特点在于能够处理高并发和提供高性能的监控能力。对于大型...

    Linux三种网络管理工具功能介绍及使用

    掌握这些工具的使用,对于管理和维护Linux系统的网络环境具有重要意义,可以帮助解决网络连接问题、优化网络性能,并在需要时进行安全审计。在实际工作中,结合使用这些工具,能够对网络进行全方位的管理和诊断。

    linux系统性能分析利器nmon及分析工具

    NMON(Nigel's Monitoring Tool for AIX and Linux)是一款强大的工具,专为Linux系统设计,用于实时监控和记录系统的性能数据,包括CPU、内存、磁盘I/O、网络流量等关键指标。它不仅能提供命令行界面的实时视图,还...

    linux实用工具,最流行管理工具

    随着Linux的广泛应用,一系列高效实用的管理工具应运而生,它们不仅简化了系统管理和维护的工作流程,还极大地提高了工作效率。本文将围绕“Linux实用工具,最流行管理工具”这一主题,深入探讨并总结出一系列关键...

    linux性能数据收集工具

    总结来说,"Linux性能数据收集工具" 是一套全面的解决方案,涵盖了从数据收集、处理到分析的全过程,为企业或个人提供了强大而灵活的性能管理手段。通过熟悉并运用这些工具和方法,我们可以更好地理解和优化Linux...

    linux性能分析工具

    Linux性能分析工具是系统管理员和开发者用来诊断和优化系统性能的关键工具。在Linux环境中,有多个内置命令,如`top`、`ps`、`iostat`和`vmstat`,它们各自专注于不同的系统层面,例如CPU使用率、内存状态、磁盘I/O...

    linux-Linux性能优化实战案例

    5. **网络性能**:`netstat`和`ss`用于查看网络连接状态,`tcpdump`抓取网络包进行分析。调整内核网络参数,如`net.core.somaxconn`和`net.ipv4.tcp_syncookies`,可以改善网络服务性能。 6. **CPU调度与负载均衡**...

    Linux高性能服务器编程电子版

    3. **内存管理**:理解Linux内核的内存分配策略,如brk、mmap等,以及如何有效使用缓存和内存池,能显著提高服务器性能并减少内存碎片。 4. **文件系统**:熟悉Linux的VFS(虚拟文件系统)层,学习如何高效地进行...

    Linux命令大全搜索工具

    * apt-get - Debian Linux 发行版中的 APT 软件包管理工具 * apt-key - 管理 Debian Linux 系统中的软件包密钥 * apt-sortpkgs - Debian Linux 下对软件包索引文件进行排序的工具 * aptitude - Debian Linux 系统中...

Global site tag (gtag.js) - Google Analytics