首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

scapy - srp不会将我的数据包发送到正确的网络接口

scapy是一个强大的Python库,用于网络数据包的创建、发送、捕获和分析。它提供了丰富的功能,可以用于网络安全、网络调试、网络研究等领域。

在scapy中,srp()函数用于发送数据包并接收响应。它是sendrecv()函数的一个变体,用于发送以太网数据包,并等待响应。然而,有时候我们可能会遇到一个问题,即srp()函数没有将数据包发送到正确的网络接口。

造成这个问题的原因可能是网络接口的配置不正确,或者数据包的目的地址不正确。下面是一些可能导致这个问题的原因和解决方法:

  1. 网络接口配置不正确:首先,确保你的网络接口已正确配置,并且与你要发送数据包的网络相连。你可以使用ifconfig命令(Linux/Unix)或ipconfig命令(Windows)来检查和配置网络接口。
  2. 数据包目的地址不正确:确保你的数据包的目的地址是正确的。你可以使用Wireshark等网络抓包工具来捕获发送的数据包,并检查目的地址是否正确。
  3. 确保使用正确的网络接口:在使用srp()函数发送数据包之前,你可以使用ls()函数查看可用的网络接口,并选择正确的接口。例如,使用ls()函数可以列出所有的网络接口:
代码语言:txt
复制
>>> ls()

然后,你可以选择正确的网络接口,并在srp()函数中指定它。例如,如果你要使用eth0接口发送数据包,可以这样做:

代码语言:txt
复制
>>> srp(pkt, iface="eth0")

在这个例子中,pkt是你要发送的数据包。

总结起来,当scapy的srp()函数没有将数据包发送到正确的网络接口时,你可以检查网络接口的配置、数据包的目的地址以及使用正确的网络接口来解决这个问题。

关于scapy的更多信息和使用方法,你可以参考腾讯云的产品介绍页面:腾讯云scapy产品介绍

相关搜索:python scapy“未知的pypcap网络接口'\\Device\\NPF_Loopback'”Scapy运行时错误,ValueError:未知的pypcap网络接口Ajax代码不会将我带到正确的页面react-router没有将我发送到正确的组件登录时,它不会将我带到正确的位置永远不会收到发送到localhost上的端口的数据包将我的网络摄像头的Blob原始数据从Vue-axios发送到Laravel后端Express res.download()不会将正确的url发送到客户端人工智能(神经网络)-实际输出永远不会接近正确的输出Discord机器人不会将我的消息发送到服务器,而是在终端中打印它重新启动工作节点上的网络接口后,无法正确路由流量当你连接到两个网络时,如何通过一个特定的接口发送数据包?在嗅探接口上的流量时,主机的Python socket.bind()不会显示带有SIO_RCVALL的传入数据包计算当网络中的所有节点都在移动时,将数据包从源发送到目的地所花费的总平均时间网关路由器如何将数据包发送到其本地网络中的主机(仅具有私有IP地址,如192.168.2.101)?当网络上的所有计算机具有相同的公共IP地址时,如何将UDP数据包发送到特定计算机?创建带有数据的重置密码链接并发送到电子邮件ASP.NET核心网络应用编程接口在d3强制有向网络图中更新带有标签的节点和链接不会正确移除节点如何正确实现onBlur来调度接口和更新组件中的道具,而不会在render方法上创建循环?当我使用v2时,为何发送到我的智能家居网络挂钩的超文本传输协议标头显示应用编程接口版本v1?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ARP-基础-扫描-攻击-防范

IP地址是可以改变,而MAC地址是不会改变。...可以使用srp()代替srp1()进行扫描 srp()和srp1()都是在二层发送和接受数据包,但srp1()只接受第一个回复,srp()可以接受所有回复 ##### Scapy检测网段存活 ####...可以发现ARP主机A后续数据包发送到由ARP获取到MAC地址主机,但是ARP没有做安全处理,如果我们获取到主机AARP请求后,向主机A发送我们MAC地址,那么主机A后续数据包就会发到我们这里...A发送ARP消息包,而且主机A能够在本地ARP缓存表找到主机B信息,所以不会发送ARP请求包,此时主机A向主机B所有数据包都将发送到主机C 也就是说通过ARP能够做攻击有两种: 第一种:ARP断网...对主机A发送网关ARP消息包,将网关IP映射为不存在MAC地址,主机A发送所有数据包不会有响应,达到断网。

2.3K10

Python Scapy ARP

参考手册:https://fossies.org/dox/scapy-2.3.3/ 当一台主机把以太网数据帧发送到位于同一个局域网上另一台主机时,是根据48bit以太网地址来确定目的接口。...设备驱动程序从不检查IP数据包目的IP地址。 地址解析为这两种不同地址形式提供映射:32bitIP地址和数据链路曾使用任何类型地址。...在ARP背后有有一个基本概念,那就是网络接口有一个硬件地址(一个48bit值,标识不同以太网或令牌环网络接口)。在硬件层次上进行数据帧交换必须有正确接口地址。...ARP功能是在32bitIP地址和采用不同网络技术硬件地址之间提供动态映射。 点对点链路不使用ARP。当设置这些链路时(一般在引导过程进行),必须告知内核链路每一端IP地址。...,[1]未收到响应数据包 #print(type(result_raw[0])) # #https://fossies.org/dox/

85720
  • python scapy用法之ARP主

    python scapy用法之ARP主机扫描和ARP欺骗  目录: 1.scapy介绍 2.安装scapy 3.scapy常用 4.ARP主机扫描 5.ARP欺骗 一、scapy介绍 scapy是一个可用于网络嗅探非常强大第三方库...三、scapy常用 1.嗅探流量包 sniff函数进行嗅探流量,iface表示使用网卡接口,filter是过滤条件,count是嗅探包个数。结果显示嗅探到了3个ARP包。...3.3、sr(),在第三层发送数据包,有接收功能 srp同时收到响应数据包和不响应数据包,需要用两个变量来接收。...3.5、srloop(),在第三层连续发送数据包,有接收功能,且连续接收数据包。 3.6、srp()、srp1()、srploop()工作在第二层,具体用法可以查看帮助。  ...,srp同时收到响应数据包和不响应数据包,需要用两个变量来接收。

    3K20

    盘点一款Python发包收包利器——scapy

    包(packet)是网络通信传输中数据单位,一般称之为数据包,其主要由源地址,目标地址,净载数据组成。包括包头和包体,包头是固定长度,包体长度不变。...简单了解下包定义,下面我们来看看发包利器scapy用法吧。(参考资料来源:百度百科-数据包) 一、常用命令 1、ls():显示所有支持数据包对象,可带参数也可不带,参数可以是任意具体包。 ?...在这里要告诉大家是,我们必须要注意大小写,ls(ARP)这样才可以得出正确结果,ls(arp)是错误。 2、lsc():列出所有函数 ?...图表 pkt.pdfdump() 绘制一个解释说明PDF pkt.command() 返回可以生成数据包Scapy命令 nsummary...现在就可以使用我们离线数据包分析数据了: sniff(offline = "hw.pcap")#离线数据包 总结 通过上面的学习,我们对scapy算是有了一个基础性认识了,scapy的确很强大,简单几行命令就能实现发包收包

    2.5K20

    scapy——网络掌控者

    ---- scapy——网络掌控者 前言 《Python黑帽子:黑客与渗透测试编程之道》读书笔记,会包括书中源码,并自己将其中一些改写成Python3版本。...书是比较老了,anyway,还是本很好书 本篇是第4章scapy网络掌控者,包括简单窃取email信息,ARP缓存投毒实现,处理PCAP文件里图像,注意scapy在linux下比较好 1、窃取...# print packet.show() # 开启嗅探器(对常见电子邮件端口进行嗅探110(POP3), 25(SMTP), 143(IMAP), store=0:不保留原始数据包,长时间嗅探的话不会暂用太多内存...函数(发送和接收数据包,发送指定ARP请求到指定IP地址,然后从返回数据中获取目标ipmac) responses,unanswered = srp(Ether(dst="ff:ff:ff:...数据包网络广播地址上 def restore_target(gateway_ip, gateway_mac, target_ip, target_mac): # 以下调用send函数方法略有不同

    57020

    面向监狱编程,就靠它了

    今天给大家介绍一个强大玩意:scapy 这是一个强大数据包构造工具,你可以在Python中使用它,是时候喊一声:Python大法好了!...ARP 我们拿ARP开刀,ARP是地址解析协议,局域网中通信需要使用网卡MAC地址,而网络层通信使用是IP地址,在应用程序数据包被发送出去之前,在IP报文前面添加以太网帧头时,需要填写收件人MAC...from scapy.all import * def arp_scan(ip): answer, uanswer = srp(Ether(dst="ff:ff:ff:ff:ff:ff") /...握手包和服务器返回包都能清楚看到,如果在循环中不断调用该函数,传入不同端口,则可以实现批量端口扫描。 scapy构造数据包能力这只是冰山一角,更多强大功能等着你去研究。...学习计算机网络,不要只停留在看书和看博文基础上,如果能自己编程收发数据包,去实现ARP、ICMP、DHCP、DNS功能,或者开发一些简单网络工具,绝对比别人掌握更加深刻。

    61320

    21.2 Python 使用Scapy实现端口探测

    Scapy 是一款使用纯Python编写跨平台网络数据包操控工具,它能够处理和嗅探各种网络数据包。...能够很容易创建,发送,捕获,分析和操作网络数据包,包括TCP,UDP,ICMP等协议,此外它还提供了许多有用功能,例如嗅探网络流量,创建自定义协议和攻击网络安全测试工具。...读者可自行安装Scapy第三方库,其次该工具依赖于PCAP接口,读者可自行安装npcap驱动工具包,具体安装细节此处就不再赘述。...端口扫描可以帮助安全专业人员识别存在网络漏洞,以及识别网络服务和应用程序。在进行端口扫描时,扫描程序会发送特定网络数据包,尝试与目标主机每个端口进行通信。...sendp(pkt):发送二层数据包 srp(pkt):发送二层数据包,并等待响应 srp1(pkt):发送第二层数据包,并返回响应数据包 此处我们就以sr1()函数作为演示目标,通过构造数据包并调用

    39010

    21.2 Python 使用Scapy实现端口探测

    Scapy 是一款使用纯Python编写跨平台网络数据包操控工具,它能够处理和嗅探各种网络数据包。...能够很容易创建,发送,捕获,分析和操作网络数据包,包括TCP,UDP,ICMP等协议,此外它还提供了许多有用功能,例如嗅探网络流量,创建自定义协议和攻击网络安全测试工具。...读者可自行安装Scapy第三方库,其次该工具依赖于PCAP接口,读者可自行安装npcap驱动工具包,具体安装细节此处就不再赘述。...端口扫描可以帮助安全专业人员识别存在网络漏洞,以及识别网络服务和应用程序。在进行端口扫描时,扫描程序会发送特定网络数据包,尝试与目标主机每个端口进行通信。...sendp(pkt):发送二层数据包srp(pkt):发送二层数据包,并等待响应srp1(pkt):发送第二层数据包,并返回响应数据包此处我们就以sr1()函数作为演示目标,通过构造数据包并调用sr1

    60210

    推荐几个常见网络抓包工具

    分享背景 最近在开发一款小程序,老是有人说有一个小功能数据不正确,但是自己测试几个账号都是正确,无法判断是前端问题还是后端问题,为了像开发web应用一样调试,便找到了这个款抓包神器。...其实还是第一次,感觉是蛮神奇一个东西。 Charles主要功能是什么 说简单通俗一点,就是通过将我调试设备与该软件建立在同一个网络下,该软件能记录下来我们所有的请求和返回信息。如下示例图。...它允许你修改和发送自定义ICMP,UDP,TCP和原始IP数据包。此工具由网络管理员用于防火墙和网络安全审计和测试。...下载Hping: http://www.hping.org Scapy Scapy是另一种不错交互式数据包处理工具。这个工具是用Python编写。它可以解码或伪造大量协议数据包。...Scapy是一个值得尝试工具。您可以执行各种任务,包括扫描,跟踪,探测,单元测试,网络发现。

    10.5K30

    Python Scapy(2.3.1)文

    这些能力能用来构建探测,扫描或者攻击网络工具。 换句话说,Scapy是一个强大交互式数据包处理程序。它能够伪造或者解码大量数据包协议,发送,捕获数据包并匹配请求和回复。...Scapy能允许用户描述数据包或者设置数据包在协议栈层面上。每一个协议字段都有默认值并且能重载。Scapy不会强迫用户使用特定方法或模板。...一次探测,多次解释 网络测试是一个黑盒测试。当探测一个网络时,很多探测数据包被发送,只有一小部分有响应。如果选择了正确探测数据,想要信息就可能通过响应获得或者是响应不足。...报告一些事情像是Received a TCP Reset on port 80是不会解释出错,报告Port 80 is closed是一个解释,可能正确在大多数情况下,但是在作者没想到特殊情况下也可能错误...3.源MAC地址选择是根据输出接口 4.以太网类型和IP协议是根据上层协议确定 ?

    1.1K10

    Scapy介绍(一)「建议收藏」

    大家好,又见面了,我是你们朋友全栈君。 介绍 关于Scapy Scapy是一个Python程序,使用户能够发送,嗅探和剖析并伪造网络数据包。此功能允许构建可以探测,扫描或攻击网络工具。...这比Nmap或hping这样工具有一个很大优势,即答案不会减少到(打开/关闭/过滤),而是整个数据包。...tcpdump -xX 第三,即使是只能解码程序也不会向您提供他们收到所有信息。他们给你网络愿景是他们作者认为足够。但它并不完整,你有偏见。例如,您是否知道报告以太网填充工具?...使用Scapy,要发送数据包可能只用一行描述另一行来打印结果。90%网络探测工具可以用2行Scapy重写。 探测一次,解释很多 网络发现是黑盒测试。...在探测网络时,会发送许多刺激,而只有少数刺激被回答。如果选择了正确刺激,则可以通过响应或缺乏响应来获得所需信息。与许多工具不同,Scapy提供所有信息,即发送所有刺激和收到所有响应。

    2.7K20

    搭建自己硬件植入工具

    以下是Hydrabus或Bus Pirate发送数据包示例脚本: import serial import struct from scapy.all import * ser = serial.Serial...我们设置如下: 1.植入主机具有过滤器来匹配来自UDP端口623流量; 2.植入物由Hydrabus模拟; 3.另一台主机正在发送与过滤器匹配数据包,该数据包使用以下Scapy脚本: from...传送帧 通过更改MANC2H寄存器,可以将流量发送到SMBus,同时PCIe允许主机正确读取帧。...注意,植入主机响应查询,即数据包正确发送到SMBus和PCIe: ? 结论 在这篇文章中,我们描述了一种可能方法,可以将小而廉价微控制器用作NIC级别的植入物。...在需要完全操作系统受损情况下,修改BMC代码将是最佳选择,因为它已经可以访问所有有趣总线并且不会在主板上留下任何可见占用空间。

    1.8K30

    SeedLab——Packet Sniffing and Spoofing Lab

    /usr/bin/env python3 from scapy.all import * def print_pkt(pkt): pkt.show() # 绑定网络接口, # filter参数指定要过滤数据包类型...这样就确定了路径中第一个跳。 源主机增加TTL字段值,将第二个数据包发送到目标主机。...这是因为网络接口通常是受保护资源,只有特权用户才能直接访问它们。 下面三个操作都需要root权限 打开网络接口:嗅探器程序在开始捕获数据包之前需要打开选择网络接口。...如果没有足够权限来访问这些资源,捕获数据包操作将失败。 Q C 混杂模式允许网络接口在捕获数据包时接收经过该接口所有数据包,而不仅仅是目标地址是本机数据包。...然后使用sendto函数将我们自己构造SYN数据包通过创建原始套接字发往目标地址。

    76310

    【Python】使用scapy模块编写ARP欺骗脚本

    scapy模块,利用该模块我们根据自己需要定义一系列报文,并通过scapy发送出去,最后再接收回应。...查看修改后报文: ? 报文就构造好了,就可以发包了~ 但是注意!!指定了Ether头部后使用sr1(pkt)方式系统是不会发包: ?...但这里发送是个应答包,目标主机不会回复报文,因此我们使用sendp(pkt)方式,根据二层发包,但不接收响应包,wireshark抓包如下: ?...srp()和srp1()都是根据第二层发包,srp1表示只接收第一个回复。 还可以在发包同时构造报文,效果和上面相同: ?...因此需要开启kali报文转发功能: ? 开启后,网络不会中断了。 最后附上全部代码 ? Part.3 结语 好啦,这就是今天全部内容了,小伙伴们都学会了吗? Peace!

    5.5K10

    Python scapy模块个人见解

    scapy模块 from scapy.all import *    //来自scapy.all文件,导入所有函数 python交互模式中:ls(*)*=Ether、IP、ICMP、TCP、UDP、ARP...任意IP地址 构建二层包:(以Ether层开头)  如:pkt=Ether/IP/ARP 构建三层包:(以IP层开头)  如:pkt=IP/XY/SJ 2.只发送  二层:sendp()  //给定网卡接口...选择网卡为eth0 loop=1       循环发送 inter=1      每隔1秒发送  timeout=1    超时1秒就丢弃,实际时间看程序处理能力而定  3.发送并返回  二层:      srp...()   //发送包, 返回答复和没有答复数量      srp1() //发送包, 返回只答复或者发送详细信息| .参数,显示这个参数返回数据  三层:      sr(  )  //发送包..., 返回答复和没有答复数量      sr1( ) //发送包, 返回只答复或者发送详细信息|.参数,显示这个参数返回数据  如二层发收包:      srp1(pkt,timeout=1

    1.2K20

    Python灰帽编程 3.3 MAC洪水

    Python灰帽编程 3.3 MAC洪水 传统交换机(我只对我目前使用交互机做过测试,按照常识只能这样表述)在数据转发过程中依靠对CAM表查询来确定正确转发接口,一旦在查询过程中无法找到相关目的...CAM表容量有限,只能储存不多条目,当CAM表记录MAC地址达到上限后,新条目将不会添加到CAM表中。 基于以上原理,我们会发现一个非常有趣现象。...某台PC不断发送去往未知目的地数据帧,且每个包源MAC地址都不同,当这样 数据包发送速度足够快之后,快到在刷新时间内将交换机CAM表迅速填满。...图3 随机问题解决之后,下面我们考虑下什么样数据包能达到目的呢?回看一下前文提到内容,只要我们数据包中有指定源IP和MAC,那么交换机就会进行记录。...图5 3.3.2 小结 本节内容在编程上没有什么新知识值得探讨,主要希望大家对交换网络和以太网理解通过编程方式进一步加深。 下一节,我们一起探讨下针对VLAN攻击。

    94970

    数据包处理利器——Scapy高级使用(一)

    SYN-ping和ACK-ping看起来可能是多余,但是大多数无状态防火墙不会过滤未经请求ACK数据包,所以最好同时使用这两种ping技术。...>>> ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.17.51.0/24"),timeout=2) Begin emission...表示,SYN用'S'表示,而[S.]则表示SYN+ACK 在Scapy中制作三次握手包 第1步-将客户端SYN发送到侦听服务器 使用源IP地址和目标IP地址制作一个IP头。...接下来我们使用scapy来模拟syn扫描 在单个主机,单个端口上进行SYN扫描 使用sr1功能发送并响应数据包 使用sprintf方法在响应中打印字段。...客户端会发送带有要连接端口号UDP数据包。如果服务器使用UDP数据包响应客户端,那么该端口在服务器上是开放

    1.4K30
    领券