【发布时间】:2016-12-27 07:26:19
【问题描述】:
这是我的代码:
ins = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, 3)
ins.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 2**30)
ins.bind((interface_name, 3))
while True:
fmt = "B"*7+"I"*21
pkt, sa_ll = self.ins.recvfrom(65535)
x = struct.unpack(fmt, ins.getsockopt(socket.IPPROTO_TCP, socket.TCP_INFO, 92))
print "===>",x
print "HEX Packet",hexlify(pkt)
process_ipframe(sa_ll[2],hexlify(pkt))
得到socket.error: [Errno 92] Protocol not available 错误。 或者有没有更好的方法来获取连接的 TCP(仅需要 ESTAB 连接)状态。
【问题讨论】:
-
不,还是不行