领取MOLI红包
2
栏目分类
热点资讯
垂直石墨烯片增强分层卵壳硅/碳负极材料用商业锂离子电池应用|聚合物|固态电池
卵壳结构硅/碳(YS-Si/C)负极材料具有高比容量和出色的循环寿命,因此有望用于商用锂离子电池(LIB)。然而,尽管经过近十年的研究,其商业化仍未实现,主要原...
PERP中文网 你的位置:Gala 中文站 > PERP中文网 > Python渗透测试入门之Scapy库的使用详解
Python渗透测试入门之Scapy库的使用详解 发布日期:2025-01-04 17:38    点击次数:96
Scapy 是一个用来解析底层网络数据包的Python模块和交互式程序,该程序对底层包处理进行了抽象打包,使得对网络数据包的处理非常简便。该类库可以在在网络安全领域有非常广泛用例,可用于漏洞利用开发、数据泄露、网络监听、入侵检测和流量的分析捕获的。Scapy与数据可视化和报告生成集成,可以方便展示起结果和数据。 我们会先简单尝试一下,用Scapy嗅探流量,从中窃取明文的邮箱身份凭证。然后对网络中的攻击目标进行ARP投毒,以此嗅探它们的网络流量。最后,我们会演示如何借助Scapy的pcap数据处理能力,从嗅探到的HTTP流量中提取图片,并运用面部识别算法来判断其是否为人像照片。 窃取邮箱身份凭证 Scapy提供了一个名字简明扼要的接口函数sniff,它的定义是这样的: filter参数允许你指定一个Berkeley数据包过滤器(Berkeley Packet Filter,BPF),用于过滤Scapy嗅探到的数据包,也可以将此参数留空,表示要嗅探所有的数据包。 iface参数用于指定嗅探器要嗅探的网卡,如果不设置的话,默认会嗅探所有网卡。prn参数用于指定一个回调函数,每当遇到符合过滤条件的数据包时,嗅探器就会将该数据包传给这个回调函数,这是该函数接受的唯一参数。count参数可以用来指定你想嗅探多少包,如果留空的话,Scapy就会一直嗅探下去。 mail_sniffer.py: 在这个简单的嗅探器中,它只会嗅探邮箱协议相关的命令。 接下来我们将添加过滤器和回调函数代码,有针对性地捕获和邮箱账号认证相关的数据。 首先,我们将设置一个包过滤器,确保嗅探器只展示我们感兴趣的包。我们会使用BPF语法(也被称为Wireshark风格的语法)来编写过滤器。你可能会在tcpdump、Wireshark等工具中用到这种语法。先来讲一下基本的BPF语法。在BPF语法中,可以使用三种类型的信息:描述词(比如一个具体的主机地址、网卡名称或端口号)、数据流方向和通信协议,如图所示。你可以根据自己想找的数据,自由地添加或省略某个类型、方向或协议。  我们先写一个BPF: ARP投毒攻击 逻辑:欺骗目标设备,使其相信我们是它的网关;然后欺骗网关,告诉它要发给目标设备的所有流量必须交给我们转发。网络上的每一台设备,都维护着一段ARP缓存,里面记录着最近一段时间本地网络上的MAC地址和IP地址的对应关系。为了实现这一攻击,我们会往这些ARP缓存中投毒,即在缓存中插入我们编造的记录。 注意实验的目标机为mac arper.py: pcap文件处理 recapper.py: 如果我们得到了一张图片,那么我们就要对这张图片进行分析,检查每张图片来确认里面是否存在人脸。对每张含有人脸的图片,我们会在人脸周围画一个方框,然后另存为一张新图片。 detector.py: 到这里,我们的实验目标已经完成。对于其中的脚本我们可以扩展更多的内容,请大家自行发挥。 以上就是Python渗透测试入门之Scapy库的使用详解的详细内容,更多关于Python Scapy库的资料请关注脚本之家其它相关文章!