0x00:简介
hping3 通过 syn 包来进行端口扫描,设计的参数有:--scan 和 - S,scan 代表开始扫描模式,S 代表 syn 包检测。
0x01:hping3 syn
hping3 端口书写格式和 nmap 几乎一样,首先是单个端口,格式是 hping3 1.1.1.1 --scan 53 -S,检测如下:
第二种是多个多个不连续的端口需要用逗号分隔,格式是 hping3 1.1.1.1 --scan 1,2 -S,检测如下:
第三种是范围写法,格式是 hping3 1.1.1.1 --scan 1-100 -S,检测如下:
这里如果扫描的是内网的话,速度还是很快的。通过 wireshark 抓包如下:
可以看到发送的是 syn,当端口开放时会返回一个 syn/ack。
0x02:hping3 伪造源地址
hping3 在扫描时,可以伪造源地址,这样目标服务器收到 syn 时的 ip 就不是自己本机的 ip,而是伪造的 ip。伪造 ip 通过 --spoof 参数可以实现。
格式:hping3 -c 30 -S --spoof 1.1.1.3 -p ++1 1.1.1.6, 首先看下 - p 参数,p 指定 ++1 代表端口每次 + 1,默认从 0 开始,-c 指定要发包的次数,结合 p 也就是从 1 端口扫到 30 端口,示例如下:
看一下在线端口的返回结果,其 flags=SA 则代表返回的是 syn/ack,是开放的,示例如下:
通过 wireshark 抓包如下:
0x03:总结
hping3 之前总结了在三层发现主机,主要是通过发送 icmp 包来判断,在四层也总结了发现主机,主要是通过 udp 和 tcp 来发现。这次是利用 hping3 的 scan 扫描模式结合 syn 握手包进行了端口发现。
公众号推荐:aFa攻防实验室
分享关于信息搜集、Web安全、内网安全、代码审计、红蓝对抗、Java、Python等方面的东西。