
ARP 발견 및 자체 파서를 갖춘 Golang 네트워크 스캐너
chmod +x install.sh
./install.sh [as root]
[인수]
-ar CIDR: ARP 검색
-ar CIDR -s: 발견된 모든 호스트의 포트 스캔
-ap: 65535개 포트 스캔
-pr MINPORT MAXPORT: 스캔할 포트 범위 지정
-1000: 상위 1000개 포트 스캔 (nmap과 유사)
-t: 타임아웃 설정 (밀리초 단위)
[예시]
go run scannerport.go -ap <IP>: 모든 포트 TCP 스캔
go run scannerport.go <IP> 기본 스캔 0-1024 포트
go run scannerport.go -ar 192.168.0.1/24 <IP>: 로컬 서브넷 전체 ARP 핑 스캔
go run scannerport.go <IP> -pr <MINPORT> <MAXPORT>
go run scannerport.go -ar 192.168.1.1/24 -s
go run scannerport.go -1000 192.168.1.1
go run scannerport.go -t 100 192.168.1.1
예: go run scannerport.go -ar 192.168.1.1/24 (네트워크의 모든 호스트에 ARP 핑을 보내 상태 확인)
예: go run scannerport.go google.com -1000 (google.com을 해석하고 상위 1000개 포트 스캔)
예: go run scannerport.go 192.168.0.1 -pr 100 3000 (지정된 범위의 모든 포트 스캔, 작은 포트를 먼저 입력해야 함)
ports.go 파일로 이동
func Ports() map[int]string {
//Based in well known ports
ports := map[int]string{
1: "echo",
9: "WOL",
20: "ftp data",
21: "ftp control",
22: "ssh",
23: "telnet",
25: "smtp",
43: "whois",
49: "TACACS",
53: "DNS",
67: "BOOTP",
69: "TFTP",
70: "Gopher",
71: "NETRJS",
80: "http",
81: "TorPark",
82: "TorPark",
88: "Kerberos",
110: "POP3",
115: "sFTP",
143: "imap",
220: "imap3",
123: "NTP",
135: "RPC",
443: "https",
445: "Microsoft-ds, Samba",
465: "SMTP over TLS",
514: "Syslog",
520: "RIP",
521: "RIPng",
540: "UUCP",
543: "klogin",
544: "kshell",
587: "submission",
993: "IMAP over TLS",
995: "POP3 over TLS",
1433: "Microsoft SQL Server",
3306: "MySQL",
3389: "rdp",
5432: "postgres",
6667: "irc",
25565: "minecraft server",
}
return ports
포트 번호와 서비스 이름만 추가하세요. 예: git 추가
9418: "git",
@luijait 제작 이 프로젝트에 도움을 준 @ajaniramon에게 감사합니다!