/* 粒子吸附*/

ping

Ping命令(ICMP Echo)

ping/?

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
            [-4] [-6] target_name

选项:
    -t             Ping 指定的主机,直到停止。
                   若要查看统计信息并继续操作,请键入 Ctrl+Break;
                   若要停止,请键入 Ctrl+C。
    -a             将地址解析为主机名。
    -n count       要发送的回显请求数。
    -l size        发送缓冲区大小。
    -f             在数据包中设置“不分段”标记(仅适用于 IPv4)。
    -i TTL         生存时间。
    -v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,
                   对 IP 标头中的服务类型字段没有任何
                   影响)。
    -r count       记录计数跃点的路由(仅适用于 IPv4)。
    -s count       计数跃点的时间戳(仅适用于 IPv4)。
    -j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)。
    -k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)。
    -w timeout     等待每次回复的超时时间(毫秒)。
    -R             同样使用路由标头测试反向路由(仅适用于 IPv6)。
                   根据 RFC 5095,已弃用此路由标头。
                   如果使用此标头,某些系统可能丢弃
                   回显请求。
    -S srcaddr     要使用的源地址。
    -c compartment 路由隔离舱标识符。
    -p             Ping Hyper-V 网络虚拟化提供程序地址。
    -4             强制使用 IPv4。
    -6             强制使用 IPv6。

Ping命令的原理
Ping是类型为8的ICMP报文,ping程序在Windows、Linux以及unix下都可执行,该程序发送一份ICMP回显(Echo)请求给目标主机,并等待对方返回ICMP回显应答,如果源主机在一定时间内收到应答,则可以认为主机可达,如果不能ping到某台主机,则表明不能和这台主机建立连接。Ping程序一般用来探测主机与主机之间是否可以通信,并可以根据返回结果估计丢包率和网络时延。在Windows下,对于每个发送报文,默认情况下发送4个回显数据包,每个数据包含32字节的数据,计算机安装TCP/IP协议后即可以使用。在Linux下,默认情况下源主机向目标主机不停发送数据包,直到用户终止。
ICMP协议通过IP协议发送,IP协议是一种无连接的、不可靠的数据包协议,因此Ping不通一个地址,并不一定表示这个IP一定不存在或者不在网络上,因为对方主机可能做了限制,比如安装了防火墙,针对这种情况,可采用其他的方式进行探测。
Ping命令的使用详解
Ping指令的基本格式:(Windows环境下)
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-r count] [-s count] [[-j host-list] | [-k host-list]][-w timeout] [-4] [-6] target_name
ping指令的参数详解
(1)-t:向指定计算机不停地发送数据包,按Ctrl+Break快捷键可以查看统计信息并继续运行,按Ctrl+C快捷键可终止运行。
(2)-a:将地址解析为计算机名,就是以IP的格式显示网络地址。
(3)-n count:发送count指定的ECHO数据包数,默认发送四次,其中count为正整数。
(4)-l size:发送包含size指定的数据量大小的ECHO数据包,默认为32字节,最大值是65527字节。
(5)-i TTL:指定Ping报文的生存时间,TTL是指在到达的底之前应经过多少网关。
(6)-w timeout:指定超时时间间隔,单位为ms,默认为1000。
Ping指令的基本格式(Linux环境下)
ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline] [-p pattern] [-s packetsize] [-t ttl] [-I interface or address] [-M mtu discovery hint] [-S sndbuf][ -T timestamp option ] [ -Q tos ] [hop1 ...] destination
ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。缺省情况是连续发送回送信号请求直到接收到中断信号(Ctrl-C)。
(1)-A 不等待收到回复,继续发送数据包。
(1)-c Count:指定要被发送(或接收)的回送请求数据包的数目,由Count变量确定。
(2)-w timeout:这个选项仅和-c选项一起才能起作用。它使ping命令以最长的超时时间去等待应答(发送最后一个信息包后)。
(3)-i Wait:在每个信息包发送之间等待被Wait变量指定的时间(秒数)。缺省值是在每个信息包发送之间等待 1 秒。这个选项与 -f 标志不兼容。
(4)-q:指定静默输出。除了在启动和结束时显示总结行外什么也不显示。
(5)-s PacketSize:指定要发送数据的字节数。缺省值是56,当和8字节的ICMP 头数据合并时被转换成64字节的ICMP数据。
(6)-T ttl:指定多点广播信息包的生存时间为ttl秒。
(7)-v:请求详细输出,其中列出了除回送信号响应外接收到的 ICMP 信息。
几种常见的扫描方式及其原理
ICMP Sweep
根据Ping的实现机制,可以通过并行发送ICMP Echo Request数据包,同时探测多个目标主机,以提高探测效率,常用来寻找一个网络上的存活主机。与Ping命令与有相同的优缺点,简单,但容易被防火墙限制。
用于ICMP Sweep(ICMP扫射)的工具有很多,在UNIX环境下有fping,Windows环境下有Pinger等工具,另外Nmap也提供了ICMP扫射的能力。
Broadcast ICMP
与ICMP Sweep一样,Broadcast ICMP(广播ICMP)也是利用了ICMP回显请求和ICMP回显应答这两种报文,但不同之处在于,广播ICMP需要向目标网络的网络地址或者广播地址发送一两个回显请求,这样就能收到目标网络中所有存活主机的ICMP回显应答,相比于ICMP回显请求轮询目标网络中的主机更简便。但是只有UNIX系统的主机会对目标地址为网络地址或广播地址的ICMP回显请求做应答,Windows系统的主机会将其忽略。
Non-Echo ICMP
有的目标主机阻塞了ICMP回显请求报文,但仍然可以通过使用其他类型的ICMP报文探测(非回显ICMP)目标主机是否存活。例如类型为17的ICMP报文(地址掩码请求),大多数主机在收到请求时都会发送一个应答,甚至有些主机还会发送差错的应答,所以也可以使用类型是17的ICMP报文来探测主机是否存活。
Stamp Request(类型13) Reply(类型14)
Information Request(类型15) Reply(类型16)
Address Mask Request(类型17) Reply(类型18)
TCP Sweep
TCP Sweep(TCP扫描):根据TCP建立连接的过程可知,如果向目标发送一个SYN报文,无论是收到一个SYN/ACK还是一个RST报文,都表明目标处于存活状态。类似的,可以向目标发送一个ACK报文,按照协议规定,如果目标存活,将会收到一个RST报文,该方法同样可用于探测端口是否开放。
UDP Sweep
UDP Sweep(UDP扫射),与TCP扫射的原理类似,同样是根据建立UDP连接的协议规定,如果向目标的特定端口发送一个UDP数据报之后,接收到ICMP端口不可达到的错误,则表明目标处于存活状态,否则表明目标不在线或者目标的相应UDP端口是打开的。但是由于UDP和ICMP都不保证能到达,因此在一个数据报上看上去丢失的时候还需要重新发送新的UDP数据报以确认目标有没有发送错误信息。

Windows和Linux下的Ping命令都只能完成对一个主机存活性的探测,不适合用作扫描网段内的存活主机,Fping是一款用于UNIX的工具,现在也提供了Windows平台下的版本。

Fping是以并行的方式向列表中的所有IP地址发送ICMP报文回送请求,该工具的实现原理与Ping相同,无法探测到防火墙之后的主机。

posted @ 2020-12-27 16:04  上行  阅读(385)  评论(0编辑  收藏  举报
/* 引入live2d的相关js*/