用Scapy与C插座交谈
我有一个UDP连接,并在端口(Localhost)上聆听,我也试图从Localhost发送SCAPY包.由于某种原因,我的C代码实际上从未捕获该数据包,但是我可以看到Wireshark中显示的数据包很好.自从我使用插座以来已经有一段时间了,但是我必须设置一些特殊的套接字选项,或者为什么我能够在Wireshark中看到数据包,但是C插座却不能? ? 注意:当我编写相应的套接字代码以发送数据包(来自Localhost)时,我能够成功地捕获数据包,但是我仍然无法获取从另一台计算机发送的侦听代码来捕获数据包. 我找到了一个类似的问题尝试了他们的方法(使用UDP而不是TCP),我仍然无法让NetCat捕获Scapy包. C代码(为了清楚起见) int main() { int sock, dataLen, inLen; struct sockaddr_in inAddr; short listen_port = 8080; char buffe
2 2024-04-08
编程技术问答社区
'L3PacketSocket'对象在使用发送命令时没有属性'ins'。
我正在尝试使用UDP协议发送数据包.我在Ubuntu上运行Python 3并使用Scapy.但是,我会收到以下错误消息:" attributeError:'l2socket'对象没有属性'ins'.完整的错误消息可以在下面看到. 我在这里阅读 https://github.com/secdev/secdev/scapy/scapy/issues/1868 ,由于Ubuntu是通过虚拟机运行的,因此无法作为根而无法运行.任何帮助都非常欢迎! 这些是所讨论的代码行: from scapy.all import * packet = IP(dst="127.0.0.1")/UDP(dport=123)/Raw(load="123") send(packet) 解决方案 您需要以root(sudo)启动Scapy. 仔细观察错误:首先说"不允许操作". 您引用的错误是第一个失败的结果. 已经有多次报道,第二个错误已在主上固定: Scapy将无法在没有根的情况下
0 2024-03-18
编程技术问答社区
Python(2.7)在通过控制台启动scapy或导入时不断崩溃
不管我是否做 scapy 或 Python from scapy.all import * 它只是崩溃了.它说" python没有回应",这无用的经典小酒吧.我目前正在Win10. 我发现只有另一个人有这个问题,没有人愿意回答他,找不到其他任何东西.我尝试了来自包装不同的安装程序的多个安装程序.没有可以.我要疯了. 非常感谢. 解决方案 好吧,没有人提出答案,但是我终于弄清楚了,所以在奇怪的机会中,有人最终处于同一困境中,这就是我的工作方式: 确保已安装Windows的周年更新,并启用Beta(或者在阅读此书时不再是?)Linux bash(快速谷歌搜索将向您显示如何执行此操作,没有什么特别的要做,只有一个很少有选项可以打勾,HowtoGeek如果可以帮助您搜索). 您必须重新启动计算机.然后,您应该能够在窗户上打开Ubuntu Bash. 访问Scapy安装网站,然后转到"本地Linux Linux " 部分.在此之前,我亲自卸载了
8 2023-12-10
编程技术问答社区
使用 python 中的 scapy 进行去认证攻击
嗨,我要去您走去,因为我目前正在编码LAN攻击的框架,以更好地了解其工作原理,并且我想添加Deauth攻击.这是该功能的代码,但它不起作用,我不明白什么错. def disconnect(self): target_mac = self.t_mac gw_mac = self.gw_mac # gateway mac address dot11 = Dot11(type=0, addr1=target_mac, addr2=gw_mac, addr3=gw_mac) pkt = RadioTap()/dot11/Dot11Deauth(reason=7) scapy.sendp(pkt, inter=0.1, count=1000, verbose=0) 我在Windows 10上,并与Wireshark分析交换. 该数据包在Wireshark上似乎真的很奇怪. 希望您能给我一些信息来提供帮助. 预先感谢家伙;) 解决方案 带有8型和亚
2 2023-12-10
编程技术问答社区
如何在Scapy的帮助下从文本文件中生成一个Pcap流量
我有多个文本文件,我以前通过TCPDUMP捕获了该文件,但是我没有正确设置配置,因此我没有完整的转储将其转换为PCAP文件,借助Text2PCAP.因此,我试图编写一个Python脚本以将我的文本文件转换为PCAPS. 以下是我捕获的文件的样子: tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes 1509471560.944080 MAC1 > MAC2, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 23237, offset 0, flags [DF], proto TCP (6), length 60) IP1.port > IP2.port: Flags [S], cksum 0x6d2f (incorrect -> 0x0b4a), seq 1127096708, win 655
2 2023-12-10
编程技术问答社区
Scapy无法发送ipv6数据包
大家好,我是新来的,所以请友善. 我最近一直在使用Scapy,以将IPv6数据包发送到启用IPv6的服务器.代码的要旨在这里: text = line[:-1] #destination=getIPv6Addr(line[:-1]) destination="2607:f1c0:1000:60e0:7992:97f7:61b2:2814" source="2001:630:d0:f105:5cfe:e988:421a:a7b7" syn = IPv6(dst=destination,src=source) / TCP(sport=555,dport=80,flags="S")#flag S is syn packet syn.show() syn_ack = sr1(syn,timeout=11) 当我执行代码时,这就是我得到的:
30 2023-12-10
编程技术问答社区
编译 libdnet for python 2.7
我试图在Win32 Python2.7上使用Scapy 我设法编译了所有其他依赖关系,期望这是一个 可以帮助达到此可执行文件的目标吗? " dnet-1.12.win32-py2.7.exe" (我保证也会更新此问题和SCAPY手册, windes and-distribution-distribution-7"> windes with Windows在Windows上进行跑步Scapy- Python 2.7 ) 更新: 我已经设法将其与mingw32进行了编译 我正在使用VS2005,我必须对libdnet进行一些修复才能实际工作(看起来上次它们在Windows上编译了它,它是用VS6.0 编译的. 我将尝试更新Scapy手册...(并将可执行文件上传到那里) 解决方案 您读过读数文件吗?从 http://prdownloads.source.net/libdnet/下载源tarball libdnet-1.11.tar.gz?下载,
8 2023-12-05
编程技术问答社区
使用 Python 2.7 在 Windows 上运行 Scapy
我喜欢在Windows 7下使用python v2.7的scapy. 如何为Python 2.7安装所需的模块PYPCAP? 可以使用py2exe之类的分发工具? 我正在使用的特定python分布被置于python分布7.02. 解决方案 侵入性更新:请注意,此答案是过时的,使用最新版本(> = 2.4.0)Scapy只需要NPCAP(或WinPCAP)工作,并且ipython为控制台.看看官方Windows页面 如果某人需要 64位 + python 2.7 ,我在这里上传了二进制文件: https://github.com/kondziowy/scapy_win64 .0.win-amd64.exe 此外,,您可能需要从 winpcap rel =" noreferrer">官方网站 自己汇总需要一些修复 - 我会尽快将它们提交. 其他解决方案 问:如何安装所需的模块pypcap 可以使用Windows 7使用Scap
8 2023-12-05
编程技术问答社区
监控模式下的Scapy 2.7.3
我正在编写一个简单的WiFi sniffer: from scapy.all import * ap_list = [] def ssid(pkt): print(pkt.show()) if pkt.haslayer(Dot11): if pkt.type == 0 and pkt.subtype == 8: if pkt.addr2 not in ap_list: ap_list.append(pkt.addr2) print("AP: %s SSID: %s" % (pkt.addr2, pkt.info)) sniff(iface='en0', prn=ssid) 其中en0是Wi-Fi接口. 我的目的是查看无线访问点的RSSI,噪声,SSID.当我运行此脚本(是否来自Sudo)时,当我连接到某些Wi -Fi时 - 捕获了许多数据包(没有人是
10 2023-12-04
编程技术问答社区
SCAPY PYTHON-获取802.11 DS状态
我正在尝试使用Scapy创建一个嗅探程序,以演示802.11设备关联和在802.11网络中的角色. Scapy具有简单的功能,可以识别信标框架,探测请求和探测响应.我试图比这更深入一些,并根据DS状态进行自己的评估,以显示所有其他流量关联[S]. 我无法做的事情决定如何获得DS状态的值(00,01,10,11).如果确定,那么我可以相应地处理框架以获取源,BSSID,接收器,发射器和目的地以适合我的代码. 我发现我应该能够使用TSHARK(WLAN.FC.DS)获得DS状态,因此,如果需要,我可以将框架传递到TSHARK派生过程中;但是我首先想尝试使用Scapy进行所有操作,因为我刚刚开始使用Python的Scapy进行编码,并且我不想在第一个障碍时跳到其他MAC框架分析程序. 除了创建我的程序以演示设备关联;我还将其用作工具,意味着我更多地了解802.11,Python和Scapy,因此我希望对每个框架进行一些挖掘,并将它们分组为DS状态. 谢谢, 鲍勃
14 2023-12-04
编程技术问答社区
使用 Scapy 获取 RSSI 信息
当我尝试通过Scapy从无线网络中获取RSSI信息时,我会遇到一些错误.另外,我正在使用Alfa-036NH,我的监视器模式开放,OS是Kali Linux.我使用以下代码: from scapy.all import * from datetime import datetime import os import signal import sys def PacketHandler(pkt) : if pkt.haslayer(Dot11) : if pkt.type == 0 and pkt.subtype == 8 : if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp): try: extra = pkt.notdecoded rssi = -(256 - ord(extra[-4:-3])) exce
4 2023-12-04
编程技术问答社区
scapy 中的 RadioTap 标头
我正在尝试发送和接收带有SCAPY的数据包并阅读Radiotap标头.无线适配器(和驱动程序)能够处理这些标题,但我似乎无法得到它们. 每当我在scapy中发送一个普通数据包时,都不包含这样的标头(因此,嗅探数据包并使用pkt.haslayer(RadioTap)返回0检查一个标题,我无法用pkt[RadioTap].show()显示标题). 如果我用Radiotap标头明确地构造了我的数据包(例如 pkt = RadioTap()查看它,我可以得到一个radiotap标头,但它是空的.发送并收到它后,我什么也没得到. 我阅读了这样的帖子.但是我没有问题是Radiotap标头不会被解码,它根本没有任何东西. 我正在使用Scapy 2.3.1,如果有任何区别.有什么想法吗? 解决方案 请确保您的无线接口和驱动程序支持监视器模式. $ iw list ... Supported interface modes: * IBSS
2 2023-12-04
编程技术问答社区
从Python访问802.11无线管理帧
从python上的Linux上,我想嗅探802.11管理"探针 - 重试"框架.从类似的Scapy中可以做到这一点: # -*- coding: utf-8 -*- from scapy.all import * def proc(p): if ( p.haslayer(Dot11ProbeReq) ): mac=re.sub(':','',p.addr2) ssid=p[Dot11Elt].info ssid=ssid.decode('utf-8','ignore') if ssid == "": ssid="" print "%s:%s" %(mac,ssid) sniff(iface="mon0",prn=proc) 或从Ts
64 2023-12-03
编程技术问答社区
如何使用 Scapy 确定无线加密类型?
我正在对无线网络进行安全研究,该研究涉及编码一个小工具,该工具扫描附近的WiFi访问点.基于发现的加密类型,它继续进行其他一些安全测试. 到目前为止,我的Python代码使用SCAPY列举不同的访问点以及它们是否已启用了加密(ENC = Y或ENC = N).代码是: def sniffAP(p): if ( (p.haslayer(Dot11Beacon) or p.haslayer(Dot11ProbeResp)) and not aps.has_key(p[Dot11].addr3)): ssid = p[Dot11Elt].info bssid = p[Dot11].addr3 channel = int( ord(p[Dot11Elt:3].info)) capability = p.sprintf("{Dot11Beacon:%Do
6 2023-12-03
编程技术问答社区
Scapy--从 WiFi 数据包中读取 RSSI
我正在尝试从WiFi数据包中获得RSSI或信号强度. 我也想要来自" WiFi探针请求"的RSSI(有人在搜索WiFi热点时). 我设法从kismet日志中看到了它,但这只是为了确保它是可能的 - 我不想一直使用kismet. "全职扫描"我正在使用Scapy.有人知道在哪里可以从scapy嗅出的数据包中找到RSSI或信号强度(以DBM为单位)?我不知道整个数据包是如何构建的 - 并且有很多"十六进制"值我不知道如何解释/解释. 我在两个接口上都在嗅探-WLAN0(检测到某人连接到我的热点时)和Mon.Wlan0(检测何时有人在搜索热点). 我使用的硬件(WiFi卡)基于Prism芯片组(ISL3886).但是,使用Kismet进行了Atheros(AR2413)和Intel IWL4965的测试. edit1: 看来我需要以某种方式访问​​Prismheader中存储的信息: http://trac.secdev.org/scapy/browser/sca
16 2023-12-03
编程技术问答社区
Python对WiFi的扫描
我正在寻找一个可以扫描WiFi网络并打印所有SSID的程序.我尝试了Scapy,但失败了.我正在使用Pycharm编辑器. 我尝试了此代码: from scapy.all import * from scapy.layers.dot11 import Dot11 def packet_handler(pkt): if pkt.haslayer(Dot11) and pkt.type == 2: print(pkt.show()) scapy.sniff(iface="mon0", prn=packet_handler) 解决方案 尝试pip install wifi然后进行扫描 from wifi import Cell, Scheme Cell.all('wlan0') 这返回单元对象列表.在引擎盖下,这称为IWLIST扫描并解析不友好的输出.每个单元对象应具有以下属性:SSID,信号,质量等. 并且
8 2023-12-03
编程技术问答社区
将RTP有效载荷(有效载荷类型107,AMR-WB 16khz 1Channel)转换成.wav。
我正在Linux Ubuntu下的Python 3.6工作,我使用Scapy Lib从包含以下堆栈的bin文件中提取数据:IP/UDP/RTP. RTP-PAYLOAD类型为107(动态),A = RTPMAP:107 AMR-WB/16000/1. 我以原始格式放入文件中,然后将其称为 src.aud ,但将其写入十六进制也不是问题.现在,我需要做些什么才能将其转换为每个计算机上的音频数据格式,例如.wav或.mp3? 我已经在此文件上做了'努力: https://gist.github.com/ollyja/5fe34ba997d8fa8a3f6ff4fb883feca2 但是对丝绸音频解码器有依赖性. https://github.com/gaozehua/SILKCodec ,但这全是用C写的,我不明白如何在环境中使用它.不是有更简单的方法,还是我想念S.Th. ? 感谢您的帮助 解决方案 文档RFC4867(可以轻松地使用Googl
40 2023-11-27
编程技术问答社区
使用 scapy 发送 RTP 数据包并在上限中查看
我有此代码以盖子编写RTP数据包: client = "192.168.10.1" server = "192.168.10.5" client_port = 5061 server_port = 5060 rtp = { "sequence": 1, "timestamp": 1, "marker": 1, "payload_type": 17 } pkt= Ether()/IP(src=client, dst=server)/UDP(sport=client_port, dport=server_port)/RTP(**rtp) wrpcap("rtp_pkt.pcap",pkt) 问题是我将数据包视为Wireshark中的UDP,而不是RTP.我可以用sip结构看到它,所以我不知道问题在哪里, 解决方案 简而言之 - Wireshark向您显示UDP,因为没有SIP/SDP数据包.这
4 2023-11-25
编程技术问答社区
vscode 导入错误: from scapy.all 导入 IP
vscode说找不到IP. ,但我可以从终端导入它: 有人可以告诉我为什么吗? 解决方案 我在VS代码中的SCAPY代码完全相同.我认为这与Pylint的工作方式有关. 当您from scapy.all import IP时,Python加载scapy/all.py,其中包括from scapy.layers.all import *. scapy/layers/all.py包括此代码: for _l in conf.load_layers: log_loading.debug("Loading layer %s" % _l) try: load_layer(_l, globals_dict=globals(), symb_list=__all__) except Exception as e: log.warning("can't import layer %s: %s", _l, e) con
8 2023-11-25
编程技术问答社区
通过 SCAPY 使用特定私钥解密 SSL/TLS
我想解密我的域在上使用Scapy的服务器. 然后,我有原始的国际注册证书( tls1.3 )文件... 和必须 非常容易使用Scapy做到这一点,但是我在任何地方都找不到任何解决方案,这是如此疯狂. 例如,我尝试了这些解决方案,但是它们 没有 bug 和 crash : tshark MITM解决方案 ssldump finaly我是写作示例代码,但它在错误以下提出,我尝试了太多修复它,但不能理解问题和清晰的解决方案: 值错误:ciphertext长度必须等于密钥大小 import os, sys import ssl from scapy import * from scapy.all import * from scapy.layers import * from scapy.layers.tls import * from scapy.layers import inet from scapy.layers.inet import *
8 2023-11-12
编程技术问答社区