本项目由本人独立开发。
在项目中主要实现了以下功能:
1. 单/多 IP 地址单/多 Port 的 TCP 完全扫描。
- 技术点:根据用户输入的信息(IP 地址、端口号、TCP连接超时时间),使用 TcpClient 类与目标主机的目标端口建立 TCP 完全连接,如果完全建立连接就认为该端口开放;反之相反。
- 难点:无。
2. 用户自定义扫描线程数。
- 技术点:要根据待扫描的所有任务进行线程任务分配。
- 难点:如何利用最小的内存消耗实现端口扫描任务的分配,同时尽最大可能利用每一个线程资源;注意线程之间的资源管理。
3. 扫描结果数据实时显示/反馈。
- 技术点:实现数据的过滤显示(保证“只显示开放端口”选项在程序扫描期间也能使用)。
- 难点:如何保证当大量线程并行执行扫描任务时, UI 线程不会因为渲染工作卡死。