nmap written in Go
This is a submission of Team KnoxNaman for Machine Problem 2 of EE 298-K Information Security class
- Romelio Tavas Jr. @bongtavas
- Rene Josiah Quinto @rjmquinto
- Josen Daniel De Leon @jddl68
- TCP SYN Scan
- UDP Scan - Port 53 DNS, Port 161 SNMP (Enable through 'udp' flag)
- Service/Banner Grabbing
- OS Detection
go build -o gonmap main.go
Note: sudo
is needed to be able to write directly to the wire
sudo ./gonmap -sS -sU -p <comma-separted-ports> <hostname>
can be the following forms:
- Hostname e.g. pleni.upd.edu.ph
- IP Address e.g. 202.92.128.181
- IP range e.g. 202.92.128.1-254
- IP CIDR block e.g. 202.92.128.0/24
Use flag -sS
to use TCP SYN scanning
Ex:
sudo ./gonmap -sS -p 80,443,22 google.com
You can also specify port range using the '-' delimiter
sudo ./gonmap -sS -p 1-22,443-600,5443 google.com
If you don't specify a port argument, the default 1000 ports of nmap will be used.
Use flag -sU
to use UDP scanning
sudo ./gonmap -sU 8.8.8.8
sudo ./gonmap -sU demo.snmplabs.com