33 lines
728 B
Python
33 lines
728 B
Python
import socket
|
|
import os
|
|
|
|
HOST = '192.168.50.100'
|
|
|
|
def udp_single_packet_sniff():
|
|
if os.name == 'nt':
|
|
socket_protocol = socket.IPPROTO_IP
|
|
else:
|
|
socket_protocol = socket.IPPROTO_ICMP
|
|
|
|
sniffer = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket_protocol)
|
|
sniffer.bind((HOST,0))
|
|
sniffer.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
|
|
|
|
# turn on promiscuous mode
|
|
if os.name == 'nt':
|
|
sniffer.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
|
|
|
|
print(sniffer.recvfrom(65565))
|
|
|
|
if os.name == 'nt':
|
|
sniffer.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)
|
|
|
|
|
|
|
|
|
|
def main():
|
|
udp_single_packet_sniff()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main() |