ping 命令详解及扩展(kali Linux)

ping是常见的测试命令,关于它的一些扩展有不少今天就来说说吧

1. ping

 在检查主机是否在线的工具中 ping 可能是最著名的程序了,该工具向目标主机发送 ICMP 协议(Internet Control Message Protocol) 的echo request 数据包。如果目标主机在线且允许接受ping 请求,那么目标主机将回复 ICMP echo reply 数据包。

在kali linux 里面,默认情况下在按 CTRL + C 之前,ping 指令会一直运行下去。

ping 里面有很多指令最常用的有以下几个:

(1) ping  -c   count  : 发送 echo request 数据包的总量 如下 

ping 命令详解及扩展(kali Linux)_第1张图片

发送 10 次 每次包的大小默认是 56  ,最后会显示多少个包被成功接回,多少个丢失以及总时间、最大、最小、平均时间。

(2) ping -I  interface address : 设置源地址或者网络接口,该参数可以是 IP 地址(如 ping -I 192.168.1.1)或者网卡设备的名称(如 eth0) 如果要 ping IPv6 链路本地地址,就必须指定这个选项。

(3) ping -s packet size 发送指定大小的数据包 如

ping 命令详解及扩展(kali Linux)_第2张图片

指定 ping 8次, 每次的数据包大小 99 字节。

2. arping 

arping 是在局域网中使用ARP(Addess Resolution Protocol)请求判断目标主机是否在线的工具。你可以用 IP 地址或者 MAC 地址 作为它的测试目标。

因为 arping 程序工作于 OSI 模型中的第二层,ARP 协议的数据包无法通过路由器和网关,所以它只能检测本地局域网络中的主机。

(1)判断某局域网主机是否在线 如图

ping 命令详解及扩展(kali Linux)_第3张图片

该目标主机在线 。如果这个IP 存在该主机将其 Mac 地址通过 ARP 协议传回

(2) 判断 某个地址是否被占用,如果某天你想换一个 IP 地址 192.168.6.5,换之前先判断这个地址是否被其他主机占用。

如下命令   

  arping -D -I eth0 10.29.6.80 -c 2

ping 命令详解及扩展(kali Linux)_第4张图片

键入 echo $? 返回值是1 表示此地址已经被占用, 返回 0 表示未被占用。

3. fping

  与 ping 相比 fping 可以同时向多个主机发送 ping(ICMP echo )请求,你可以在命令里面指定主机,也可以在某个文件里面指定多个目标主机。

默认情况下 fping 通过主机回复判断主机是否在线。返回 alive 则表示在线,返回UNreachable 表明不可访问。

(1) fping ip ip ip ip... :如下

第一个在线,第二个和第三个不在线。

(2)如果不想指定 IP 可以指定目标主机列表,对整个网段进行检测。命令如下:

fping  -g 10.29.5.0/24   

-g 是参数 g 是 generate 的缩写。

ping 命令详解及扩展(kali Linux)_第5张图片

alive 表示在线,UNreachable 表示不在线。

可以看出数据是相当的多,在线的主机都会优先显示,不在线的都在后面显示。

如果要改变探测次数,可以加上 -r 参数 (默认是 3 次)

(3) 查看多个目标统计结果如下

ping 命令详解及扩展(kali Linux)_第6张图片

这个阅读起来非常方便,小伙伴们都可以试试。

4.hping3

hping3 程序是命令行下的网络数据包生成和分析工具。在 TCP/IP 测试和安全测试里,例如端口扫描、防火墙规则测试、网络性能测试时,都能使用这个程序生成自定义的网络数据包,从而进行相应测试。

在不指定任何参数下,直接运行 hping3 将向 TCP 的0号 端口发送空数据。如果改变通信协议参考下面参数

-0           --raw-ip      发送原始数据包
-1           --ICMP        发送ICMP数据包
-2           --udp         发送UDP数据包
-8           --scan        进入扫描模式
-9           --liste       进入监听模式

如果不指定通信协议默认是 TCP 协议

  -M  --setseq     set TCP sequence number
  -L  --setack     set TCP ack
  -F  --fin        set FIN flag
  -S  --syn        set SYN flag
  -R  --rst        set RST flag
  -P  --push       set PUSH flag
  -A  --ack        set ACK flag
  -U  --urg        set URG flag
  -X  --xmas       set X unused flag (0x40)
  -Y  --ymas       set Y unused flag (0x80)

(1)向某一个目标主机发送 ICMP 请求 就要用 -1 (ICMP 协议参数) 和 -c (发送次数参数)

hping3 -1 10.29.5.4 -c 10 如下

ping 命令详解及扩展(kali Linux)_第7张图片

一共发送10次 ICMP 请求,如上 目标主机在线,它回复了ICMP echo 请求。

捕获数据流量进行验证如下

可见目标主机的确发送了ICMP echo 回复数据包。

PS : 各种协议和参数的使用参考以上,可以自己试试其他协议。

(2)用hping3 检验防火墙规则  : UDP 检验

ping 命令详解及扩展(kali Linux)_第8张图片

参数说明  -2 表示upd协议  -c 是次数 ,-S 是SYN 标识  -p 22 端口号 22 ,-s    基本源端口

上述信息表明 目标主机接收了我们发送到 22 端口的带有SYN标识的 UDP 包,但是目标主机的在UDP 协议下不可达,不接受22端口的UDP数据包。

ICMP 检验:

ping 命令详解及扩展(kali Linux)_第9张图片

上述信息表明 目标主机接收了ICMP包。你也可以自己加参数。

TCP 检测

ping 命令详解及扩展(kali Linux)_第10张图片

上述信息表明 目标主机接收了我们发送到 22 端口的带有SYN标识的 TCP 包。

以上只是几个简单的功能,小伙伴可以查看 hping3的其他命令你进行摸索。

5.nping

nping 用户允许发送多种协议(TCP、UDP、ICMP、ARP)的数据包你也可以设置协议的端口如 TCP 的源端口和目的端口。nping 可以探测多个主机的多个端口。还可以像 ping 程序一样发送ICMP echo 请求。nping也可以对网络进行压力测试 、ARP 中毒、DOS 攻击。

kali Linux中,nping是Nmap的一部分。具体参数如下

 
--tcp-connect     基础的--tcp-connect 功能
--tcp             TCP模式
--upd             UDP模式
--icmp            ICMP模式
--arp             ARP模式
--tr              traceroute模式(仅与TCP/ICMP/UDP 模式兼容)

向多个目标发送请求 nping -c 4 10.29.5.4-10 

在这段ip中 只有 10.29.5.4 对我们主机响应,其他主机都没有

在不响应的情况下,我们可以向这些主机开放的TCP端口发送 TCP SYN 包检验它是否在线

如下 随便挑一个 ip 进行测试

nping --tcp -c 4 -p 22 10.29.5.6   

一般的常规端口有 21、222、23、25、80、443、8443.可以从这些端口入手。ping 命令详解及扩展(kali Linux)_第11张图片

ping 命令详解及扩展(kali Linux)_第12张图片

 

由此可见 这个目标主机不在线。

好了以上5个关于 ping 的工具就到这里了,多加练习就可以掌握。未探测的部分还有很多,继续加油!

 

 

 

 

你可能感兴趣的:(Linux攻击,渗透的艺术--Kali,Linux)