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、更新日志;
2006/08/22      v0.1b  完成正文;

6、参考文档;
man和help;

7、相关文档;
《Linux 网络基础》
《Linux 网络接口配置文件及相关工具》
《改变网络接口的速度和协商方式的工具miitool 和ethtool》
《TCP/IP 网络基础》

网络 职场 测试 LINUX系统管理

0

分享

微博 QQ 微信

收藏

上一篇:看这篇文章,不需要别的了----... 下一篇:安装mplayer 播放器
wuqingying

275篇文章,239W+人气,1粉丝

关注

Ctrl+Enter 发布

发布

取消

3条评论

按时间倒序 按时间正序

推荐专栏更多

全局视角看大型园区网

路由交换+安全+无线+优化+运维

共40章 | 51CTO夏杰

¥51.00 1690人订阅

订   阅

网工2.0晋级攻略 ——零基础入门Python/Ansible

网络工程师2.0进阶指南

共30章 | 姜汁啤酒

¥51.00 1567人订阅

订   阅

基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 430人订阅

订   阅

负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 507人订阅

订   阅

带你玩转高可用

前百度高级工程师的架构高可用实战

共15章 | 曹林华

¥51.00 462人订阅

订   阅

猜你喜欢

我的友情链接 我的最新 解决电脑网络受限制或无连接造成无法上网的方法 CentOS 7 网络配置详解 磁盘性能指标--IOPS、吞吐量及测试 Jmeter压力测试(简单的http请求)-实例 Linux下网络流量实时监控工具大全 Android网络编程之Http通信 影梭shadowsocks使用教程,windows电脑+谷歌浏览器实现网络代理 “深入浅出”来解读Docker网络核心原理 Vmware vSphere 5.0系列教程之四 vSphere网络原理及vSwitch简介 Jmeter之仿真高并发测试(集合点) 部署zabbix监控平台 redis的主从集群环境搭建 pt-table-checksum校验主从库数据库数据 Linux系统之firewalld防火墙基础配置 多方面来保证Linux服务器的基本系统安全 Linux磁盘IO调度算法 Redis主从+sentinel(哨兵)+keepalived Ansible AWX基础配置和使用

扫一扫,领取大礼包

0

3

分享

关注

wuqingying

转载于:https://blog.51cto.com/carywu/35165

网络测试及故障诊断方法及工具相关推荐

  1. linux网络配置、测试及故障诊断方法和工具三

    DNS客户端配置文件/etc/resolv.conf<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office: ...

  2. 简述计算机网络测试和故障诊断的发展趋势,网络测试和故障诊断

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! <网络测试和故障诊断>是2014年8月电子工业出版社出版的图书,作者是孙国强.潘凯恩.刘彬. 中文名 网络测试和故 ...

  3. 智能故障诊断方法总结

    1.故障诊断方法可分为三个步骤:信号处理.特征提取.模式分类. 2.信号处理方法通常包括:时域处理(提取振动信号的相关指标):频域处理(包络谱分析,频谱分析):时频域分析(小波分析,傅里叶变换) 3. ...

  4. C++编码中减少内存缺陷的方法和工具

    2019独角兽企业重金招聘Python工程师标准>>> C++编码中减少内存缺陷的方法和工具 程振林,方金云,唐志敏 (中国科学院计算技术研究所,北京 100080) 摘 要:基于C ...

  5. 《DevOps实战:VMware管理员运维方法、工具及最佳实践》——2.3 配置管理

    本节书摘来自华章计算机<DevOps实战:VMware管理员运维方法.工具及最佳实践>一书中的第2章,第2.3节,作者:小特雷弗 A. 罗伯茨(Trevor A. Roberts Jr.) ...

  6. MySQL数据库中导入导出方法以及工具介绍

    MySQL数据库中导入导出方法以及工具介绍 1.MySQLimport的语法介绍: mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具.这 ...

  7. 关于数据可视化的方法和工具介绍

    这一篇给大家全面介绍下关于数据可视化的方法和常用工具. 1. 数据可视化简介 数据可视化,是指用图形的方式来展现数据,从而更加清晰有效地传递信息,主要方法包括图表类型的选择和图表设计的准则. 随着互联 ...

  8. 中文路径_中文分词的原理、方法与工具

    海德格尔说"词语破碎处,无物可存在".中文句子不像英文那样的词与词之间有显示空格边界,使得词和词组边界模糊. 为了让计算机更容易理解文本,通常中文信息处理的第一步是中文分词.中文分 ...

  9. 《大话软件工程—需求分析与软件设计》,给出了分析与设计过程中需要的理论、方法、工具和标准

    □ 做好一款软件从哪里开始呢?→ 客户需求的调研: □ 一款软件的价值高低由哪个环节决定呢?→ 软件的分析与设计: □ 软件顺利完成开发靠什么?→ 高效的项目管理: □ 软件开发的主要角色?→ 客户. ...

最新文章

  1. C++用数组和链表分别实现Queue
  2. linux ntp时间立即同步命令_如何在 Linux 下确认 NTP 是否同步?
  3. node --- 模拟express实现一个简单的服务器
  4. HTTPS请求实现框架
  5. meanshift算法 java_Meanshift,聚类算法
  6. 深度学习为图片人物换装【python代码教程】
  7. 知识主题间先序关系挖掘
  8. Jenkins学习二:Jenkins安装与配置
  9. Cesium:结合canvas实现自定义气泡点
  10. python locust mqtt_Boomer 实战压测 mqtt,2w 并发轻松实现
  11. 常见GIS工具软件介绍
  12. Git下载安装及基本配置
  13. Spring boot集成海康威视门禁设备
  14. 这个计算机到底是咋入门的(1.0)胡学友修改版
  15. eclipse和mysql餐厅点餐系统_基于安卓Android手机点餐APP系统的设计(Eclipse,MySQL)
  16. 千万级大V独家合作,西瓜视频用什么吸引创作人?
  17. 专业测评:iphone7致命缺陷曝光
  18. 小红书竞品分析_小红书与网易考拉海购竞品分析报告
  19. 【Linux】logrotate 详细介绍,看完就会
  20. 微信页面在电脑上调试

热门文章

  1. python计算器gui设计_python GUI模拟实现计算器
  2. linux操作系统中查找某个进程,在linux下查看有哪些操作系统进程正在使用某一个共享内存段...
  3. python前端开发之准备开发环境(建议收藏)
  4. java实现大整数的加减乘除法(百练OJ:2736、2737、2980、2981)
  5. 《系统集成项目管理工程师》必背100个知识点-18项目管理计划的ITTO
  6. MP4 info查看moov头位置
  7. Winform中使用mysqldump实现选择部分表定期备份mysql数据库
  8. 关闭Bootstrap的modal后,重新打开还会有input里上传的file解决
  9. 超详细的redis总结
  10. 小站教育携手神策数据,数据赋能留学语言培训教育的智能化探索