• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Python 监听系统所有端口,获取指定组播信息

武飞扬头像
贰半
帮助3

接收端

import msgpack
from scapy.all import *
from multiprocessing import Process

Multicast_IP = '239.255.255.252'
Multicast_Port = '9999'

def Callback(packet):
    load = packet['Raw'].load
    # 内置的show()函数打印数据包内容
    value = msgpack.loads(load)
    # print(value)


# 子进程执行的函数
def func(name):
    sniff(filter=f"udp and host {Multicast_IP} and port  {Multicast_Port}", iface=name, count=-1, prn=Callback)


if __name__ == '__main__':
    # 网卡列表
    port_list = ["WLAN", '以太网']
    pool = ThreadPoolExecutor(max_workers=len(port_list))
    for item in port_list:
        print(f"---------开始{item}网口------------")
        pool.submit(func, item)

学新通

发送端

import socket
import time

import msgpack

Multicast_IP = "239.255.255.252"
Multicast_Port = 9999


# 发送组播数据
def sendTo(message):
    # 创建UDP socket
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
    message = msgpack.dumps(message)
    sock.sendto(message, (Multicast_IP , Multicast_Port))

sendTo({"value":"测试数据!"})
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhffkhfi
系列文章
更多 icon
同类精品
更多 icon
继续加载