ping的数据包到底都是什么东西?详细分析下吧?
谢了各位高手,我实在不太明白ping中发送的数据包到底具体都有什么东西?拜托了~我问的是,ping的过程中的数据包都有什么东西?就像是IP数据包中有IP首部啊,数据啊,检...
谢了各位高手,我实在不太明白ping中发送的数据包到底具体都有什么东西?拜托了~
我问的是,ping的过程中的数据包都有什么东西?就像是IP数据包中有IP首部啊,数据啊,检验和啊什么的,这个意思。另外,不要给我百科百度里现成的名词解释好吧?最好是自己非常理解的基础上给我解释下就好。拜托了~ 展开
我问的是,ping的过程中的数据包都有什么东西?就像是IP数据包中有IP首部啊,数据啊,检验和啊什么的,这个意思。另外,不要给我百科百度里现成的名词解释好吧?最好是自己非常理解的基础上给我解释下就好。拜托了~ 展开
2个回答
展开全部
网际网络封包摸索器(Ping)是种内建于Linux.Unix.及微软Windows中的故障排除功能命令.
通过传送资料包到特定IP地址.并等待响应.
如果得到快速回复.就可知道网站寄出与接收等通讯功能正常,
如果回复时间慢.可能是网络塞车.
你可在自己的局域网络使用Ping.或是在网络上Ping特定的网址.
Windows操作系统中.点选[开始"菜单中的[运行".然后键入Ping.接着输入IP地址.
也可下载免费或共享的Ping工具.
举例:
ping
www.baidu.com
-t
得到:
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
(其中 -t 可以得到连续的检测)
ping 〔-t〕 〔-a〕 〔-n count〕 〔-l length〕 〔-f〕 〔-i ttl〕 〔-v tos〕 〔-r count〕 〔-s count〕 〔-j computer-list〕 │ 〔-k computer-list〕 〔-w timeout〕 destination-list
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break,To stop - type Control-C.
不停的ping地方主机.直到你按下Control-C.
此功能没有什么特别的技巧.不过可以配合其他参数使用.将在下面提到.
-a Resolve addresses to hostnames.
解析计算机NetBios名.
示例:
C:>ping -a 192.168.1.21
Pinging iceblood.yofor.com 〔192.168.1.21〕 with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4. Received = 4. Lost = 0 (0% loss).Approximate round trip times in milli-seconds:
Minimum = 0ms. Maximum = 0ms. Average = 0ms
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com.
-n count Number of echo requests to send.
发送count指定的Echo数据包数.
在默认情况下.一般都只发送四个数据包.通过这个命令可以自己定义发送的个数.对衡量网络速度很有帮助.比如我想测试发送50个数据包的返回的平均时间为多少.最快时间为多少.最慢时间为多少就可以通过以下获知:
C:>ping -n 50 202.103.96.68
Pinging 202.103.96.68 with 32 bytes of data:
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
------
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Ping statistics for 202.103.96.68:
Packets: Sent = 50. Received = 48. Lost = 2 (4% loss).Approximate round trip times in milli-seconds:
Minimum = 40ms. Maximum = 51ms. Average = 46ms
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中.返回了48个.其中有两个由于未知原因丢失.这48个数据包当中返回速度最快为40ms.最慢为51ms.平均速度为46ms.
-l size Send buffer size.
定义echo数据包大小.
在默认的情况下windows的ping发送的数据包大小为32byt.我们也可以自己定义它的大小.但有一个大小的限制.就是最大只能发送65500byt.也许有人会问为什么要限制到65500byt.因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时.对方就很有可能当机.所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小.虽然微软公司已经做了此限制.但这个参数配合其他参数以后危害依然非常强大.比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性.仅用于试验.请勿轻易施于别人机器上.否则后果自负)
C:>ping -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
------
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包.如果你只有一台计算机也许没有什么效果.但如果有很多计算机那么就可以使对方完全瘫痪.我曾经就做过这样的试验.当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时.不到5分钟对方的网络就已经完全瘫痪.网络严重堵塞.HTTP和FTP服务完全停止.由此可见威力非同小可.
-f Set Don’t Fragment flag in packet.
在数据包中发送[不要分段"标志.
在一般你所发送的数据包都会通过路由分段再发送给对方.加上此参数以后路由就不会再分段处理.
-i TTL Time To Live.
指定TTL值在对方的系统里停留的时间.
此参数同样是帮助你检查网络运转情况的.
-v TOS Type Of Service.
将[服务类型"字段设置为 tos 指定的值.
-r count Record route for count hops.
在[记录路由"字段中记录传出和返回数据包的路由.
在一般情况下你发送的数据包是通过一个个路由才到达对方的.但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数.不过限制在了9个.也就是说你只能跟踪到9个路由.如果想探测更多.可以通过其他命令实现.我将在以后的文章中给大家讲解.以下为示例:
C:>ping -n 1 -r 9 202.96.105.101 (发送一个数据包.最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 ->
202.107.210.214 ->
61.153.112.70 ->
61.153.112.89 ->
202.96.105.149 ->
202.96.105.97 ->
202.96.105.101 ->
202.96.105.150 ->
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1. Received = 1. Lost = 0 (0% loss).
Approximate round trip times in milli-seconds:
Minimum = 10ms. Maximum = 10ms. Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 .202.107.210.214 . 61.153.112.70 . 61.153.112.89 . 202.96.105.149 . 202.96.105.97这几个路由.
-s count Timestamp for count hops.
指定 count 指定的跃点数的时间戳.
此参数和-r差不多.只是这个参数不记录数据包返回所经过的路由.最多也只记录4个.
-j host-list Loose source route along host-list.
利用 computer-list 指定的计算机列表路由数据包.连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9.
-k host-list Strict source route along host-list.
利用 computer-list 指定的计算机列表路由数据包.连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9.
-w timeout Timeout in milliseconds to wait for each reply.
指定超时间隔.单位为毫秒.
此参数没有什么其他技巧.
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小.粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列.一般情况下Windows系列的系统返回的TTL值在100-130之间.而UNIX/Linux系列的系统返回的TTL值在240-255之间.当然TTL的值在对方的主机里是可以修改的.Windows系列的系统可以通过修改注册表以下键值实现:
〔HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters〕
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
通过传送资料包到特定IP地址.并等待响应.
如果得到快速回复.就可知道网站寄出与接收等通讯功能正常,
如果回复时间慢.可能是网络塞车.
你可在自己的局域网络使用Ping.或是在网络上Ping特定的网址.
Windows操作系统中.点选[开始"菜单中的[运行".然后键入Ping.接着输入IP地址.
也可下载免费或共享的Ping工具.
举例:
ping
www.baidu.com
-t
得到:
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
Reply from 220.181.27.5: bytes=32 time=54ms TTL=53
(其中 -t 可以得到连续的检测)
ping 〔-t〕 〔-a〕 〔-n count〕 〔-l length〕 〔-f〕 〔-i ttl〕 〔-v tos〕 〔-r count〕 〔-s count〕 〔-j computer-list〕 │ 〔-k computer-list〕 〔-w timeout〕 destination-list
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break,To stop - type Control-C.
不停的ping地方主机.直到你按下Control-C.
此功能没有什么特别的技巧.不过可以配合其他参数使用.将在下面提到.
-a Resolve addresses to hostnames.
解析计算机NetBios名.
示例:
C:>ping -a 192.168.1.21
Pinging iceblood.yofor.com 〔192.168.1.21〕 with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4. Received = 4. Lost = 0 (0% loss).Approximate round trip times in milli-seconds:
Minimum = 0ms. Maximum = 0ms. Average = 0ms
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com.
-n count Number of echo requests to send.
发送count指定的Echo数据包数.
在默认情况下.一般都只发送四个数据包.通过这个命令可以自己定义发送的个数.对衡量网络速度很有帮助.比如我想测试发送50个数据包的返回的平均时间为多少.最快时间为多少.最慢时间为多少就可以通过以下获知:
C:>ping -n 50 202.103.96.68
Pinging 202.103.96.68 with 32 bytes of data:
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
------
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Ping statistics for 202.103.96.68:
Packets: Sent = 50. Received = 48. Lost = 2 (4% loss).Approximate round trip times in milli-seconds:
Minimum = 40ms. Maximum = 51ms. Average = 46ms
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中.返回了48个.其中有两个由于未知原因丢失.这48个数据包当中返回速度最快为40ms.最慢为51ms.平均速度为46ms.
-l size Send buffer size.
定义echo数据包大小.
在默认的情况下windows的ping发送的数据包大小为32byt.我们也可以自己定义它的大小.但有一个大小的限制.就是最大只能发送65500byt.也许有人会问为什么要限制到65500byt.因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时.对方就很有可能当机.所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小.虽然微软公司已经做了此限制.但这个参数配合其他参数以后危害依然非常强大.比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性.仅用于试验.请勿轻易施于别人机器上.否则后果自负)
C:>ping -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
------
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包.如果你只有一台计算机也许没有什么效果.但如果有很多计算机那么就可以使对方完全瘫痪.我曾经就做过这样的试验.当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时.不到5分钟对方的网络就已经完全瘫痪.网络严重堵塞.HTTP和FTP服务完全停止.由此可见威力非同小可.
-f Set Don’t Fragment flag in packet.
在数据包中发送[不要分段"标志.
在一般你所发送的数据包都会通过路由分段再发送给对方.加上此参数以后路由就不会再分段处理.
-i TTL Time To Live.
指定TTL值在对方的系统里停留的时间.
此参数同样是帮助你检查网络运转情况的.
-v TOS Type Of Service.
将[服务类型"字段设置为 tos 指定的值.
-r count Record route for count hops.
在[记录路由"字段中记录传出和返回数据包的路由.
在一般情况下你发送的数据包是通过一个个路由才到达对方的.但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数.不过限制在了9个.也就是说你只能跟踪到9个路由.如果想探测更多.可以通过其他命令实现.我将在以后的文章中给大家讲解.以下为示例:
C:>ping -n 1 -r 9 202.96.105.101 (发送一个数据包.最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 ->
202.107.210.214 ->
61.153.112.70 ->
61.153.112.89 ->
202.96.105.149 ->
202.96.105.97 ->
202.96.105.101 ->
202.96.105.150 ->
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1. Received = 1. Lost = 0 (0% loss).
Approximate round trip times in milli-seconds:
Minimum = 10ms. Maximum = 10ms. Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 .202.107.210.214 . 61.153.112.70 . 61.153.112.89 . 202.96.105.149 . 202.96.105.97这几个路由.
-s count Timestamp for count hops.
指定 count 指定的跃点数的时间戳.
此参数和-r差不多.只是这个参数不记录数据包返回所经过的路由.最多也只记录4个.
-j host-list Loose source route along host-list.
利用 computer-list 指定的计算机列表路由数据包.连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9.
-k host-list Strict source route along host-list.
利用 computer-list 指定的计算机列表路由数据包.连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9.
-w timeout Timeout in milliseconds to wait for each reply.
指定超时间隔.单位为毫秒.
此参数没有什么其他技巧.
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小.粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列.一般情况下Windows系列的系统返回的TTL值在100-130之间.而UNIX/Linux系列的系统返回的TTL值在240-255之间.当然TTL的值在对方的主机里是可以修改的.Windows系列的系统可以通过修改注册表以下键值实现:
〔HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters〕
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
快又稳
2024-10-28 广告
2024-10-28 广告
数据库服务器作为广州快又稳网络科技有限公司的核心基础设施之一,承载着公司海量数据的存储、处理与访问需求。我们采用高性能、高可用性的服务器架构,确保数据的安全性、完整性和快速响应能力。通过先进的数据库管理系统,优化查询效率,支持复杂业务场景下...
点击进入详情页
本回答由快又稳提供
展开全部
Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的 信息,我们就可以推断TCP/IP参数是 否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数 据报交换并不表示TCP/IP配置就是正确的,我们必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。 简单的 说,Ping就是一个测试程序,如果Ping运行正确,我们大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从 而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,例如许多 大型的网站就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据报而瘫痪的。
按照缺省设置,Windows上运行的 Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,我们应能得到4个回送应答。 Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping 还能显示TTL(Time To Live存在时间)值,我们可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回 时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段 (128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
按照缺省设置,Windows上运行的 Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,我们应能得到4个回送应答。 Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping 还能显示TTL(Time To Live存在时间)值,我们可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回 时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段 (128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |