我正在研究 GO 中的原始套接字。我希望能够读取到我的计算机的所有 TCP 数据包(OSX,en0:192.168.1.65)如果我将协议从 tcp 切换到 icmp,我会得到数据包。为什么我的代码没有读取数据包?package mainimport ("fmt""net")func main() { netaddr, err := net.ResolveIPAddr("ip4", "192.168.1.65") if err != nil { fmt.Println(err) } conn, err := net.ListenIP("ip4:tcp", netaddr) if err != nil { fmt.Println(err) } buf := make([]byte, 2048) for { numRead, recvAddr, err := conn.ReadFrom(buf) if err != nil { fmt.Println(err) } if recvAddr != nil { fmt.Println(recvAddr) } s := string(buf[:numRead]) fmt.Println(s) }}
1 回答
- 1 回答
- 0 关注
- 355 浏览
添加回答
举报
0/150
提交
取消