再现理想 发表于 2015-1-18 11:22:51

Linux编程:天天一个linux命令(55):traceroute命令 仓酷云

要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;

经由过程traceroute我们能够晓得信息从你的盘算机到互联网另外一真个主机是走的甚么路径。固然每次数据包由某一一样的起点(source)抵达某一一样的目标地(destination)走的路径大概会纷歧样,但基础下去说年夜部分时分所走的路由是不异的。linux体系中,我们称之为traceroute,在MSWindows中为tracert。traceroute经由过程发送小的数据包到目标设备直到其前往,来丈量其必要多长工夫。一条路径上的每一个设备traceroute要测3次。输入了局中包含每次测试的工夫(ms)和设备的称号(若有的话)及其IP地点。
在年夜多半情形下,我们会在linux主机体系下,间接实行命令行:
traceroutehostname
而在Windows体系下是实行tracert的命令:
tracerthostname
1.命令格局:
traceroute[参数][主机]
2.命令功效:
traceroute指令让你追踪收集数据包的路由路子,预设数据包巨细是40Bytes,用户可另行设置。
详细参数格局:traceroute[-dFlnrvx][-f<存活数值>][-g<网关>...][-i<收集界面>][-m<存活数值>][-p<通讯端口>][-s<来历地点>][-t<服务范例>][-w<超时秒数>][主机称号或IP地点][数据包巨细]
3.命令参数:
-d利用Socket层级的排错功效。
-f设置第一个检测数据包的存活数值TTL的巨细。
-F设置勿离断位。
-g设置来历路由网关,最多可设置8个。
-i利用指定的收集界面送出数据包。
-I利用ICMP回应代替UDP材料信息。
-m设置检测数据包的最年夜存活数值TTL的巨细。
-n间接利用IP地点而非主机称号。
-p设置UDP传输协定的通讯端口。
-r疏忽一般的RoutingTable,间接将数据包送到远端主机上。
-s设置当地主机送出数据包的IP地点。
-t设置检测数据包的TOS数值。
-v具体显现指令的实行历程。
-w设置守候远端主机报答的工夫。
-x开启或封闭数据包的准确性查验。
4.利用实例:
实例1:traceroute用法复杂、最经常使用的用法
命令:
traceroutewww.baidu.com
输入:


<br>
#traceroutewww.baidu.com
traceroutetowww.baidu.com(61.135.169.125),30hopsmax,40bytepackets
1192.168.74.2(192.168.74.2)2.606ms2.771ms2.950ms
2211.151.56.57(211.151.56.57)0.596ms0.598ms0.591ms
3211.151.227.206(211.151.227.206)0.546ms0.544ms0.538ms
4210.77.139.145(210.77.139.145)0.710ms0.748ms0.801ms
5202.106.42.101(202.106.42.101)6.759ms6.945ms7.107ms
661.148.154.97(61.148.154.97)718.908ms*bt-228-025.bta.net.cn(202.106.228.25)5.177ms
7124.65.58.213(124.65.58.213)4.343ms4.336ms4.367ms
8202.106.35.190(202.106.35.190)1.795ms61.148.156.138(61.148.156.138)1.899ms1.951ms
9***
30***
#

<br>

申明:
纪录顺次列号从1入手下手,每一个记录就是一跳,每跳暗示一个网关,我们看到每行有三个工夫,单元是ms,实在就是-q的默许参数。探测数据包向每一个网关发送三个数据包后,网关呼应后前往的工夫;假如您用traceroute-q4www.58.com,暗示向每一个网关发送4个数据包。
偶然我们traceroute一台主机时,会看到有一些行是以星号暗示的。呈现如许的情形,多是防火墙封失落了ICMP的前往信息,以是我们得不到甚么相干的数据包前往数据。
偶然我们在某一网关处延时对照长,有多是某台网关对照堵塞,也多是物理设备自己的缘故原由。固然假如某台DNS呈现成绩时,不克不及剖析主机名、域名时,也会有延时长的征象;您能够加-n参数来制止DNS剖析,以IP格局输入数据。
假如在局域网中的分歧网段之间,我们能够经由过程traceroute来排查询题地点,是主机的成绩仍是网关的成绩。假如我们经由过程远程来会见某台服务器碰到成绩时,我们用到traceroute追踪数据包所经由的网关,提交IDC服务商,也有助于办理成绩;但今朝看来在国际办理如许的成绩是对照坚苦的,就是我们发明成绩地点,IDC服务商也不成能匡助我们办理。
实例2:跳数设置
命令:
traceroute-m10www.baidu.com
输入:


<br>
#traceroute-m10www.baidu.com
traceroutetowww.baidu.com(61.135.169.105),10hopsmax,40bytepackets
1192.168.74.2(192.168.74.2)1.534ms1.775ms1.961ms
2211.151.56.1(211.151.56.1)0.508ms0.514ms0.507ms
3211.151.227.206(211.151.227.206)0.571ms0.558ms0.550ms
4210.77.139.145(210.77.139.145)0.708ms0.729ms0.785ms
5202.106.42.101(202.106.42.101)7.978ms8.155ms8.311ms
6bt-228-037.bta.net.cn(202.106.228.37)772.460msbt-228-025.bta.net.cn(202.106.228.25)2.152ms61.148.154.97(61.148.154.97)772.107ms
7124.65.58.221(124.65.58.221)4.875ms61.148.146.29(61.148.146.29)2.124ms124.65.58.221(124.65.58.221)4.854ms
8123.126.6.198(123.126.6.198)2.944ms61.148.156.6(61.148.156.6)3.505ms123.126.6.198(123.126.6.198)2.885ms
9***
10***
#

<br>

申明:
实例3:显现IP地点,不查主机名
命令:
traceroute-nwww.baidu.com
输入:


<br>
#traceroute-nwww.baidu.com
traceroutetowww.baidu.com(61.135.169.125),30hopsmax,40bytepackets
1211.151.74.25.430ms5.636ms5.802ms
2211.151.56.570.627ms0.625ms0.617ms
3211.151.227.2060.575ms0.584ms0.576ms
4210.77.139.1450.703ms0.754ms0.806ms
5202.106.42.10123.683ms23.869ms23.998ms
6202.106.228.37247.101ms**
761.148.146.295.256ms124.65.58.2134.386ms4.373ms
8202.106.35.1901.610ms61.148.156.1381.786ms61.148.3.342.089ms
9***
30***
#traceroutewww.baidu.com
traceroutetowww.baidu.com(61.135.169.125),30hopsmax,40bytepackets
1211.151.74.2(211.151.74.2)4.671ms4.865ms5.055ms
2211.151.56.57(211.151.56.57)0.619ms0.618ms0.612ms
3211.151.227.206(211.151.227.206)0.620ms0.642ms0.636ms
4210.77.139.145(210.77.139.145)0.720ms0.772ms0.816ms
5202.106.42.101(202.106.42.101)7.667ms7.910ms8.012ms
6bt-228-025.bta.net.cn(202.106.228.25)2.965ms2.440ms61.148.154.97(61.148.154.97)431.337ms
7124.65.58.213(124.65.58.213)5.134ms5.124ms5.044ms
8202.106.35.190(202.106.35.190)1.917ms2.052ms2.059ms
9***
30***
#

<br>

申明:
实例4:探测包利用的基础UDP端口设置6888
命令:
traceroute-p6888www.baidu.com
输入:


<br>
#traceroute-p6888www.baidu.com
traceroutetowww.baidu.com(220.181.111.147),30hopsmax,40bytepackets
1211.151.74.2(211.151.74.2)4.927ms5.121ms5.298ms
2211.151.56.1(211.151.56.1)0.500ms0.499ms0.509ms
3211.151.224.90(211.151.224.90)0.637ms0.631ms0.641ms
4***
5220.181.70.98(220.181.70.98)5.050ms5.313ms5.596ms
6220.181.17.94(220.181.17.94)1.665ms!X**
#

<br>

申明:
实例5:把探测包的个数设置为值4
命令:
traceroute-q4www.baidu.com
输入:


<br>
#traceroute-q4www.baidu.com
traceroutetowww.baidu.com(61.135.169.125),30hopsmax,40bytepackets
1211.151.74.2(211.151.74.2)40.633ms40.819ms41.004ms41.188ms
2211.151.56.57(211.151.56.57)0.637ms0.633ms0.627ms0.619ms
3211.151.227.206(211.151.227.206)0.505ms0.580ms0.571ms0.569ms
4210.77.139.145(210.77.139.145)0.753ms0.800ms0.853ms0.904ms
5202.106.42.101(202.106.42.101)7.449ms7.543ms7.738ms7.893ms
661.148.154.97(61.148.154.97)316.817msbt-228-025.bta.net.cn(202.106.228.25)3.695ms3.672ms*
7124.65.58.213(124.65.58.213)3.056ms2.993ms2.960ms61.148.146.29(61.148.146.29)2.837ms
861.148.3.34(61.148.3.34)2.179ms2.295ms2.442ms202.106.35.190(202.106.35.190)7.136ms
9****
30****
#

<br>

申明:
实例6:绕过一般的路由表,间接发送到收集相连的主机
命令:
traceroute-rwww.baidu.com
输入:

#traceroute-rwww.baidu.com
traceroutetowww.baidu.com(61.135.169.125),30hopsmax,40bytepackets
connect:收集不成达
#

申明:
实例7:把对外发探测包的守候呼应工夫设置为3秒
命令:
traceroute-w3www.baidu.com
输入:


<br>
#traceroute-w3www.baidu.com
traceroutetowww.baidu.com(61.135.169.105),30hopsmax,40bytepackets
1211.151.74.2(211.151.74.2)2.306ms2.469ms2.650ms
2211.151.56.1(211.151.56.1)0.621ms0.613ms0.603ms
3211.151.227.206(211.151.227.206)0.557ms0.560ms0.552ms
4210.77.139.145(210.77.139.145)0.708ms0.761ms0.817ms
5202.106.42.101(202.106.42.101)7.520ms7.774ms7.902ms
6bt-228-025.bta.net.cn(202.106.228.25)2.890ms2.369ms61.148.154.97(61.148.154.97)471.961ms
7124.65.58.221(124.65.58.221)4.490ms4.483ms4.472ms
8123.126.6.198(123.126.6.198)2.948ms61.148.156.6(61.148.156.6)7.688ms7.756ms
9***
30***
#

<br>

申明:
Traceroute的事情道理:
Traceroute最复杂的基础用法是:traceroutehostname
Traceroute程序的计划是使用ICMP及IPheader的TTL(TimeToLive)栏位(field)。起首,traceroute送出一个TTL是1的IPdatagram(实在,每次送出的为3个40字节的包,包含源地点,目标地点和包收回的工夫标签)到目标地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变成0了,以是该路由器会将此datagram丢失落,并送回一个「ICMPtimeexceeded」动静(包含发IP包的源地点,IP包的一切内容及路由器的IP地点),traceroute收到这个动静后,便晓得这个路由器存在于这个路径上,接着traceroute再送出另外一个TTL是2的datagram,发明第2个路由器......traceroute每次将送出的datagram的TTL加1来发明另外一个路由器,这个反复的举措一向延续到某个datagram到达目标地。当datagram抵达目标地后,该主机其实不会送回ICMPtimeexceeded动静,由于它已经是目标地了,那末traceroute怎样得知目标地抵达了呢?
Traceroute在送出UDPdatagrams到目标地时,它所选择投递的portnumber是一个一样平常使用程序都不会用的号码(30000以上),以是当此UDPdatagram抵达目标地后该主时机送回一个「ICMPportunreachable」的动静,而当traceroute收到这个动静时,便晓得目标地已抵达了。以是traceroute在Server端也是没有所谓的Daemon程式。
Traceroute提取发ICMPTTL到期动静设备的IP地点并作域名剖析。每次,Traceroute都打印出一系列数据,包含所经由的路由设备的域名及IP地点,三个包每次往返所花工夫。
windows之tracert:
格局:
tracert[-d][-hmaximum_hops][-jhost-list][-wtimeout]target_name
参数申明:
tracert[-d][-hmaximum_hops][-jcomputer-list][-wtimeout]target_name

要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。

简单生活 发表于 2015-1-20 22:43:47

即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。

柔情似水 发表于 2015-1-20 22:45:38

随着IT从业人员越来越多,理论上会有更多的人使用Linux,可以肯定,Linux在以后这多时间不会消失。

精灵巫婆 发表于 2015-1-20 22:48:40

尽我能力帮助他人,在帮助他人的同时你会深刻巩固知识。

灵魂腐蚀 发表于 2015-1-30 07:26:03

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。

爱飞 发表于 2015-2-2 06:44:00

最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。

不帅 发表于 2015-2-4 21:03:22

放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。

第二个灵魂 发表于 2015-2-7 18:49:04

硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。

愤怒的大鸟 发表于 2015-2-22 22:51:05

下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。

冷月葬花魂 发表于 2015-3-1 01:16:44

Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。

飘灵儿 发表于 2015-3-1 04:48:47

尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.

只想知道 发表于 2015-3-10 12:45:43

得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。

因胸联盟 发表于 2015-3-19 09:40:23

眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。

再见西城 发表于 2015-3-27 17:09:58

不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
页: [1]
查看完整版本: Linux编程:天天一个linux命令(55):traceroute命令 仓酷云