
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 Pingスキャン(ローカルサブネット全体)
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 Pingを送信し、稼働状態を検出します)
例: 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",
Made by @luijait このプロジェクトへの協力に感謝します @ajaniramon!