0

GPS ユニットからの投稿を聞いています。Wireshark では、デバイスからの投稿が表示されます。ただし、私のpythonコードでは、それらをキャッチしていません。これが私が使用したコードです。pydocs/socketsからほぼそのままです。ネットワーク上の他のものから多くの応答を受け取りますが、デバイスの IP が表示されません。

#HOST = socket.gethostbyname(socket.gethostname())
HOST = ''
SENDER = '166.161.24.104'
PORT = 22335
BUFFSIZE = 1024
TIMEOUT = 60 # seconds

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, 22335))

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

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

while True:
    # receive a package
    ans, addr = s.recvfrom(BUFFSIZE)
    print(addr[0])

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

これは、私のネットワークで話しているすべての IP アドレスのリストを投稿します。

4

0 に答える 0