Linux 下使用nmap
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-29
SYN|ACK包, 源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的操作系统内核自动完成的.这项技术最大的好处是,很少有系统能够把这记入系统日志.不过,你需要root权限来定制SYN数据包. 这里呢补充TCP三次握手的过程 一、TCP握手协议 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,确认客户的SYN(ack=j 1),同时自己也发送一个SYN包(syn=k),即SYN ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k 1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手. 完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念: 未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包.这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态.
秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用.一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而 且有些程序比如synlogger和courtney能够检测那些扫描.这些高级的扫描方式可以逃过这些干扰.这些扫描方式的理论依据是:关闭的端口需要 对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页).FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志.不幸的是,微软决定完全忽略这个标准,另起炉灶.这种扫描方式对Windows95/NT无效.不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台.如果使用这种扫描方式可以发现打开的端口,你就可以确定目标注意运行的不是Windows系统.如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫 描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统.现在这种方式没有什么太大的用处,nmap有内嵌的操作系统检测功能.还有 其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX.在应该抛弃数据包时,以上这些系统都会从打 开的端口发出复位数据包.
-sP ping扫描:有时你只是想知道此时网络上哪些主机正在运行.通过向你指定的网络内的每个IP地 址发送ICMP echo请求数据包,nmap就可以完成这项任务.如果主机正在运行就会作出响应.不幸的是,一些站点例如:microsoft.com阻塞ICMP echo请求数据包.然而,在默认的情况下nmap也能够向80端口发送TCP ack包,如果你收到一个RST包,就表示主机正在运行.nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包.对于非root用户,nmap使用connect()方法. |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 解决vsftpd登陆慢卡的问题下一篇: 为root账户更名
关于Linux 下使用nmap的所有评论