网络端口扫描的软件实现!
各位懂行的XDJM,我请教一下如何用VC++6.0实现端口扫描的以下功能:用Socket、VC++程序制作一个扫描器:
扫描器工作原理:通过连接远程TCP/IP不同端口,并记录目标给予的应答。通过这种方法,可以搜集到很多有关主机的各种信息(是否能够匿名登录;是否有可写的FTP目录;是否能用TELNET;HTTPD是用ROOT还是nobady在运行……)。
扫描器的一个主要功能就是发现一个主机或网络并检查有什么服务正运行在这台主机上,更进一步还能测试这些服务,发现系统漏洞。要实现这些功能,只需要采用罪简单的TCP connect()扫描。操作系统提供的connect()系统调用,用来与每一个目标计算机端口进行连接。如果端口处于侦听状态,那么connect()就能够成功;否则这个端口不能使用,即没有提供服务。
通过使用扫描器可不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本,这就能让我们间接的或直观的了解到远程主机所存在的安全问题,及时消除安全隐患。
当然了,哪位行家能恩赐小弟一个完整的程序外加简要的文字说明肯定是感之不尽(QQ:61416253)!