使用cffi为Wireshark和libpcap绑定Python

wishp的Python项目详细描述


WiresharklibpcapPython绑定

Build StatusDocumentation StatusCoverage Status

wishpy是什么?在

  • 使用cffiwiresharklibpcap生成Python绑定
  • 您可以用Python编写像tshark这样的应用程序
  • 使wireshark的解析器在Python中可用,并使libpcap 在Python中很容易获得包捕获
  • 这是在积极的开发中,但应该在常见的Linux发行版上运行, 如果没有,请提交一个问题。在
  • 另外,还可以直接替换pcapy。支持所有主要的pcapyapi。在
  • 早期Windows支持。请检查README-windows。在

入门

这个软件包现在只在Linux上测试(特别是ubuntu16.04) 为了能够开始,需要以下开发环境-

  1. gcc及其工具集
  2. Python3.5或更高版本以及Python开发环境。在
  3. 支持Pypy7.3或更高版本(与Python3.6兼容)

强烈建议从虚拟环境开始,比如 virtualenv venv

通常,只需简单地执行一个python setup.py install,就可以得到 你开始了。如果一切顺利,就可以安装模块了 在site-packages中。在

安装包之后,可以运行示例代码-

或者,如果您只想使用包装好的api,则可以在中使用它们- 1wishpy/scripts/tcpdump.py <interface_name>(用于实时捕获数据包并转储json注意:需要sudo权限。) 2wishpy/scripts/tshark.py <pcap-file-path>(用于从pcap``ish file as ``json转储数据包)

Wireshark支持

现在Wireshark 2.6.x和Wireshark 3.2.x都受支持。在

最好的方法是通过pkg-config。马上, 默认支持是Ubuntu附带的wireshark2.6。 如果两个版本都安装了,就有点棘手了。国际单项体育联合会 wireshark,如果执行make install(或sudo make install), 右wireshark.pc文件已创建,将在生成期间使用。在

libpcap支持

支持libpcaplibrary>;1.7。另外,还有一个pcapy模块,可以用作pcapy的插入式替换。支持类似于pcapy的api。我们在Ubuntu上用以下版本的libpcap(基于git标记)-libpcap-1.7.4libpcap-1.8.1libpcap-1.9.1进行了快速测试。在

文件

我们从一些非常“基本”的解析器/捕获器API开始。请参阅wishpy/scripts/tshark.py,以了解如何使用它。 这个API还很早(事实上,这并不是一个真正的API,只是一个关于API可能是什么样子的提示。) 很可能会发生变化。是API Documentation is available的早期版本。在

示例

有关如何使用wishpyapi,请参阅wishpy/scripts/目录中的代码。在

使用wishpy发布到Redis的更详细的示例可以在下面的repo中找到-

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?