为了账号安全,请及时绑定邮箱和手机立即绑定

在 GO 中通过原始套接字读取 TCP 数据包

在 GO 中通过原始套接字读取 TCP 数据包

Go
茅侃侃 2021-09-20 11:02:13
我正在研究 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信