快速扫描局域网主机的方式

     第一: 目前了解最多的就是ping实现,然后各种去ping包,这种有一个问题,如果主机关了ping这个选项,就比较麻烦!就是“echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts”来关闭该功能,从而防止icmp风暴,防止网络阻塞。

     第二:据我所知,目前最快的扫描方式,nbtscan小工具,位于samba的工具栏里面,可以借鉴来用用,主要利用了

 WINDOWS网络NetBIOS信息 ,但是有个缺陷,只能用于局域网。

     第三:Nmap工具,不过这个工具,黑客用的比较多,因为,综合了所有的扫描方式。

     下面是Nmap支持的四种最基本的扫描方式:

    ⑴ TCP connect()端口扫描(-sT参数)。
    ⑵ TCP同步(SYN)端口扫描(-sS参数)。
    ⑶ UDP端口扫描(-sU参数)。
    ⑷ Ping扫描(-sP参数)。
     第一种:这种方式学会之后,就可以了解tcp三次握手的精髓了。
     第四种:Ping扫描通过发送ICMP (Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。
     第三种:UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口,检测是否存在icmp端口不可达到数据包,如果该数据出现,说明对方这一端口没有程序监听,或者不存在漏洞,否则,就有监听,或者存在漏洞。
     
        第二种:TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。
       TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。

      目前android平台的Inetaddress.sReachable就是采取向对端tcp sync 7号端口,并不是真正的ping包
     同时,nbtscan这个工具,其实和网上邻居的原理一样地原理就是:利用137端口主要用于“NetBIOS NameService”(NetBIOS名称服务),属于UDP端口,使用者只需要向局域网或互联网上的某台计算机的137端口发送一个请求NBNS包,就可以获取该计算机的名称、注册用户名,以及是否安装主域控制器、IIS是否正在运行等信息。
     总结
      一:如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。
      二:如果需要快递扫描局域网的所有主机,用nbtscan,原因就是它采用udp,基本测试1S可以扫描255个局域网主机,比ping和arp都快。
      
    
    

    

你可能感兴趣的:(Tcp基础与实践)