信息收集--IP扫描 (下篇)

网友投稿 1444 2022-09-24

信息收集--IP扫描 (下篇)

信息收集--IP扫描 (下篇)

信息收集--IP扫描 (下篇)

这些内容都是个人从网络和书籍中学习整合而来,参杂了一些个人理解在里面,可看作是个人学习笔记,适合对网络安全感兴趣,想对原理概念能系统了解到人,属基础内容。对其中的不足或错误之处还望告知交流heyihome.blog.

2、端口扫描原理

端口扫描原理是通过TCP/UDP协议来连接到对端端口,从而发现识别端口开放程度。扫描原理上通常有以下几种方式。

正常扫描方式

(1)TCP连接扫描:也称全连接扫描,原理为通过tcp协议的三次握手来同对端建立连接,如连接建立成功则说明端口是开放的。优点是可靠,缺点是由于建立了连接容易被对端记录。过程如下

客   --------SYN ---------->  服

户   <------SYN/ACK-----  务

机   -------ACK ---------->  器

扫描命令: nmap –sT

(2)TCP SYN扫描:也称半连接扫描,原理是在发送SYN后如果端口开放,对端返回syn和ack后发送RST来打断连接。如端口关闭,对端将返回RST,就能知道端口为关闭了。优点为比较隐秘,缺点为打开的半连接过多,容易被判断为syn flood而报警。

过程如下

客   --------SYN ---------->  服

户   <------SYN/ACK-----  务

机   -------RST ----------->  器

扫描命令: nmap –sS

隐秘扫描:通常SYN这类请求容易被防火墙IDS等察觉,但通过在TCP数据包中设一些不常用的协议标志或其他特征来进行扫描,好处是不容易被记录发现,缺点是依赖主机对协议实现情况,端口发现不一定可靠。(通常unix系统实现的较好,而windows系统并不遵守,所以不适用windows系统)

(1)TCP FIN扫描:这类一般只对unix类系统有效,通过像对端端口发送fin请求,如对端端口关闭将返回一个RST。

扫描命令: nmap –sF

(2)TCP圣诞xmas树扫描:发送FIN、URG、PUSH数据包,如对端口关闭,目标系统返回RST数据包

扫描命令: nmap –sX

(3)TCP NULL扫描:这类扫描时不设置任何TCP标记,端口关闭的话返回RST数据包

扫描命令: nmap –sN

(4)TCP ACK扫描:通过设置ACK后对返回的RST头信息进行分析来获取数据。适用BSD系统

扫描命令: nmap –sA

(5)TCP WINDOW扫描:通过返回不同的tcp window来判断端口开放程度。只适用AIX和BSD系统

扫描命令: nmap –sW

(6)TCP RPC扫描:用途发现UNIX上的RPC端口和识别关联应用程序和版本,只适用UNIX系统。扫描时向端口发送sunrpc 的null命令来判断是否为rpc端口,通常还能获得一些软件和版本信息。

扫描命令: nmap –sR

(7)UDP扫描:向端口发送UDP数据包,如返回ICMP port unreachable消息,说明端口关闭,如无信息返回说明端口开放。需要注意到是unix类系统中通常对icmp不可达信息做了限制,例如linux系统4秒内只允许80条,solaris每秒2条,扫描效率会很低,但windows未做限制,所以可以对windows系统快速扫描。

扫描命令: nmap –sU

需要特别注意到一点,IP协议的某实现缺陷会导致所有被扫描端口返回RST数据包,即便是开放的。因此扫描结果不一定与实际情况一致,但通常连接扫描和SYN扫描适用性较好。

欺骗扫描:利用第三方存在漏洞的服务器作为跳板扫描,好处是如这个系统是被防火墙信任,能获取到更多的信息。

(1)FTP 跳板扫描:有些FTP服务器在PORT命令处理时存在漏洞,利用此漏洞来进行扫描。但这个基本只存在早期系统,现在应该很少能遇到了。

扫描命令: nmap –b username:password@server:port

(2)IP ID头扫描:这类扫描需要利用到僵尸主机,优点很隐蔽。

扫描命令: Nmap 选项 –sI

扫描过程:

1、  攻击者持续向僵尸主机发送探测包

2、  攻击者同时像目标主机发送SYN,源地址伪造成僵尸主机,如端口开放目标主机向僵尸主机发送SYN/ACK会影响到僵尸主机的ID字段

3、  通过僵尸主机返回数据包的ID字段分析来猜测目标主机端口是否开放。

三、其他扫描工具

hping2 :允许设定tcp/udp和raw ip数据包里的某特定选项,从而使得hping2可以穿透一些网络访问控制设备。例如 hping ip –s –p 80 –f 为分片扫描。-cN 可以发送N个数据包后结束扫描,使得hping2方便的在脚本中使用。

icmpenum :特点类似superscan,除可发出正常echo数据包外还可以发送其他类型icmp数据包。还可以用-s命令来伪造一个虚假源地址,-p 使用被动方式监听从目标网络返回的响应。

icmpquery :可以查询对端主机时间和子网掩码。例如:icmpquery –t ip 为查询时间,icmpquery –m ip 为查询子网掩码。

loki2 :严格来说并非icmp扫描工具,而是可以将恶意数据打包到icmp echo中。

四、防范方法

1、使用ids或fw等来监视ping扫描活动。

2、在边界网络对icmp数据包进行过滤,只允许特定icmp数据包访问特定服务器。通常来说需要用到icmp一般是内网管理用,那么就应该在边界过滤掉外部网络的icmp访问。或在不影响应用的情况下完全禁止icmp。

五、参考文档

可参考文库这篇nmap详解,里面对各种类型扫描有比较详细说明。

By Jason h3

Mail:jasonh3@126.com

Ver:1.1

2011-2-9

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:消费者不是韭菜!中消协点名营销乱象:这些套路要小心了!
下一篇:如何在Linux/Unix平台查看HBA卡的WWN号
相关文章

 发表评论

暂时没有评论,来抢沙发吧~