行是知之始,知是行之成。这篇文章主要讲述#yyds干货盘点#web安全day44:进阶!使用Nmap+Wireshark理解端口扫描相关的知识,希望能为你提供帮助。
【#yyds干货盘点#web安全day44(进阶!使用Nmap+Wireshark理解端口扫描)】本文使用Nmap和Wireshark进行网络端口扫描的实验和原理探究。
端口扫描端口扫描是人为发送一组端口扫描消息,试图以此了解某台计算机的弱点,并了解器提供的计算机网络服务类型(这些网络服务均与端口号相关)。
nmap支持端口扫描,所有的扫描选项都是以-s<
X>
形式出现的。
我们的基础网络拓扑为
kali:192.168.189.141
windows2012:192.168.189.153
其中windows2012中部署了http服务,开放了80端口。
SYN半连接扫描-sS是端口扫描中较常用,高效的一种扫描方式,扫描速度要快于全连接扫描。
SYN半连接扫描由于不会建立完整的TCP连接,因此难以被防火墙或者管理员发现。如果发现目标端口出现被开放或者过滤的情况,可以考虑使用SYN半连接扫描。
nmap -sS 192.168.189.153 -p 80
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到我们的kali发送了tcp请求报文,但是没有完成3次握手,在第二次握手后就主动进行了释放。
TCP全连接扫描-sT是端口扫描中最基础、最稳定的扫描方式。
nmap-sT 192.168.189.153 -p 8080
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到有2组,每组4个包,表示3次握手和释放连接。
TCP全连接扫描用于SYN扫描不能使用的时候,Nmap会在相应端口上建立完整的3次握手,因此不会因泛红而导致目标主机崩溃。
如果我们扫描没有开放的端口,如8080端口。
nmap -sT 192.168.189.153 -p 8080
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到只有两个包,一个是SYN包进行请求,一个是RST包释放连接。
隐蔽扫描只能在linux中使用,原理是发送TCP畸形请求报文,躲避无状态防火墙的检测,如果扫描不出结果或者出现被过滤的情况,可以使用以下三种方式进行扫描。
Null扫描
nmap -sN 192.168.189.153 -p 80
-sN选项是通过发送flags置位全为0的SYN请求报文,如果目标主机的相应端口关闭,就会响应一个RST数据包,反之不会响应任何信息。
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到发送的SYN请求中Flags位全空,而正常情况下,SYN请求包中SYN是置位的,这是一种畸形TCP报文。
Xmas扫描
nmap -sX 192.168.189.153 -p 80
-sX选项是通过发送flags为FIN、PSH、URG位置位的请求报文,如果目标主机的相应端口开放,就会响应一个RST数据包,反之不会响应任何信息。
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到发送的SYN请求中Flags位URG PSH FIN位置位了,而正常情况下,SYN请求包中只有SYN是置位的,这也是一种畸形TCP报文。
FIN扫描
nmap -sF 192.168.189.153 -p 80
-sF选项是通过发送flags为FIN置位的请求报文,如果目标主机的相应端口开放,就会响应一个RST数据包,反之不会响应任何信息。
我们使用wireshark进行抓包分析,使用过滤规则为
ip.addr==192.168.189.153 and tcp.port==80
可以看到发送的SYN请求中Flags位FIN位置位了,而正常情况下,SYN请求包中只有SYN是置位的,这也是一种畸形TCP报文。
推荐阅读
- #yyds干货盘点#Spring专题「技术原理」为大家介绍一下Spring中的Ant路径匹配工具组件AntPathMatcher
- 需要链接到分页的最后一页
- 元查询比较元键是否在指定范围内
- 列出在WordPress的类别/标签中写了一定数量帖子的作者
- javascript accordion / CSS无法正常工作
- 在我的WordPress主题文件中不断发现注入垃圾的PHP
- 在WordPress中,如何将自定义帖子类型的默认管理排序顺序设置为自定义列()
- 在首页的每第7个帖子和类别WordPress页面之间插入广告
- 在我的WordPress主题中,如何为博客页面添加分页()