/PortScanner

多线程端口扫描器

Primary LanguageGo

Introduction

学校的一个课程设计作业。

端口扫描器,支持TCP、UDP、ICMP协议的多线程扫描

架构

  • Vue
  • Golang/gin

architecture

demo

demo

Scan

UDP Scan

  • 发送UDP数据包
  • CLOSE:回icmp unreachable
  • OPEN:

ICMP Scan

  • 发送Echo包
  • 有Echo回包则OPEN
  • 否则CLOSE

Issues

issue1

for () { go func() } 还没跑完程序就结束了

solution: 加sync.WaitGroup

issue2

SetOpen始终无法修改open这个状态

solution:方法要传入指针,才能对原始的结构体成员进行修改

TODO

  • parser解析IP段+端口段

  • 前端

  • 衔接组合 ok

进阶:

  • TCP-SYN半连接扫描

  • UDP协议

  • ICMP协议

  • 前端 错误细化

  • 前端进度条