端口扫描器原理相对简单,采用的是TCP connect状态判断.具体来说:TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭.该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽.所以,TCP connect是TCP SYN无法使用才考虑选择的方式. 在编写过程中,采用多线程时遇到共享变量访问的同步问题,经过试验,这里仅仅简单采用Sleep()函数进行等待就能拥有不错的效果. 代码及部分说明如下: #