首先我不知道准确的漏洞定义是什么.我原来写过一个小程序,对某个IP从0-65535的端口循环访问.能连上的就是开放的,连不上的就是没开放的.

解决方案 »

  1.   

    请问用C#如何扫描端口的漏洞?
    首先就是对目标主机进行端口扫描, 得到主机开放的端口,然后确定端口的服务类型.如21端口是FTP,80是WEB,3389是Remote Desktop等。
    确定后就可以根据已知网络服务的漏洞进行检测,如对于Web服务,就可以向其发送一个Get/Post请求,然后根据返回的数据来确定目标主机是否和预料返回一致,如一致则认为该主机存在漏洞。就拿我们最常见的SQL注入漏洞来说吧,一般我们正常操作的情况下,服务器是会返回我们想要的结果的,但如果扫描器将自己存有的SQL恶意注入代码拼接到相关的Request参数后面,然后发送到Web服务器进行测试,当出现不正常的的应答后,就可以确认那个页面,那个参数存在注入漏洞了。
    总之发现漏洞的过程就是不断地发送请求,然后不断的比对,当发现异常后, 这就是我们所说的漏洞。