Golang UDP 抓包程序:监听端口 67 和 68
以下是一个简单的 Golang 程序,用于抓取 UDP 数据包,监听端口 67 和 68,并输出收到的数据包信息:
package main
import (
"fmt"
"net"
)
func main() {
// 监听 UDP 端口 67 和 68
conn67, err := net.ListenPacket('udp', ':67')
if err != nil {
fmt.Println('Error listening on port 67:', err)
return
}
defer conn67.Close()
conn68, err := net.ListenPacket('udp', ':68')
if err != nil {
fmt.Println('Error listening on port 68:', err)
return
}
defer conn68.Close()
// 开始循环读取数据包
for {
buf := make([]byte, 1024)
n, addr, err := conn67.ReadFrom(buf)
if err != nil {
fmt.Println('Error reading from port 67:', err)
continue
}
fmt.Printf('Received packet from %v: %s
', addr, string(buf[:n]))
n, addr, err = conn68.ReadFrom(buf)
if err != nil {
fmt.Println('Error reading from port 68:', err)
continue
}
fmt.Printf('Received packet from %v: %s
', addr, string(buf[:n]))
}
}
运行以上程序后,它将不断监听 UDP 端口 67 和 68,并打印出收到的数据包信息。
原文地址: https://www.cveoy.top/t/topic/luYK 著作权归作者所有。请勿转载和采集!