如何使用Python将套接字绑定到特定的Windows网络接口

时间:2019-03-19 18:48:56

标签: python-3.x sockets

Python documentation page上有一个非常简单的网络嗅探器示例。

import socket

# the public network interface
HOST = socket.gethostbyname(socket.gethostname())

# create a raw socket and bind it to the public interface
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))

# Include IP headers
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)

# receive all packages
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)

# receive a package
print(s.recvfrom(65565))

# disabled promiscuous mode
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)

我的问题是如何连接到Windows中的特定接口?

如果我可以检索所有接口的列表,然后选择一个要嗅探的接口,那就太好了。

0 个答案:

没有答案