
Ping程序使用的是ICMP协议,ICMP不像>
Ping用到的是ICMP协议,不是端口。
在Linu下输入下面两句
iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth+ -p icmp --icmp-type 0 -j ACCEPT
就可以打开所有网卡的Ping功能了。
扩展资料:
Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
命令参数
参照ping命令的帮助说明来说说使用中会需要的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
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
说明:通常情况下,XP以上系统的ping命令帮助显示的是中文,故无需翻译。
Options:
-t Ping the specified host until stopped To see statistics and continue - type Control-Break;To stop - type Control-C
不停的ping对方主机,直到用户按下Control-C。
参考资料来源:百度百科-ping (网络诊断工具)
Ping 命令基本工作原理:
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
PING测试:
1本机IP
例如本机IP地址为:1721682002。则执行命令Ping 1721682002。如果网卡安装配置没有问题,则应有类似下列显示:
Reply from 1721682002 bytes=32 time<10ms
Ping statistics for 1721682002
Packets Sent=4 Received=4 Lost=0 0% loss
Approximate round trip times in milli-seconds
Minimum=0ms Maximum=1ms Average=0ms
如果在MS-DOS方式下执行此命令显示内容为:Request timed out,则表明网卡安装或配置有问题。将网线断开再次执行此命令,如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。
2网关IP
假定网关IP为:17216861,则执行命令Ping 17216861。在MS-DOS方式下执行此命令,如果显示类似以下信息:
Reply from 17216861 bytes=32 time=9ms TTL=255
Ping statistics for 17216861
Packets Sent=4 Received=4 Lost=0
Approximate round trip times in milli-seconds
Minimum=1ms Maximum=9ms Average=5ms
则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。
3远程IP
这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为:20210248141。在MS-DOS方式下执行命令:Ping 20210248141,如果屏幕显示:
Reply from 20210248141 bytes=32 time=33ms TTL=252
Reply from 20210248141 bytes=32 time=21ms TTL=252
Reply from 20210248141 bytes=32 time=5ms TTL=252
Reply from 20210248141 bytes=32 time=6ms TTL=252
Ping statistics for 20210248141
Packets Sent=4 Received=4 Lost=0 0% loss
Approximate round trip times in milli-seconds
Minimum=5ms Maximum=33ms Average=16ms
则表明运行正常,能够正常接入互联网。反之,则表明主机文件(windows/host)存在问题。
Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
用system函数简单调用ping命令:
#include "stdioh"
void main()
{
char ip[15];
char command[50];
// printf("enter IP please: ");
scanf("%s",&ip[0]); //输入要ping的ip
sprintf(command,"ping %s",ip);
system(command);
exit(0);
}
在命令处理程序中,要实现ping本机网关IP地址并截图另存的 *** 作,可以按照以下步骤进行:
1 打开命令处理程序:在Windows系统中,可以按“Win + R”组合键打开运行窗口,输入 “cmd” 后按下回车键即可打开命令处理程序。
2 输入ping命令:在命令处理程序窗口中输入“ping 网关IP地址”,其中网关IP地址指的是路由器或交换机等网络设备的IP地址。例如,如果网关IP地址为19216811,则输入命令:“ping 19216811”。
3 按下回车键:输入完ping命令后,按下回车键开始进行ping *** 作,等待一段时间直到命令执行完成。
4 截屏:在命令处理程序窗口中,按下“Alt+PrintScreen”组合键,将当前窗口截图至剪贴板。
5 另存:打开画图或其他编辑软件,按下“Ctrl+V”组合键将剪贴板中的截图粘贴进去,接着保存该即可。
需要注意的是,不同Windows版本可能存在差异,以上仅供参考。
ping -l 1000 >
需要注意的是,Ping成功并不一定就代表TCP/IP配置正确,有可能还要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性。
如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只保证当前主机与目的主机间存在一条连通的物理路径。
扩展资料:
实现方式:ICMPPing。
ICMP不仅用于传输差错报文,还用于消息控制报文。它与IP协议相互依赖:IP在发送一个差错或控制报文时要用到ICMP,而ICMP利用IP来传递报文。
ICMP报文分为信息报文、差错报文、控制报文。信息报文一般由客户端发出,例如用于测试目的地址可达性的回应请求/应答报文。
而差错报文一般由服务器或是路由器发出,表示网络或主机不能完成要求的服务。当发送一份ICMP差错报文时,文始终包含了IP首部和产生ICMP差错报文的IP数据报的前8个字节。
ICMP Ping就是向目标主机发送ICMP信息报文,标主机(有时是路由器)回应ICMP信息报文或差错报文,Ping程序根据这些收到的ICMP报文,,以知道目标主机的可达性。可用丁Ping的信息报文有:回应请求与响应报文、时间戳请求与响应报文和掩码请求与响应报文。
参考资料来源:百度百科-ping
校验与远程计算机或本地计算机的连接。只有在安装 TCP/IP 协议之后才能使用该命令。
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
参数
-t
校验与指定计算机的连接,直到用户中断。
-a
将地址解析为计算机名。
-n count
发送由 count 指定数量的 ECHO 报文,默认值为 4。
-l length
发送包含由 length 指定数据长度的 ECHO 报文。默认值为 64 字节,最大值为 8192 字节。
-f
在包中发送“不分段”标志。该包将不被路由上的网关分段。
-i ttl
将“生存时间”字段设置为 ttl 指定的数值。
-v tos
将“服务类型”字段设置为 tos 指定的数值。
-r count
在“记录路由”字段中记录发出报文和返回报文的路由。指定的 Count 值最小可以是 1,最大可以是 9 。
-s count
指定由 count 指定的转发次数的时间邮票。
-j computer-list
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机(松散的源路由)。允许的最大 IP 地址数目是 9 。
-k computer-list
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机(严格源路由)。允许的最大 IP 地址数目是 9 。
-w timeout
以毫秒为单位指定超时间隔。
destination-list
指定要校验连接的远程计算机。
关于 Ping 的详细信息
Ping--注意
Ping 命令通过向计算机发送 ICMP 回应报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送报文, Ping 最多等待 1 秒,并打印发送和接收把报文的数量。比较每个接收报文和发送报文,以校验其有效性。默认情况下,发送四个回应报文,每个报文包含 64 字节的数据(周期性的大写字母序列)。
可以使用 Ping 实用程序测试计算机名和 IP 地址。如果能够成功校验 IP 地址却不能成功校验计算机名,则说明名称解析存在问题。这种情况下,要保证在本地 HOSTS 文件中或 DNS
数据库中存在要查询的计算机名。
下面显示 Ping 输出的示例:(Windows用户可用:开始->运行,输入"command" 调出command窗口使用此命令)
C:\>ping dsinternicnet
Pinging dsinternicnet [19220239132] with 32 bytes of data:
Reply from 19220239132: bytes=32 time=101ms TTL=243
Reply from 19220239132: bytes=32 time=100ms TTL=243
Reply from 19220239132: bytes=32 time=120ms TTL=243
Reply from 19220239132: bytes=32 time=120ms TTL=243
回答者:qq2086168 - 童生 一级 6-6 15:57
提问者对于答案的评价:
够多!
评价已经被关闭 目前有 0 个人评价
好
50% (0) 不好
50% (0)
对最佳答案的评论
看不明白啊 !!! 能力有限
评论者: joskin00 - 试用期 一级
不明白
评论者: yj000123 - 助理 二级
评论者: 84097024 - 试用期 一级
更多>>
其他回答共 4 条
说明你和他的网络连接不稳定,丢失的,就是没到达他服务器的!
原理如下
本文只是总结了两个常用的网络命令的实现原理和一点使用经验说明。这些东西通常都分布在各种书籍或者文章中的,我勤快那么一点点,总结一下,再加上我的一点理解和使用经验,方便大家了解。这些也是很基础的东西,没什么高深的。
Ping
这个应该大家都会用的吧,最主要的就是检测目标主机是不是可连通。Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答。然后打印出回显的报文。Ping不通一个地址,并不一定表示这个IP不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此Ping不通并不表示不能使用FTP或者TELNET连接。
PING得到的结果包括字节数、反应时间、以及生存时间。Ping程序通过在ICMP报文数据中存放发送请求的时间来计算返回时间。当应答返回时,根据现在时间减去报文中存放的发送时间就得到反应时间了。生存时间(TTL),本来就存放在IP数据报的头部,直接就能够获取。
上次和Dancefire说天网防火墙的时候,现在不是天网能识别哪些程序在进行网络连接么,结果试验用Ping的时候,天网就不知道了,呵呵,反正是没有警告。那ICMP木马天网能防么?
Tracert
一个探测路由的程序,可以让我们看见IP数据报到达目的地经过的路由。
Tracert利用ICMP数据报和IP数据报头部中的TTL值。TTL(Time To Live)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。这样,TTL值就相当于一个路由器的计数器。
当路由器接收到一个TTL为0或者1的IP数据报的时候,路由器就不再转发这个数据了,而直接丢弃,并且发送一个ICMP“超时”信息给源主机。Tracert程序的关键就是这个回显的ICMP报文的IP报头的信源地址就是这个路由器的IP地址。同时,如果到达了目的主机,我们并不能知道,于是,Tracert还同时发送一个UDP信息给目的主机,并且选择一个很大的值作为UDP的端口,使主机的任何一个应用程序都不使用这个端口。所以,当达到目的主机的时候,UDP模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。
有说法是利用ping得到的TTL值来判断主机类型,这种办法可以大概地用来判断,有人问为什么一般得到的都不是标准的TTL值。这个就是因为ICMP数据包走的路由器线路的原因,所以,用ping 和 tracert 一起来用更容易判断主机类型(不过并不一定两次走的路线都一样,所以,还是个大概值,不过更接近点,而且主机的默认TTL值是可以改变的)。
C:\〉ping 21199199204
Pinging 21199199204 with 32 bytes of data:
Reply from 21199199204: bytes=32 time=20ms TTL=248
Reply from 21199199204: bytes=32 time〈10ms TTL=248
Reply from 21199199204: bytes=32 time=10ms TTL=248
Reply from 21199199204: bytes=32 time=10ms TTL=248
Ping statistics for 21199199204:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 20ms, Average = 10ms
C:\〉tracert 21199199204
Tracing route to 21199199204 over a maximum of 30 hops
1 10 ms 10 ms 20 ms 2119957121
2 10 ms 10 ms 10 ms 20296131
3 〈10 ms 10 ms 20 ms 202961362
4 20 ms 10 ms 10 ms 21077139186
5 〈10 ms 10 ms 20 ms 21077139170
6 〈10 ms 〈10 ms 10 ms 21199193154
7 〈10 ms 10 ms 〈10 ms 21199199204
Trace complete
C:\〉
Ping得到的TTL=248,经过了7个路由器,减少了7,所以主机的TTL值是255。这样来判断吧。
下面是一些主机的默认TTL值。
LINUX Kernel 22x & 24x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 41, 40, 34;
Sun Solaris 251, 26, 27, 28;
OpenBSD 26, 27,
NetBSD
HP UX 1020
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
以上就是关于急需高手指点~ping命令是用的什么端口全部的内容,包括:急需高手指点~ping命令是用的什么端口、计算机中“Ping”命令的基本工作原理是什么、如何写一个简单的ping程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)