Python选择网卡发包及接收数据包

2023-05-16


    当一台计算机上有多个网卡时,需要选择对应IP地址的网卡进行发送数据包或者接受数据包。

    

    1、选择网卡发包(应用scapy):


    plface=conf.route.route("××.××.××.××")[0]

    #××.××.××.××为对应网卡网络中存在设备的IP地址。不能是需要发送数据包的网卡的IP地址(会报“result too large”)

    pkt=conf.L2socket(plface)

    pack_ip,pack_udp,pack_ether=self.udp_pack()

    t= str(pack_ether/pack_ip/pack_udp/udp_packdata)

    udp_pack = Ether(t)

    pkt.send(udp_pack)

    

    2、选择网卡进行包的接收


    1)如下方法,只能获得一个网卡的ip地址(选择哪个网卡,优先级未知)

    socket.getaddrinfo(socket.gethostname(),None)[-1][4][0]


    2)如下方法,可根据ip地址确定网卡:

    HOST = socket.gethostbyname(socket.gethostname())
    s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP)
    s.bind((HOST,0))
    host可以直接用网卡ip地址代替,这样就可以选择网卡进行包的接受了


    

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python选择网卡发包及接收数据包 的相关文章

随机推荐

  • opencv的ORB特征(slambook2 orb_cv.cpp代码详解)

    ORB特征提取与匹配 slambook2 ch7 orb cv cpp 1 头文件 span class token macro property span class token directive hash span span clas
  • Debian安装nodejs

    安装指定版本nodejs xff0c 以18 X版本为例 1 通过curl命令向系统中添加NodeSource存储库 curl sL https deb nodesource com setup 18 x bash xff08 如果提示 c
  • pip安装第三方库全攻略:普通安装、安装whl后缀文件、使用国内镜像安装

    简介 xff1a pip 是 Python 的包安装程序 其实 xff0c pip 就是 Python 标准库 xff08 The Python Standard Library xff09 中的一个包 xff0c 只是这个包比较特殊 xf
  • Python:处理cv2模块putText中文无法识别问题

    简介 xff1a 在cv2中 xff0c 目前putText函数中文是无法直接使用的 xff0c 需要进行一点的转换 解决办法为通过PIL模块重新封装一个函数 xff0c 直接调用 如图 xff1a 通过PIL模块改造 xff1a new
  • VLC播放电视直播rtmp流地址

    简介 xff1a RTMP是Real Time Messaging Protocol xff08 实时消息传输协议 xff09 的首字母缩写 该协议基于TCP xff0c 是一个协议族 xff0c 包括RTMP基本协议及RTMPT RTMP
  • Python:global的使用

    简介 xff1a 1 global是Python中的全局变量关键字 2 全局变量是编程术语中的一种 xff0c 源自于变量之分 3 变量分为局部与全局 xff0c 局部变量又可称之为内部变量 4 由某对象或某个函数所创建的变量通常都是局部变
  • Python:opencv画点、圆、线、多边形、矩形

    简介 xff1a 机器学习视觉方向一般都需要在图像中添加标注框 xff0c 标注框有着很大的用处 xff0c 特别是对图像中某些需要关注的特征起到圈定的效果 xff0c 方便对特征选择进行处理 相关攻略 xff1a 机器学习 xff1a 基
  • adb重启或关机手机命令

    简介 xff1a 在某些特殊场景中 xff0c 例如手机真机不在身边 xff0c 但已通过adb进行连接 xff0c 可以使用命令进行远程关机或者重启 相关攻略 xff1a adb xff1a 常用命令 adb xff1a win10系统下
  • docker:更换镜像源

    简介 xff1a 因为国内的网络访问问题 xff0c 为加快拉取镜像速度 xff0c 建议设置docker国内镜像源 相关攻略 xff1a win10 xff1a 安装docker和测试安装redis centos7 6 xff1a 安装d
  • 七大顶级Linux桌面比较

    1七大顶级Linux桌面 xff1a Unity 对于开源Linux平台来说 xff0c 如何选择就是首要解决的问题 通常Linux发行版都有默认的桌面成为你的首选 xff0c 但目前可供选择的桌面环境种类繁多 特别是Ubuntu系统一个平
  • Linux:安装go环境

    简介 xff1a Go xff08 又称 Golang xff09 是 Google 的 Robert Griesemer xff0c Rob Pike 及 Ken Thompson 开发的一种静态强类型 编译型语言 Go 语言语法与 C
  • docker应用:搭建私有云盘

    简介 xff1a NextCloud是一个开源的云存储解决方案 xff0c 可以在自己的服务器上搭建个人云存储系统 它提供了与市面上主流云存储服务 xff08 如Dropbox Google Drive xff09 相似的功能 xff0c
  • Flask+A-Frame:交互式全景图展示网站

    简介 xff1a 通过结合 Flask 轻量级 Web 框架与 A Frame 3D 和 VR 技术 xff0c 实现了一个可交互的全景图展示功能 xff0c 用户可以在浏览器中自由观看 旋转和缩放全景图片 项目的核心是使用 Flask 搭
  • OpenCV合成全景图

    简介 xff1a OpenCV 利用特征提取 特征匹配 齐次估计 图像配准和图像融合等技术 xff0c 将一系列图像合成为全景图 OpenCV 和 Pillow 是两个功能强大的 Python 图像处理库 xff0c 但它们在处理全景图拼接
  • BDD行为驱动开发+Python案例解析

    简介 xff1a BDD xff08 Behavior Driven Development xff0c 行为驱动开发 xff09 是一种敏捷软件开发方法 xff0c 它强调软件应该按照预期的行为来开发 BDD的核心理念是使用自然语言编写的
  • 操作系统迭代、Debian安装教程

    前言 最近在考虑公司生产环境操作系统的迭代问题 目前 xff0c 公司业务主要跑在CentOS7和8上面 xff0c 由于CentOS早已停止了7和8的支持 xff0c 新版的CentOS Stream也从RHEL的下游变成了上游 xff0
  • Debian修改DNS

    原文链接 Debian的DNS文件默认为 etc resolv conf 查看当前的DNS cat etc resolv conf 下图中画出的就是当前系统的DNS 如果想修改DNS的话 xff0c 可以直接vim 来修改文件 xff0c
  • 配置JupyterLab远程密码访问

    文章目录 部署环境配置步骤启动和连接访问启动连接访问 有些时候因为某些原因 xff08 如本地机器资源不足 数据不能离网等 xff09 xff0c 需要使用本地电脑连接远程服务器进行开发工作 xff0c 在这里记录下如何在远程Linux上配
  • linux查看 jre 安装目录

    近期对接平安银行项目 xff0c 要求放国密 jar包到jre目录 xff0c 网上也找了一些命令 xff0c 下面这个亲测有用 xff0c 特此记录一下 xff0c 我的系统版本是3 10 0 693 el7 x86 64 步骤 1 使用
  • Python选择网卡发包及接收数据包

    当一台计算机上有多个网卡时 xff0c 需要选择对应IP地址的网卡进行发送数据包或者接受数据包 1 选择网卡发包 xff08 应用scapy xff09 xff1a plface 61 conf route route 34 34 0 为对