在Go中使用原始套接字实现TCP数据包嗅探器

I am looking for a way to listen on an interface for all incoming traffic using the Go programming language.

I would want it to be something similar to this python:

import socket, sys
from struct import *
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)

while True:
    packet = s.recvfrom(65565)

Any suggestions would be great. Thanks.