Мелкими шагами изучаю GO, буду делиться написанным софтом по мере изучения.
1) Задаем адрес для сканирования - Пример: - Enter the address: site.com and 127.0.0.1.
2) Указываем диапазон портов какой вам нужен - Пример: Start port: 1, Last port: 50000.
Скачать
VirusTotal
1) Задаем адрес для сканирования - Пример: - Enter the address: site.com and 127.0.0.1.
2) Указываем диапазон портов какой вам нужен - Пример: Start port: 1, Last port: 50000.
Если не хватает прав - chmod +x ./port
Для старта программы - ./port
Для старта программы - ./port
Скачать
VirusTotal
Код:
package main
import (
"fmt"
"net"
"time"
)
func scanPort() {
var ip string
fmt.Print("Enter the address: ")
fmt.Scanf("%s\n", &ip)
var first int
fmt.Print("Start port: ")
fmt.Scanf("%d", &first)
var last int
fmt.Print("Last port: ")
fmt.Scanf("%d", &last)
for i := first; i <= last; i++ {
time.Sleep(5 * time.Millisecond)
go func(j int) {
address := fmt.Sprintf("%s:%d", ip, j)
timeout := net.Dialer{Timeout: 3*time.Second}
conn, err := timeout.Dial("tcp", address)
if err != nil {
return
}
conn.Close()
text := fmt.Sprintf("%s:%d -> open", ip, j)
fmt.Println(text)
}(i)
}
func main() {
scanPort()
}
Последнее редактирование: