发布时间:2024-11-21 21:17:14
``` package main import ( "fmt" "github.com/Ullaakut/nmap" ) func main() { target := "127.0.0.1" // 创建一个新的nmap实例 scanner, err := nmap.NewScanner( nmap.WithTargets(target), nmap.WithPorts("1-100"), ) if err != nil { fmt.Printf("无法创建nmap扫描器:%v", err) return } // 运行端口扫描 result, err := scanner.Run() if err != nil { fmt.Printf("无法运行端口扫描:%v", err) return } // 打印扫描结果 for _, host := range result.Hosts { for _, port := range host.Ports { fmt.Printf("发现开放端口:%d\n", port.ID) } } } ```
这段代码使用nmap库创建了一个新的扫描器实例,并指定目标主机和要扫描的端口范围。然后,运行端口扫描并输出结果。``` package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://www.example.com" // 发送GET请求 resp, err := http.Get(url) if err != nil { fmt.Printf("无法发送GET请求:%v", err) return } // 读取响应 body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Printf("无法读取响应:%v", err) return } // 打印响应内容 fmt.Println(string(body)) } ```
这段代码使用net/http包发送了一个GET请求,并读取并打印了响应的内容。``` package main import ( "fmt" "github.com/sparrc/go-ping" ) func main() { target := "127.0.0.1" // 创建一个新的Ping实例 pinger, err := ping.NewPinger(target) if err != nil { fmt.Printf("无法创建Ping实例:%v", err) return } // 设置参数 pinger.Count = 4 pinger.Timeout = ping.DefaultTimeout // 运行Ping探测 err = pinger.Run() if err != nil { fmt.Printf("无法运行Ping探测:%v", err) return } // 打印探测结果 stats := pinger.Statistics() if stats.PacketsSent != stats.PacketsRecv { fmt.Println("目标主机不可达") } else { fmt.Printf("目标主机可达,延迟:%v\n", stats.AvgRtt) } } ```
这段代码使用go-ping库创建了一个新的Ping实例,并设置了一些参数。然后,运行Ping探测并输出结果。