python 您所在的位置:网站首页 抓指定ip的包 python

python

2023-05-21 14:46| 来源: 网络整理| 查看: 265

这次的作业要求是分析 ICMP 包的数量与比例,使用 Scapy 库一把梭了…

运行截图如下 在这里插入图片描述

Scapy库 介绍

scapy 是 python 中能用于网络嗅探的非常强大的第三方库。可以用于构建、发送、解码和分析网络数据包。之前为了获取同一局域网下的其他主机的 IP 和 MAC,就使用了 “利用 scapy 伪造 arp 请求及解析回传数据包” 这种方法。

使用

Scapy 库可以直接在命令行使用,进入 Scapy 后显示如下页面就是安装成功了。 在这里插入图片描述

相关命令如下

# 查看所有支持的协议 ls() # 列出ICMP协议头部字段格式 (只要想查看哪个协议的参数 括号里就填哪个协议 ls(ICMP) # 列出ICMP包的信息 ICMP().show() # 列出scapy的所有命令 lsc() # 列出scapy的配置参数 conf # 退出scapy exit() 编程实现

抓取一段时间的流量包,分析并输出其中 ICMP 包的数量及占比。

sniff 函数

使用 sniff 函数可以进行实时抓包和网络数据包分析,例如检测网络攻击、网络性能测试和协议分析等。函数返回值是一个流量包的列表。函数还有很多参数可以设置,函数定义如下

def sniff(count=0, store=1, offline=None, prn=None, filter=None, L2socket=None, timeout=None, opened_socket=None, stop_filter=None, iface=None, *args, **kargs)

记录下部分参数的使用

filter:用于指定过滤条件,只有符合条件的数据包才会被抓取。使用wireshark里面的过滤语法。

iface:用于指定监听的网络接口,即写入要检测的网卡名。默认情况下将监听所有的网络接口。

prn:用于指定抓取到每个数据包后执行的函数。可以在该函数中对抓取到的数据包进行处理或分析。

count:用于指定抓取数据包的数量。默认值为0,表示持续监听。

timeout:用于指定抓取数据包的超时时间,即在给定的时间后停止嗅探。默认情况下将持续监听。

store:用于指定将抓取到的数据包保存或者丢弃,1保存,0丢弃。

实时抓包分析

监听 WLAN 接口的流量包(网卡名可以在 更改适配器选项 里面看),监听时间是 60s

from scapy.all import sniff def count_packets(pkt): global icmp_count if pkt.haslayer('ICMP'): icmp_count += 1 icmp_count = 0 pkt = sniff(iface='Intel(R) Wi-Fi 6 AX200 160MHz', timeout=60, prn=count_packets) print(pkt) sum = len(pkt) icmp_percent = (icmp_count / sum) * 100 print("一分钟内抓取到的流量包的总数: %d\nICMP包的数量: %d; 占比:%.2f%%" % (sum, icmp_count, icmp_percent))

监听所有接口的流量包,抓够100个包后结束

pkt = sniff(count=100, prn=count_packets) 读取 pcap/pcapng 文件分析

在 wireshark 抓个包并导出 pcap/pcapng 文件,直接对此文件进行分析

import scapy.all as scapy def count_packets(pkt): global icmp_count for packet in pkt: if packet.haslayer('ICMP'): icmp_count += 1 # pkt = scapy.rdpcap("./test.pcap") pkt = scapy.rdpcap("./test.pcapng") icmp_count = 0 count_packets(pkt) print(pkt) sum = len(pkt) icmp_percent = (icmp_count / sum) * 100 print("流量包的总数: %d\nICMP包的数量: %d; 占比:%.2f%%" % (sum, icmp_count, icmp_percent))


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有