scapy构造打印ARP数据包

ARP格式:

用于以太网的ARP请求/应答分组格式

各字段含义:

  帧类型:表示数据部分用什么协议封装(0800表示IP,0806表示ARP,8035表示RARP)。

  硬件类型:表示硬件地址的类型(其中,值为1表示以太网地址,其他还可能表示令牌环地址)。

  硬件地址长度:指出该报文中硬件地址的长度(ARP报文中,它的值为6)。

  协议地址长度:指出该报文中协议地址的长度(ARP报文中,它的值为4)。

  op:操作字段,共有4种类型(1:ARP请求,2:ARP应答,3:RARP请求,4:RARP应答)。

利用scay发送接受ARP包:

  代码:

#coding:utf-8
from scapy.all import Ether
from scapy.all import ARP
from scapy.all import srp
arp = Ether(#构造以太网头
    src=‘64:6E:69:03:63:32‘,#本机MAC
    dst=‘FF:FF:FF:FF:FF:FF‘#广播发送
)/ARP(
    op=1,#发送arp请求
    hwsrc=‘64:6E:69:03:63:32‘,#发送端以太网地址
    psrc=‘10.50.253.232‘,#发送端ip
    hwdst=‘00:00:00:00:00:00‘,#目的以太网地址
    pdst=‘10.50.0.1‘#目的ip地址
)

res = srp(arp,timeout=5)

string = """
--------result--------
hwtype :%s
ptype  :%s
hwlen  :%s
plen   :%s
op     :%s
hwsrc  :%s
psrc   :%s
hwdst  :%s
pdst   :%s
""" %(res[0].res[0][1].hwtype,res[0].res[0][1].ptype,res[0].res[0][1].hwlen,
    res[0].res[0][1].plen,res[0].res[0][1].op,res[0].res[0][1].hwsrc,
    res[0].res[0][1].psrc,res[0].res[0][1].hwdst,res[0].res[0][1].pdst)

print string

  返回的结果是元组(代码中的res),res[0]表示收到的数据包,res[1]表示没有收到应答的数据包

  结果截图:

  

原文地址:https://www.cnblogs.com/D0y-xia/p/11048669.html

时间: 2024-10-18 03:13:32

scapy构造打印ARP数据包的相关文章

linux Scapy 进行arp数据包详细过程

[email protected]:~# scapyWARNING: No route found for IPv6 destination :: (no default route?)INFO: Can't import python ecdsa lib. Disabled certificate manipulation toolsWelcome to Scapy (unknown.version) >> a=Ether()/ARP()>> a.show()###[ Ether

ARP数据包

结构ether_header定义了以太网帧首部:结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答:ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址. 定义常量 #define EPT_IP   0x0800    /* type: IP */#define EPT_ARP   0x0806    /* type: ARP */#define EPT_RARP 0x8035    /* type: RARP */#define A

scapy - 基于python的数据包操作库

简介 地址:https://github.com/secdev/scapy scapy是一个基于python的交互式数据包操作程序和库. 它能够伪造或者解码多种协议的数据包,通过使用pcap文件对他们进行发送.收集.存储和读取,匹配请求和响应等等. 相关的应用 https://www.cnblogs.com/wpqwpq/p/9019516.html 原文地址:https://www.cnblogs.com/Antiver/p/10190516.html

010 使用netmap函数接管网卡,接收数据包,回应ARP请求

一.本文目的: 上一节中,我们已经在CentOS 6.7 上安装好了netmap,也能接收和发送包了,这节我们来调用netmap中的API,接管网卡,对网卡上收到的数据包做分析,并回应ARP请求. 二.netmap API简要介绍: 1.netmap API 主要包含在两个头文件中:netmap.h和netmap_user.h.在netmap/sys/net/目录下,其中netmap_user.h调用netmap.h. 2.netmap API一共七八个函数调用:nm_open()生成文件描述符

交互式数据包处理程序 Scapy 入门指南

概述 Scapy 是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等等.它可以很容易地处理一些典型操作,比如端口扫描,tracerouting,探测,单元测试,攻击或网络发现(可替代hping,NMAP,arpspoof,ARP-SK,arping,tcpdump,tethereal,P0F等).最重要的他还有很多更优秀的特性--发送无效数据帧.注入修改的802.11数据帧.在WEP上解码加密通道(VOIP).AR

发送自修改数据包进行arp欺骗

一丶使用平台 对Microsoft Visual Studio 2010编译平台进行前期操作 项目-->**属性(alt+F7)     配置属性-->清单工具-->输入和输出-->嵌入清单-->否     配置属性-->C/C++-->常规-->附加包含目录-->     配置属性-->链接器-->常规-->附加库目录-->     配置属性-->链接器-->输入-->附加依赖项-->补       充

Wireshark数据包分析之ARP协议包解读

*此篇博客仅作为个人笔记和学习参考 ARP请求报文格式 ARP回应报文格式 ARP数据包 ARP请求包 ARP回应包 原文地址:http://blog.51cto.com/13444271/2125341

从零开始学安全(四十二)●利用Wireshark分析ARP协议数据包

wireshark:是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,是目前全世界最广泛的网络封包分析软件 什么是ARP协议    协议分析篇第一个要研究的就是ARP协议.ARP(Address Resolution Protocol,地址解析协议)用于将IP地址解析为物理地址(MAC地址).这里之所以需要使用MAC地址,是因为网络中用于连接各个设备的交换机使用了内容可寻址

学习:ARP协议/数据包分析

ARP(Address Resolution Protocol)即地址解析协议, 用于实现从IP地址到MAC地址的映射,即实现通过目标IP找到对应的MAC地址. 在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,当数据封装完整后,再向外发出.所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源/目MAC的封装. 上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装. 问题:内网中当 主机A 发送消息给 主机