出走的蚂蚁 2023-05-25 11:53 采纳率: 69.2%
浏览 21

python怎么读取网卡的数据并处理

目前就是想从电脑网卡读取单片机发送过来的数据,并且进行处理,再通过局域网转发给另外的电脑。请问要用什么模块什么方式来实现

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2023-05-25 12:35
    关注
    1. 创建一个socket对象,指定socket类型为AF_PACKET,协议类型为ETH_P_ALL,这样可以捕获所有的数据包。
      import socket
      s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(0x0003))
      
    2. 使用recvfrom()方法从网卡中读取数据包,该方法返回一个元组,包含数据包的内容和源地址信息。
      packet, addr = s.recvfrom(65535)
      
    3. 对数据包进行处理,例如解析数据包的协议头、提取数据等。
    4. 使用sendto()方法将处理后的数据包发送给目标电脑。
      s.sendto(data, (dest_ip, dest_port))
      
      使用socket模块需要管理员权限,否则无法读取网卡数据。
    评论

报告相同问题?

问题事件

  • 创建了问题 5月25日

悬赏问题

  • ¥15 郑州牧原测试岗值得去吗
  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢