windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。
安装 PYQT5 pypcap
环境:
windows10_x64
python3.6.3
pycharm2017.2.4
备注:
需要安装 Visual C++ Build Tools 2015 可以解决
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
1:建立虚拟环境
创建虚拟环境,基于python3.6.3,自动包含 pip setuptools
2:安装pyqt5
pycharm直接在虚拟环境中安装pyqt5,自动安装sip
3.安装dpkt
pycharm直接在虚拟环境中安装dpkt
4.安装pypcap
4.1下载pypcap源码https://github.com/pynetwork/pypcap/releases
4.2根据官网https://github.com/pynetwork/pypcap提示,windows下装个Npcap
WinPcap has compatibility issues with Windows 10, therefore it's recommended to use Npcap (Nmap's packet sniffing library for Windows, based on the WinPcap/Libpcap libraries, but with improved speed, portability, security, and efficiency). Please enable WinPcap API-compatible mode during the library installation.
4.3https://nmap.org/npcap/ npcap下载地址。

打开WinPcap API-compatible mode,这是pypcap要求的。
打开Support raw 802.1 traffic (and monitor mode)for wireless adapters 像是无线网络支持。
4.3下载npcap的SDK https://nmap.org/npcap/
4.4 解压npcap SDK
放到一个盘的根目录并改文件夹名为wpdpack
我放在了D盘
(至少我这样,是可以正常安装成功的)

4.5解压pypcap
这个要解压到和SDK同一个盘符下,也放根目录吧。作者写的东西是基于linux的,没有盘符的概念,不会跨盘符去找文件。

4.6执行命令进行安装
介绍都说的很简单 python.exe setup.py install
这个python是你的系统下的python,不是你虚拟环境中的python,这个路径又长。
教你个不用来回确认路径的方法,和我以前配置pycharm external tools 一样简单。
4.6.1,用pycharm 打开pypcap的文件夹。
4.6.2,打开setup.py

4.6.3,鼠标右键,运行它
4.6.4,编辑它的运行参数

4.6.5,运行参数如下:

有用的其实就3条:
1 Script 脚本文件,我们的setup.py
2 Script parameters: 脚本参数 install
3 Python interpreter:用的是哪个python虚拟环境 python
好了,安装命令的 python setup.py install 三个都有了。
再运行一下这个setup.py就可以了。
它自动生成的命令是:
D:\PythonTest\Virtual_Sniffer\Scripts\python.exe D:/pypcap-1.2.0/setup.py install
自认高手的就自己照着去敲吧,我是懒的敲,就用这样的方法来执行了。
安装完成了。接下来打包。
pyinstall ****.py,图形配置在pyinstall文章。
问题是打包到了别的电脑,无法正常启动,提示加载DLL失败,提示出错的行是 import pcap,warn******.txt中并没有提示这个模块怎么样。
误打误撞,在别的电脑,首先安装NPCAP,并勾选winpcapAPI。然后再运行,就可以了。
安装
pcap方法接收5个参数:
- name,监听的网卡名称。
- snaplen,捕获的每个数据包的最大长度。
- promisc,是否开启混杂模式
- timeout_ms,接收数据包的超时时间
- immediate,立即模式,如果启用则不会缓存数据包
我遇到了cookie抓取长度不够的问题。
烂写了一些东西,加上标记,自己再拼接。
有空试试snaplen。但是它默认是65535。还能改大么?
windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。的更多相关文章
- Windows环境下python的安装与使用
Windows环境下python的安装与使用 一.python如何运行程序 首先说一下python解释器,它是一种让其他程序运行起来的程序.当你编写了一段python程序,python解释器将读取程序 ...
- GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置
GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...
- 4.windows环境下如何安装memcached教程(转载+自己整理)
Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached.百度经验:jingyan. ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
- windows环境下如何安装memcached教程
Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached. 工具/原料 memcach ...
- Unbuntu 18.04 LTS 环境下Python安装GDAL组件
Unbuntu 18.04 LTS 环境下Python安装GDAL组件 // 非必要 sudo add-apt-repository ppa:ubuntugis/ppa sudo apt-get up ...
- HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Framework\v4.0.30319\aspnet_filter.dll 加载失败。数据是错误。
今天在一台win2003的云主机上,安装.net 4.0时,所有的网站都打不开了.打开事件查看器,发现以下错误: HTTP 筛选器 DLL C:\Windows\Microsoft.Net\Frame ...
- [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法
版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭 ...
- XAMPP、PHPstorm和PHPcharm和Windows环境下Python搭建+暴力破解
XAMPP的安装和使用 一.什么是XAMPP? XAMPP是最流行的PHP开发环境. XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache.MariaDB.PHP和Perl. 类似 ...
随机推荐
- python面向对象总结!
面向对象 Object Oriented Programming 基本单元:对象把数据和功能封装在里边,能实现很好的复用性,灵活性和扩展性. 面向对象的两个基本概念:类和对象 面向对象的基本要素:属性 ...
- Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
- MVC ---- Linq查询
Linq查询:编译后,会生成对应的标准查询运算符!所以说,Linq只是类似与Sql的一种更加友好的语法而已: public class LinqDemo{ public static void Tes ...
- Oncomine: 一个肿瘤相关基因研究的数据库--转载
如果你获得了一个肿瘤差异表达基因,想研究其是否可作为某种肿瘤的潜在标志物和靶点,又怕做实验会得到阴性结果,浪费时间和金钱,这时候你就应该想到Oncomine数据库了(www.oncomine.org) ...
- MongoVUE的Collections数据不显示的解决方法
问题描述: 使用 mongoDB数据库, 数据添加成功了,使用命令行能查询出来,但在MongoVUE 中数据却不显示 (我使用的是 mongoDB 3.4 的版本) 原因:引擎问题,只要降到2.X版 ...
- Jmeter ResponseAssertion 【Ignore Status】
在Jmeter源码中AssertionGui.java中,定义了Ignore Status的作用域 /** * Checkbox to indicate whether the response sh ...
- TypeScript基础学习
什么是TypeScript? TypeScript是一种由微软开发的自由的和开源的编程语言,它是JavaScript的一个超集,扩展了JavaScript的语法. TypeScript支持任意浏览器, ...
- onLoad和DomContentLoad的区别
onLoad是的在页面所有文件加载完成后执行 DomContentLoad是Dom加载完成后执行,不必等待样式脚本和图片加载 domContentLoad更为合理, 原理: 如果是webkit引擎则轮 ...
- WPF:改变ListBoxItem和ListViewItem的颜色
目录 1. 改变ListBoxItem颜色 2. ListViewItem的颜色设置 注意: 本文仅讨论默认ListBoxItem和ListViewItem的鼠标指向和被选择后的前景和背景颜色设置.如 ...
- Android之 RecyclerView,CardView 详解和相对应的上拉刷新下拉加载
随着 Google 推出了全新的设计语言 Material Design,还迎来了新的 Android 支持库 v7,其中就包含了 Material Design 设计语言中关于 Card 卡片概念的 ...