linux系统——网络调试工具
http://blog.csdn.net/chinalinuxzend/article/details/1799279
1、网络调试工具概说;
如 果我们把一台机器接入网络中,通过网络配置工具的配置这时就要用到网络调试工具,目的是判断机器是否已经接入到网络以及网络连接是否正常。我们常 用的在各个发行版通用的网络配置工具是ifconfig和netconfig,当然Linux各大发行版本又有自己的配置工具,这些特定发行版特别的配置 工具是非常有效的,大多是图形界面的,操作也非常之简单。
有关网络配置工具,请参考:
《Linux 网络接口配置文件及相关工具》
《改变网络接口的速度和协商方式的工具miitool 和ethtool》
在网络配置中,与网络相关的配置文件是比较重要的。关于网络相关的配置文件,请参考:
《Linux 网络基础》
《Linux 网络接口配置文件及相关工具》
网络调试工具,是假定网络已配置好后,测试网络是否正常时所使用的工具。网络调试工具包括网络测试工具和故障排查工具两大类。
配置网络的流程如下:
物理性硬件接通->配置网络 (通过网络配具工具) ->网络测试->网络诊断->成功
2、网络测试工具和方法;
2.1 网络测试工具 ping :
我 们想知道一台主机的网络是否正常,这时就要用到ping ,ping工具是我们最常用的网络测试工具。根据ping 主机的结果,我们能判断主机在网络上是否正常。如果出现连接不通或丢包的情况(防火墙阻挡ICMP应答的网络除外),我们就要用到网络配置工具或诊断工具 出找出问题所在。一般的情况下,出现网络不通,可能与我们所做的网线接头有关,有时也与交换机或我集线器等网络设备是否正常有关,有时需要我们我重做网线 或换个交换机(或集线器)的接口。
ping 的用法
ping的用法,etony兄曾在 《Linux 网络基础》 ,对于 ping ,我们只是简单的会用就行了;
ping [参数] 主机或ip
注: ping后面可以不接参数选项,直接接主机名、域名或ip地址;
在这里,我以实例的形式来解说ping 的一些用法,如果您想知道 ping 的说明书,请参见我前面所提到的 etony兄的文档,谢谢;
实例一:ping 的最简单的用法和解说;
[root@localhost ~]# ping linuxsir.org
PING linuxsir.org (211.93.98.20) 56(84) bytes of data.
64 bytes from 211.93.98.20: icmp_seq=1 ttl=64 time=1.51 ms
64 bytes from 211.93.98.20: icmp_seq=2 ttl=64 time=0.323 ms
64 bytes from 211.93.98.20: icmp_seq=3 ttl=64 time=0.318 ms
64 bytes from 211.93.98.20: icmp_seq=4 ttl=64 time=0.317 ms
64 bytes from 211.93.98.20: icmp_seq=5 ttl=64 time=0.321 ms
64 bytes from 211.93.98.20: icmp_seq=6 ttl=64 time=0.218 ms
64 bytes from 211.93.98.20: icmp_seq=7 ttl=64 time=0.312 ms
64 bytes from 211.93.98.20: icmp_seq=8 ttl=64 time=0.316 ms
64 bytes from 211.93.98.20: icmp_seq=9 ttl=64 time=0.309 ms
64 bytes from 211.93.98.20: icmp_seq=10 ttl=64 time=0.318 ms
--- 211.93.98.20 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9001ms
rtt min/avg/max/mdev = 0.218/0.426/1.513/0.363 ms
解说:
1] ping 可以接主机名、域名或IP地址,在局域网中同网段主机与主机之间是否能通过主机名互相通信,目前有两种方法,一种是做DNS服务器(请参考:《DNS服务器的配置与应用》,另一种方法是修改/etc/hosts(请参考:《Linux操作系统主机名(hostname)简说》 。在不同网段的主机与主机之间,能否相互通信,还得要设置路由,请参考《Linux 网络基础》
2] 通过 ping linuxsir.org 的例子,我们可以看到 pi为ICMP回显应答 的结果返回的数据包大小是 64 byte ,当然我们可以通过 -s选项指定包的大小。 icmp_seq=x(x是大于1的整数)是响应包的数列号,这个序列号如果是在网络正常的情况下是连续的,如果出现不连续的情况,网络会出现丢包的情 况。 丢包可能物理硬件造成的,但也可能是IP冲突造成的,也可能是网卡的
3]在此例中,我们还看了 ttl的值是64,什么是TTL呢,英文是Time To Live,可以译成生存时间,也就是包被发出后的存活时间。在网上有好多文章都说能通过TTL的值来判断操作系统类型;比如 Linux 系统的TTL默认值是64,Windows系列的默认值是128或32,Unix类的是 255。 据我测试的情况来看也不一定,我在局域网中测试 Windos Sp2的TTL也是64。至于这一说法是否是真理,还得需要您测试。
4]time=xxx ms 表示数据包返回所需要的时间;
5]当终止ping的时候,可以按 ctrl+c的组合键。我们可以查看ping的结果统计,比如传输了多少个包,返回多少个包,多少包损失了,耗时多少 ... ... 就是类似下面的;
--- 211.93.98.20 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9001ms
rtt min/avg/max/mdev = 0.218/0.426/1.513/0.363 ms
实例二:ping 的一些参数的用法;
-s 指定数据包的大小,单位是字节; 默认值是 56,当与8个字节的ICMP头数据结合时,又转化成 64字节的ICMP数据;
-l 进入正常的行为模式之前,尽可能快的发送多少个preload个数据包
-c count 发送(接收)count个数据包后停止;
-i 发送数据包之间的时间间隔;
-f 使ping包不断发送和产生,瞬间值极大。要小心使用,类似DDOS攻击。这个选项只有root权限用户可以执行;
-r 绕过路由表,直接向网络主机发送;
举例:
[root@cuc03 beinan]# ping -l 10 192.168.1.5
[root@cuc03 beinan]# ping -i 3 192.168.1.5
[root@cuc03 beinan]# ping -f 192.168.1.5
[root@cuc03 beinan]# ping -r 192.168.1.5
[root@cuc03 beinan]# ping -s 128 192.168.1.5
通过上面的例子,有兴趣的弟兄看看结果吧;
2.2 其它测试网络可用性的方法;
值得一说的是ping 在有防火墙或路由器禁用IMCP响应的网络中使用,在这样的网络,就是ping也ping不出结果。如果您处于这样的网络之中,如果要让ping 生效,您得调整防火墙或路由器。
另外我们还可以通过应用层上的工具来测试,比如ssh、telnet、ftp或http等工具来测试网络的可用性。这些比较简单,只是在一方架好相应的服务器就可以测试了;
3、网络故障诊断工具和方法;
ping 工具和应用测试方法,只是提供简单的处于网络的主机是否可用,但不会知道具体问题所在。所以我们有必要引入故障诊断这一概念;下面我们说说故障诊断的流程;
故障诊断流程:
* 网线做的是否规范,在乙太网络中,要知道交叉线和平行线的做法适用的网络是不一样的;
* 网络接口配置是否正确;
* DNS客户端配置文件是否正确;
* 是否可以ping 通回环地址 127.0.0.1;
* 是否可以用IP地址我ping通网络的主机;
* 是否可以ping通其它网段的主机;不同网络的主机沟通需要添加路由;
* 是否可以用telnet、http、ftp、ssh访问其它主机上相应对应的服务;
traceroute 跟踪数据包到达网络主机所经过的路由工具;
traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。
traceroute [参数选项] hostname,域名或 IP地址
参数选项:
-i 指定网络接口,对于多个网络接口有用。比如 -i eth1 或-i ppp1等;
-m 把在外发探测试包中所用的最大生存期设置为max-ttl次转发,默认值为30次;
-n 显示IP地址,不查主机名。当DNS不起作用时常用到这个参数;
-p port 探测包使用的基本UDP端口设置为port ,默认值是33434
-q n 在每次设置生存期时,把探测包的个数设置为值n,默认时为3;
-r 绕过正常的路由表,直接发送到网络相连的主机;
-w n 把对外发探测包的等待响应时间设置为n秒,默认值为3秒;
实例一: traceroute 用法简单、最常用的用法
就是后面直接接IP或hostname或域名;比如下面的示例;
[root@localhost ~]# traceroute linuxsir.org
traceroute to linuxsir.org (211.93.98.20), 30 hops max, 40 byte packets
1 sir01.localdomain (192.168.1.1) 0.151 ms 0.094 ms 0.146 ms
2 221.201.88.1 (221.201.88.1) 5.867 ms 7.588 ms 5.178 ms
3 218.25.158.149 (218.25.158.149) 6.546 ms 6.230 ms 8.297 ms
4 218.25.138.133 (218.25.138.133) 7.129 ms 7.644 ms 8.311 ms
......
注: 此例中,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 linuxsir.org ,表示向每个网关发送4个数据包;
有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据;
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在, 是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可 能帮助我们解决。为什么呢?因为北方网通和南方电信各自为政。以前无论怎么说都是一张网,现在就是两张网,是通而不畅。咱们只能望网兴叹了;
实例二:一些参数的用法示例;
[root@localhost ~]# traceroute -m 10 linuxsir.org 把跳数设置为10次;
[root@localhost ~]# traceroute -n linuxsir.org 注:显示IP地址,不查主机名。
[root@localhost ~]# traceroute -p 6888 linuxsir.org 注:探测包使用的基本UDP端口设置6888
[root@localhost ~]# traceroute -q 4 linuxsir.org 注:把探测包的个数设置为值4;
[root@localhost ~]# traceroute -r linuxsir.org 注:绕过正常的路由表,直接发送到网络相连的主机;
[root@localhost ~]# traceroute -w 3 linuxsir.org 注:把对外发探测包的等待响应时间设置为5秒;
4、关于本文;
这篇文章不知道应不应该写,但还是简单的写出来了。本来想详细写一写网络工具分类了。结果写成这样的,有点失望。但既然写出来了,就发上来供大家批一批再说;主要讲了判断网络故障排除的一点方法。 感觉没太大的用处,本文写的有点失误。下次得努力努力了。。。。
5、参考文档;
man和help;
6、相关文档;
《Linux 网络基础》
《Linux 网络接口配置文件及相关工具》
《改变网络接口的速度和协商方式的工具miitool 和ethtool》
《TCP/IP 网络基础》
netstat 我想netstat也是一个不错的工具。当然看link状态 mii-tool也是可用的。
差点忘了lsof
linux系统——网络调试工具的更多相关文章
- Linux 系统 网络配置
Linux 系统 网络配置 配置Linux系统网络的方法有几种,这里介绍本人常用的两种. 第一种:使用命令ifconfig配置,具体用法:Ipconfig ethx x.x.x.x net ...
- 给Linux系统/网络管理员的nmap的29个实用例子
Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具.nmap用于探查网络.执行安全扫描.网络核查并且在远程机器上找出开放端口.它可以扫描在线 ...
- [Linux][VMWare] 学习笔记之安装Linux系统-网络配置
最近开始折腾Linux,在本机装了个VMWare和Centos,装完之后虚拟机里面的OS可以上网,但是使用SecureCRT连接不上虚拟机,开始折腾这个网络. vmware安装好以后,会自动添加两张网 ...
- 嵌入式控制(0)----linux系统网络配置
嵌入式系统本身具有操作系统的全部属性,但收到其硬件条件制约,故需要主机通过串口/网口等方式与其通信.今日下午的工作主要是linux系统的ssh传输配置,nfs服务器配置,tftp服务器配置. ip的概 ...
- 虚拟机linux系统网络连接配置问题总结
1.虚拟机与CentOS的安装与配置参考本人博客:https://www.cnblogs.com/ClikeL/p/11743520.html 2.测试网络连接 ping www.baidu.com ...
- 给Linux系统/网络管理员准备的Nmap命令的29个实用范例
我将用两个不同的部分来涵盖大部分NMAP的使用方法,这是nmap关键的第一部分.在下面的设置中,我使用两台已关闭防火墙的服务器来测试Nmap命令的工作情况. 192.168.0.100 – serve ...
- Linux系统网络性能实例分析
由于TCP/IP是使用最普遍的Internet协议,下面只集中讨论TCP/IP 栈和以太网(Ethernet).术语 LinuxTCP/IP栈和 Linux网络栈可互换使用,因为 TCP/IP栈是 L ...
- Linux 系统网络问题处理集[包含VM处理]
1.1. 新操作系统ping不同主机: 检查Linux服务器网段是否有etho的IP 查看/关闭防火墙 查看:service iptables status 关闭:service iptables s ...
- Linux系统网络安装——基于pxe+dhcp+nfs+tftp+kickstart
原文发表于:2010-09-05 转载至cu于:2012-07-21 一.原理简介 PXE(preboot execute environment)工作于Client/Server的网络模式,支持工作 ...
随机推荐
- winform下读取excel文件并绑定datagridview例子
首先我要读取这个excel文件然后生成Datable 用winform编程的方式 前台界面: 后台的代码 using System; using System.Collections.Generic; ...
- 问题004:如何在windows中打开命令行,有几种方法?
第一种方法:按快捷键 Win+R (run),然后运行框中输入cmd. 第二种方法:开始菜单-->运行-->然后运行框中输入cmd. 第三种方法:在附件当中,找命令行选项即可.
- BZOJ2023: [Usaco2005 Nov]Ant Counting 数蚂蚁(dp)
题意 题目描述的很清楚... 有一天,贝茜无聊地坐在蚂蚁洞前看蚂蚁们进进出出地搬运食物.很快贝茜发现有些蚂蚁长得几乎一模一样,于是她认为那些蚂蚁是兄弟,也就是说它们是同一个家族里的成员.她也发现整个 ...
- 背景透明度处理 兼容IE
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 数据分析处理库Pandas——索引
显示DataFrame结构中的指定列 使用iloc索引 指定一行的信息 指定多行信息 备注:第[1,5)行信息. 指定行和列 备注:第[0,5)行中第[1,3)列信息. 使用loc索引 指定行信息 备 ...
- Olympic Class Ships【奥林匹克级邮轮】
Olympic Class Ships You probably know about the Titanic, but it was actually just noe of three state ...
- HDU:3336-Count the string(next数组理解)
Count the string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pr ...
- 牛课第二次多校I
链接:https://www.nowcoder.com/acm/contest/140/I来源:牛客网 题目描述 White Cloud has a square of n*n from (1,1) ...
- Linux命令之---pwd
命令简介 Linux中用 pwd 命令用来查看”当前工作目录“的完整路径. 命令格式 pwd [选项] 命令功能和参数 功能:查看”当前工作目录“的完整路径:参数:一般情况下不带任何参数,如果目录是链 ...
- Hive 分析函数lead、lag实例应用
Hive的分析函数又叫窗口函数,在oracle中就有这样的分析函数,主要用来做数据统计分析的. Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead) ...