科技大V尝试用Linux系统替代微软Windows:日常没问题 游戏很糟糕
PC电脑上大家早就习惯使用微软Windows了,另一大系统Linux也发展了30多年,支持它的人不在少数,那Linux系统能否取代Win系统了?大V尝试之后给出的答案是日常没啥问题,玩游戏就不行了。Linux
更新日期:2021-09-30
来源:系统部落
众所周知,Linux系统网络性能可以用工具来测试,主要的测试工具有route、netstat、tcpdump。今天,我们就针对这三种工具来详细的说说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系统下使用工具调试网络性能的方法,更多精彩内容继续关注系统部落官网。
科技大V尝试用Linux系统替代微软Windows:日常没问题 游戏很糟糕
PC电脑上大家早就习惯使用微软Windows了,另一大系统Linux也发展了30多年,支持它的人不在少数,那Linux系统能否取代Win系统了?大V尝试之后给出的答案是日常没啥问题,玩游戏就不行了。Linux
linux系统是什么
最近小编我在网上看到有好多的粉丝小伙伴留言询问小编我关于linux系统是什么,其实小编我也没有用过这个linux系统,但是小编我在网上为大家查询了好的的资料,接下来小编我就来好好教教大家吧.
微软大招!三大Linux系统登陆Windows 10:直接安装运行
在今天的Build 2017开发者大会上,微软宣布了一个令人振奋的消息, 包括Ubuntu、SUSE Linux和Fedora在内的三款最受欢迎的Linux发行版本系统都将登陆Windows Store 。 用户可以直接通过Windows Store来下载和安装上述三个版本的Linux系统。 微软表示, Linux
linux系统下使用assert函数的方法介绍
linux系统下如何使用assert函数?熟悉代码的用户都知道,在Windows下使用VC编写,使用assert之后,只需在IDE中设置为debug版或者是release版,编译器就会自动忽略掉assert。但是在Linux下,必须
Linux系统安装Go语言的详细步骤详解
众所周知,Linux系统Go语言的全称是golang,是一种编程开发语言。Go语言的特点就是开源、安全、快速等等。在Linux系统中有很广泛的应用。虽然很多用户都了解,但是很多对电脑不是很
Linux系统smbclient命令的使用方法
众所周知,Linux命令smbclient主要是用来存储和读取服务器上的用户端程序,并对这些程序进行解析和记录。下面,U大侠小编就给大家介绍Linux系统smbclient命令的使用方法。 Linux系统 1、列
Linux系统登录界面截图方法介绍
众所周知,Linux系统下截图的方法有很多,但是如何在Linux登录界面进行截图呢?相信很多用户都想知道,其实在登录界面系统还没有启动前,一些截图的工具也用不上,这个时候要对屏
如何提高linux系统安全性 linux系统安全提高方法
如今,越来越多用户的Linux服务器被病毒、黑客等入侵,从而导致数据丢失等问题。那么,我们该怎么提高Linux系统安全性呢? linux系统安全提高有什么方法呢?下面,我们就一起来看看
Linux系统删除旧内核的详细方法
众所周知,Linux系统本身就是一个开源的系统,所以在使用过程中可以进行修改,只有它的内核是不变的,只有在一段时间之内,才可以对Linux内核进行升级。升级了以后就会留下一些旧
Linux系统下用du和df命令清除大文件的方法
很多用户表示,Linux系统中发现/home目录下剩余空间不足的时候,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间。但是,如何用du和df命令清除大文件呢
Linux系统VLAN、三层交换和Trunk的区别详解
熟悉linux系统的用户都了解,在Linux系统中VLAN,三层交换和Trunk是三个容易混淆的概念。如果对这三个概念只是一知半解的,就会不可避免绕一些弯路,浪费不少时间。下面,U大侠小编
修改Linux系统Shell脚本输出文字的颜色的方法
众所周知,Linux系统中可以对Shell脚本输出文字的颜色进行修改,这样一来就可以和其他文字区分开来,方便用户分辨输出文字。那么如何修改Linux系统Shell脚本输出文字的颜色?针对这个
Linux系统NBMA和BMA的交换方式详解
众所周知,在Linux系统中有两中不同的交换方式,也就是NBMA和BMA。我们不要看着两种交换方式只是差了一个字母,但是确实完全不同,甚至互相对立机制。很多用户都不是很了解,今天
Mac在外置硬盘上安装Linux系统教程详解
现如今,不少用户都是MAC的电脑,但是他们购买之后并不知道如何在自己的电脑上安装Linux系统,这个问题该怎么解决呢?现在小编就教大家在外置硬盘中安装Linux的方法吧,有需要使用
Linux系统下安装Tecplot的步骤详解
众所周知,Tecplot是Linux系统中的数据分析软件,Tecplot的功能正在变得更加完善,使用的人群也在逐渐增多。下面,我们就跟随U大侠小编一起来看看Linux系统下安装Tecplot的步骤详解。