码迷,mamicode.com
首页 > 其他好文 > 详细

[na]tcp&udp扫描原理

时间:2018-03-08 12:16:17      阅读:740      评论:0      收藏:0      [点我收藏+]

标签:tree   eal   除法   情况   举例   防火墙   主机   syn/ack   用法   

nmap软件使用思路及常见用法
Nmap高级用法与典型场景

namp -sn 4种包

使用nmap -sn 查询网段中关注主机或者整个网段的IP存活状态

    nmap -sn
nmap针对局域网和广域网(会根据源目的是否在同一网段进行判断)有两种不同的扫描方式
当目标主机与源主机不在同一网段时:
Nmap会发送四种不同类型的数据包来探测目标主机是否在线。
1)  ICMP echo request
2)  a TCP SYN packet to port 443
3)  a TCP ACK packet to port 80
4)  an ICMP timestamp request

举例:以扫描某个公网IP为例
技术分享图片

端口扫描原理

TCP SYN scanning

这是Nmap默认的扫描方式,通常被称作半开放扫描(Half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式仅发送SYN包对目标主机的特定端口,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。
TCP SYN探测到端口关闭:
技术分享图片

TCP SYN探测到端口开放:
技术分享图片

TCP connect scanning

TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。

TCP connect探测到端口关闭:

技术分享图片

TCP connect探测到端口开放:
技术分享图片

TCP ACK scanning

向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

TCP ACK探测到端口被屏蔽:
技术分享图片
TCP ACK探测到端口未被屏蔽:
技术分享图片

TCP FIN/Xmas/NULL scanning

这三种扫描方式被称为秘密扫描(Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包,如果收到对方RST回复包,那么说明该端口是关闭的;没有收到RST包说明端口可能是开放的或被屏蔽的(open|filtered)。

其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。

TCP FIN探测到主机端口是关闭的:
技术分享图片

TCP FIN探测到主机端口是开放或屏蔽的:
技术分享图片

UDP scanning

UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。

UDP端口关闭:traceroute(udp+icmp)原理
技术分享图片

UDP端口开放或被屏蔽:
技术分享图片

[na]tcp&udp扫描原理

标签:tree   eal   除法   情况   举例   防火墙   主机   syn/ack   用法   

原文地址:https://www.cnblogs.com/iiiiher/p/8527097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!