ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-向scapy添加新协议(类似于ARP)

2019-11-19 02:58:39  阅读:710  来源: 互联网

标签:scapy networking arp python


我想实现一种新的安全ARP协议,该协议可以防止ARP中毒.新的“ SecureArp”将包含一个签名字段,可以根据商定的hmac函数对其进行检查.
scapy定义如下:

  class SecureArp(Packet):
  name = "SecureARP"
  fields_desc = [IPField("srcip", None),
               MACField("srcmac", None),
               IPField("dstip", None),
               MACField("dstmac", "00:00:00:00:00:00"),
               IntEnumField("opcode", 1, { 1: "request", 2: "response" }),
               StrFixedLenField("challenge", "", length=24),
               StrFixedLenField("signature", "", length=20)]

我遇到的问题是,当接收到此类SecureArp消息时,scapy根本不会对其进行解析,而将数据保留为“原始”.
我阅读了有关扩展到新协议的SecDev文档,但尚不清楚.
我应该采取什么步骤,以便接收到的SecureArp数据包被自动解析?
谢谢

解决方法:

您必须将bind your layer设置为另一个,以便Scapy自动解剖它.

另请参见Scapys ARP的实现.

bind_layers( Ether,         ARP,           type=2054)

标签:scapy,networking,arp,python
来源: https://codeday.me/bug/20191119/2032893.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有