tracert的工作原理

tracert的工作原理,第1张

Tracert 工作原理

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回

应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在

转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器

应该将“ICMP 已超时”的消息发回源系统。

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,

直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICM

P 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在

Tracert 实用程序中看不到。

Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表

。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。

在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机

172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地

址是 192.168.0.1。

C:\\>tracert 172.16.0.99 -d

Tracing route to 172.16.0.99 over a maximum of 30 hops

1 2s 3s 2s 10,0.0,1

2 75 ms 83 ms 88 ms 192.168.0.1

3 73 ms 79 ms 93 ms 172.16.0.99

Trace complete.

用 tracert 解决问题

可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19

2.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.

0 网络不存在(错误的 IP 地址)。

C:\\>tracert 192.168.10.99

Tracing route to 192.168.10.99 over a maximum of 30 hops

1 10.0.0.1 reports:Destination net unreachable.

Trace complete.

Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个

点。

Tracert 命令行选项

Tracert 命令支持多种选项,如下表所示。

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

选项 描述

-d 指定不将 IP 地址解析到主机名称。

-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。

-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。

-w timeout 等待 timeout 为每次回复所指定的毫秒数。

target_name 目标主机的名称或 IP 地址。

详细信息,请参阅使用 tracert 命令跟踪路径。

使用 pathping 测试路由器

pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工

具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最

终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于

命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能

导致网络问题的路由器或链接。某些选项是可用的,如下表所示。

选项 名称 功能

-n Hostnames 不将地址解析成主机名。

-h Maximum hops 搜索目标的最大跃点数。

-g Host-list 沿着路由列表释放源路由。

-p Period 在 ping 之间等待的毫秒数。

-q Num_queries 每个跃点的查询数。

-w Time-out 为每次回复所等待的毫秒数。

-T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)连接到数据包并

将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络

设备。-T 开关用于测试服务质量 (QoS) 连通性。

-R RSVP test Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)”

,此协议允许主机为数据流保留一定量的带宽。 -R 开关用于测试服务质量 (QoS) 连

通性。

默认的跃点数是 30,并且超时前的默认等待时间是 3 秒。默认时间是 250 毫秒,并

且沿着路径对每个路由器进行查询的次数是 100。

以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器

上数据包丢失的情况。

D:\\>pathping -n msw

Tracing route to msw [7.54.1.196]

over a maximum of 30 hops:

0 172.16.87.35

1 172.16.87.218

2 192.68.52.1

3 192.68.80.1

4 7.54.247.14

5 7.54.1.196

Computing statistics for 125 seconds...

Source to Here This Node/Link

Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address

0 172.16.87.35

0/ 100 = 0% │

1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218

13/ 100 = 13% │

2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1

0/ 100 = 0% │

3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1

0/ 100 = 0% │

4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14

0/ 100 = 0% │

5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196

Trace complete.

当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所

显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃

点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间

收集信息。在此期间结束时,它显示测试结果。

最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172

.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链

接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node

/Link 栏中所示),但是该丢失不会影响转发的路径。

对链接显示的丢失率(在最右边的栏中标记为 │)表明沿路径转发丢失的数据包。该

丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明

这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因

素,尤其是在软件路由器转发数据包时。

楼上的说的道理。但是比较简单,我就补充点我自己的理解。

ping就是确定对方主机是否响应ping,一般返回ping的信息就表示本地到该主机的网络线路连通。但是很多服务器为了防止攻击,一般会关闭对ping的响应。所以ping一般作为测试连通性使用。

tracert就是确定本主机到目的主机的通信的路径。这个比较好理解。原理就是每次都ping目的主机,但是TTL从1递增,每次加1。根据中间通过的路由器发回的丢弃包的回复来确定路由器。

pathping会先显示中间的通过的路由器,然后对每个中间路由器(我下面以节点代替)发送一定数量的ping包,通过统计他们对ping包响应的数据包来分析通信质量。但是,我上面也说了,有的路由器对ping关闭了响应,所以有的节点的丢包率会达到100%,所以这种一般就是关闭了ping回复。你可以自己ping试一下。还有,对ping包丢弃程度只是节点本身对ping的处理,并不一定影响他的通信,具体你可以看一下它之后的节点,对ping包丢弃有的会是0,说明回复的包都成功发送回来。不说了,话太多了。

一,ping

它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,在此,我们只掌握一些基本的很有用的参数就可以了(下同)。

-t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。

-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。

-n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。

说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。

下面我们举个例子来说明一下具体用法,

这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。

(小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)

至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。

二,nbtstat

该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。

-a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。

-A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。

-n 列出本地机器的NETBIOS信息。

当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。

三,netstat

这是一个用来查看网络状态的命令,操作简便功能强大。

-a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。

这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。

-r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。

四,tracert

跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。

这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。

五,net

这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车。

在这里,我们重点掌握几个入侵常用的子命令。

net view

使用此命令查看远程主机的所以共享资源。命令格式为net view \\IP。

net use

把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \\IP\sharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use \\IP\IPC$ "password" /user:"name")。

建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \\192.168.0.7\admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。

net start

使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,成功启动了telnet服务。

net stop

入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。

net user

查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。

1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。

2,net user abcd /del,将用户名为abcd的用户删除。

3,net user abcd /active:no,将用户名为abcd的用户禁用。

4,net user abcd /active:yes,激活用户名为abcd的用户。

5,net user abcd,查看用户名为abcd的用户的情况。

net localgroup

查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup groupname username /add,

现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来查看他的状态,和图10进行比较就可以看出来。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。

net time

这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \\IP。

六,at

这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \\computer。

表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。

七,ftp

大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。

首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入“help”来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。

大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。

首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入“open 主机IP ftp端口”回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。

用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。

接下来就要介绍具体命令的使用方法了。

dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。

cd 进入某个文件夹。

get 下载文件到本地机器。

put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。

delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。

bye 退出当前连接。

quit 同上。

八,telnet

功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。

然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。

当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。这里我使用的超级管理员权限登陆的。

到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。

另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码(输入法漏洞差不多绝迹了吧),哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。

最后,由衷的说一句,培养良好的安全意识才是最重要的。

DOS讲解

虽然现在大家用的都是Windows 9x或是Windows 2000/XP,而且我们在这里学习的主要内容也是DOS所不擅长的网络!但即使是在Windows风行的现在我们也离不开DOS。如果你能熟练使用DOS,那它可以给你带来极大的方便!而且在我们的Windows出现问题的时候大多也都是用DOS来修复的,所以学习一些DOS知识是必要的。

在这里我给大家讲的是一些用来安装和修复系统的命令,并不涉及网络方面!

基础

DOS是英语中Disk Operation System(磁盘操作系统)的缩写,其实DOS的版本有很多,比如MS-DOS、PC-DOS、FreeDOS等等,现在我们最常用的是MS-DOS(MS是Microsoft的缩写),在1995年前,当Windows 95还没有出现的年代里,那是DOS的天下。MS-DOS的最终独立版本是MS-DOS 6.22,再后来的DOS 7.0及其它后续版本都是在Windows里带的,不是单独发行版本。

在DOS环境下,我们面对的不是桌面和图标,而是这样的电脑屏幕:

这个C:\>叫做提示符,这个闪动的横线叫做光标。这时候DOS已经准备好,我们现在所需要做的,就是输入一个命令让DOS去执行。

在DOS中,每条命令输入完成后要都要以回车做为确认或者说是终结,例:

在DOS里,盘符用英文字母加上冒号来表示(如:A:、C:、D:),Windows中的“文件夹”被称为“目录”,用“\”来分隔不同层的目录,最上层的单独一个“\”(如:C:\或只一个\)叫“根目录”,我们可以输入dir(显示目录内容,以后将讲到它的具体使用方法)命令来查看当前目录中的子目录及文件,例:

如图所示,后面带有<DIR>的是目录,没有的则是文件。在DOS中,文件名的规则是8.3形式,即一个文件名由文件基本名和文件扩展名组 成,中间用点“.”隔开,文件基本名由不超过8个英文字母或数字组成,文件扩展名由不超过三个英文字母或数字组成,文件基本名必须有,扩展名可以没有。

看上图,第一列的就是“文件基本名”,第二列的是“文件扩展名”。注意:在用dir命令显示文件列表时,文件基本名和扩展名之间并无“.”分隔符,但你在输入完整的文件名时必须输入它。

第三列显示的是文件的大小,表示它占用了多少存储空间,也就是文件包含信息的多少,包含的信息越多,文件就越大;

第四列表示的是文件建立的日期或者是最后被改动的日期,每个文件都有对应的生成时间,就象每个人都有自己的生日一样,文件的生成时间就是文件形成的时候。时间采用通常的表示方法,由年、月、日组成。

最后一列表示文件生成的具体时间,最后的一个字母a表示上午,p表示下午。

我们再来看看倒数一二行,这些是什么意思呢。“ 10 file(s) ”是要告诉你这个目录内有 “ 10 ”个文件,这些文件加起来一共有“ 64,692 bytes”大,在这种计算中,每个子目录也算是一个文件,但它的大小算零。最后一行的是告诉你当前你的工作磁盘上还剩下“ 215,735,513 bytes”大小可用的磁盘空间。

用dir命令来查看磁盘上文件时,你会发现文件后缀(即文件扩展名)有很多种,它们当中大部分都是有一定含义的。

其中凡后缀为exe、com或bat的文件都是可以直接执行的。这些以exe为后缀的文件叫可执行文件;以com为后缀的文件叫命令文件;以bat为后缀的文件叫批处理文件。如果我们要执行这些文件,只需在提示符下敲入文件基本名然后回车即可,不需输入文件后缀。

基本命令

DOS的命令使用方法,大多都是这种格式:

命令名 参数1 [参数2] [参数3|参数4] [参数5:选项] [参数6:]

说明:以上命令中“命令名”是必要的,加方括号的参数是可选的,加竖线的两个命令只能选其一,加大括号的是必选项。

如上命令解释是这样的:命令名是必须要有的;“参数1”是必须的;“参数2”是可选的;“参数3”和“参数4”两个参数只能选用其中一个,不能两个同时用;“参数5”使用时要加选项,用“:”分隔;“参数6”使用时要加选项,但“选项1”和“选项2”要且仅能选用其中一个,不能两个都用,但也不能两个都不用。

这也是DOS命令书写的规范吧!所有的DOS命令使用方法都是这样写的,大家也可以自己看看,一般的命令都可以用“/?”参数或不加参数来查看帮助,在这里我们只讲这些命令的基本使用方法。

有些命令在使用时,可以使用“通配符”。通配符有两个,“*”和“?”,其中“*”代表任意个任何字符,“?”只代表一个任意字符。

在有些命令中,驱动器和路径是可选项,如果不指明驱去器名,默认为当前驱去器,如果不指明目录则默认为当前目录。

dir

使用方法:

DIR [盘符:][路径][文件名] [/P] [/W] [/A]

/P 每满一页时暂停

/W 使用横向显示方式

/A 显示所以文件

/B 只显示文件名

功能:显示一类或所以文件列表,支持通配符。

例:

cd

使用方法:

cd [目录名[\目录名][\目录名]...]

功能:显示或改变当前目录

例:

md

使用方法:

md [盘符:][路径]目录名

功能:建立一个新目录

例:

del

使用方法:

del [盘符:][路径]文件名

功能:删除一个或多个文件,可以使用通配符。

例:

删除一个文件:

按此在新窗口浏览图片

删除扩展名为sys的文件:

按此在新窗口浏览图片

删除所有文件:

deltree

使用方法:

deltree [盘符:][路径]目录名

功能:删除一个目录,删除目录同时将删除目录中的所有文件

例:

ren

使用方法:

ren [盘符:][路径]原文件名 修改后文件名

功能:修改文件名

例:

type

使用方法:

type [盘符:][路径]文件名

功能:显示文件内容,只能显示文本文件

例:

copy

使用方法:

copy [盘符:][路径]源文件名 [盘符:][路径][目标文件名]

功能:复制一个或一类文件,如果不指明目标文件名,则默认为目标文件名与源文件名相同

回答完毕!!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/94065.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-07
下一篇2023-03-07

发表评论

登录后才能评论

评论列表(0条)

    保存