您当前的位置:首页 > 新闻中心 > 生活百科

python使用原始套接字发送二层包(链路层帧)的方法

时间:2024-09-05 19:08:56  
python使用原始套接字发送二层包(链路层帧)的方法

发送端代码:

1.创建套接字使用地址家族PF_PACKET,类型为SOCK_RAW,自定义类型为0x1234,这个和C语言一模一样。自定义类型我们也可以使用0X0800,这个是ETH_P_IP,相当于我们模拟ip包来发送,那么ip包头和mac包头都需要我们自己填写。现在我们使用0x1234,系统定义之外的协议类型。

2.由于是发送二层包,我们默认网卡没有配置网络,也就是ping不通的情况下,直接绑定网卡上。

3.linux内核中定义的mac包头结构

第一个是目的mac地址,第二个是本机mac地址,第三个是自定义类型必须填写,这样对方也关心这个自定义类型时,协议栈收到二层包才能正确给到对方的套接字。通过这个结构体,所以使用了pack,”!6s6sH”。我这里使用的广播地址发送。

接收端代码:

以上这篇python使用原始套接字发送二层包(链路层帧)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
金寨电信公司扶贫日慰问活动
金寨电信公司扶贫日慰
姚李镇开展关爱环卫工人活动
姚李镇开展关爱环卫工
王万喜到城关镇调研工作
王万喜到城关镇调研工
油坊店乡:召开2016年组织工作半年培训会
油坊店乡:召开2016年
相关文章
    无相关信息
栏目更新
栏目热门