博客
关于我
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
阅读量:798 次
发布时间:2023-03-07

本文共 1779 字,大约阅读时间需要 5 分钟。

以下内容都是可用的,但是具体在哪能用暂时还不太清楚


使用Pyshark库进行网络抓包

在网络安全分析和网络故障排除中,抓包是一项非常重要的技能。Pyshark库为我们提供了一种简单易用的方法来捕获和分析网络流量。本文将介绍如何使用Pyshark库进行网络抓包,并展示如何从抓取的数据中提取有用信息。

1. 安装Pyshark库

首先,需要安装Pyshark库。你可以通过以下命令安装:

pip install pyshark

2. 初始化抓包

在开始抓包之前,我们需要选择需要监控的网络接口。以下是一个示例代码:

from pyshark import LiveCapture
# 初始化抓包
capture = LiveCapture(interface='enxaca0002e176f', display_filter='tcp.port == 80')

这里的display_filter参数用于指定显示过滤条件。你可以将Wireshark中的过滤条件直接复制到这里。

3. 开始抓包并分析数据

在初始化完成后,我们可以开始抓包,并实时分析流量:

for packet in capture.sniff_continuously():
print("packet.frame_raw", packet.frame_info)
print("packet.number", packet.number)
print("packet.interface_captured", packet.interface_captured)
print("packet.captured_length", packet.captured_length)
print("packet.length", packet.length)
print("packet.sniff_timestamp", packet.sniff_timestamp)
for layer in packet.layers:
print(layer.layer_name)
print(layer.get_field("ip.proto"))
if layer.layer_name == "tcp":
print(layer.get_field("tcp.port"))
if layer.layer_name == "http":
print(layer.get_field("data"))
print(f"layer.get_field('ip.src')=====> {layer.get_field('ip.src')}")
print(f"layer.get_field('ip.dst')=====> {layer.get_field('ip.dst')}")
print(f"layer.get_field('ip.proto')=====> {layer.get_field('ip.proto')}")
print(f"layer.get_field('ip.len')=====> {layer.get_field('ip.len')}")

4. 使用过滤条件

display_filter参数可以直接使用Wireshark中的过滤条件。例如:

  • tcp.port == 80:只捕获HTTP流量
  • tcp.port == 443:只捕获HTTPS流量
  • ip.src == 192.168.1.1:只捕获来自192.168.1.1的流量

5. 实时监控

sniff_continuously()方法会持续捕获数据包,可以用于实时监控网络流量。


注意事项

  • 确保网络接口interface正确配置
  • 根据需要调整过滤条件
  • 如果需要长时间运行,确保程序有足够的权限
  • 数据包捕获会占用资源,建议在生产环境中谨慎使用
  • 通过以上方法,你可以轻松开始使用Pyshark库进行网络流量分析。如果你有任何问题或需要进一步的帮助,欢迎在评论区留言。

    转载地址:http://zeofk.baihongyu.com/

    你可能感兴趣的文章
    python | 如何用Python锁避免并发错误?
    查看>>
    python | 提升代码迭代速度的Python重载方法
    查看>>
    python | 深入理解Python并发编程中的GIL限制与解决方案
    查看>>
    Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
    查看>>
    python | 高效使用Python工具自动生成模块文档的秘诀
    查看>>
    python 一个list去除另一个list中的值
    查看>>
    python 三大框架的 介绍。
    查看>>
    Python 下载的 11 种姿势,一种比一种高级!
    查看>>
    python读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
    查看>>
    Python 中 3 个不可思议的返回功能
    查看>>
    python 中 dict 的另一种用法
    查看>>
    Python 中 PIL 读取图片出现异常旋转的解决方法
    查看>>
    python 中os.path.join 双斜杠的解决办法
    查看>>
    Python 中Semaphore 信号量对象、Event事件、Condition
    查看>>
    python 中with的使用及样例
    查看>>
    Python 中内置的最大堆 API
    查看>>
    Python 中只有一个 True 和一个 False 对象吗?
    查看>>
    python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
    查看>>
    Python 中多线程与多处理之间的区别
    查看>>
    Python 中如何使用 lambda 函数
    查看>>