win7、linux安装使用pip、mitmproxy
安装pip https://pip.pypa.io/en/latest/installing.html
步骤:
下载 https://bootstrap.pypa.io/get-pip.py
python get-pip.py
D:\pip>python get-pip.py
Collecting pip
Downloading pip-6.0.-py2.py3-none-any.whl (.3MB)
% |################################| .3MB 74kB/s ta ::
Collecting setuptools
Downloading setuptools-12.0.-py2.py3-none-any.whl (502kB)
% |################################| 503kB 117kB/s ta ::
Installing collected packages: setuptools, pip Successfully installed pip-6.0. setuptools-12.0.
python -m pip
Usage:
D:\Python27\python.exe -m pip <command> [options] Commands:
install Install packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
search Search PyPI for packages.
wheel Build wheels from your requirements.
zip DEPRECATED. Zip individual packages.
unzip DEPRECATED. Unzip individual packages.
help Show help for commands. General Options:
-h, --help Show help.
--isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
-v, --verbose Give more output. Option is additive, and can be
used up to times.
-V, --version Show version and exit.
-q, --quiet Give less output.
--log <path> Path to a verbose appending log.
--proxy <proxy> Specify a proxy in the form
[user:passwd@]proxy.server:port.
--retries <retries> Maximum number of retries each connection should
attempt (default times).
--timeout <sec> Set the socket timeout (default seconds).
--exists-action <action> Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup.
--trusted-host <hostname> Mark this host as trusted, even though it does
not have valid or any HTTPS.
--cert <path> Path to alternate CA bundle.
--client-cert <path> Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
--cache-dir <dir> Store the cache data in <dir>.
--no-cache-dir Disable the cache.
--disable-pip-version-check
Don't periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with --no-index.
安装依赖包
python -m pip install netlib pyopenssl pyasn1 urwid pil lxml flask
错误:
File "D:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)
解决方案:
打开D:\Python27\lib\mimetypes.py文件,在256行,将
default_encoding = sys.getdefaultencoding()
改为
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
default_encoding = sys.getdefaultencoding()
由于pil安装出错,所以先:
python -m pip install netlib pyopenssl pyasn1 urwid lxml flask
然后:
python -m pip install pyamf protobuf
又出错:
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).
Get it from http://aka.ms/vcpython27
需要装 Microsoft Visual C++ Compiler for Python 2.7(共 83.8 MB)
http://www.microsoft.com/en-us/download/confirmation.aspx?id=44266
再试:
python -m pip install pyamf protobuf
下一步:
python -m pip install pil --allow-external PIL --allow-unverified PIL
下一步:
python -m pip install nose pathod countershape
最后:
python -m pip install mitmproxy
参考资料:
https://pip.pypa.io/en/latest/installing.html
http://m.blog.csdn.net/blog/roler_/40398789
http://netsecurity.51cto.com/art/201311/416548.htm
http://www.ajucs.com/archives/565.html
——————————————————————————————————
Linux:
类似windows就是pip命令不用加前面的python -m ,如果不是管理员需要sudo。
在pip install netlib pyopenssl pyasn1 urwid lxml flask的时候遇到的错误:
src/lxml/lxml.etree.c:8:22: 错误:pyconfig.h:没有那个文件或目录
yum install python-devel
c/_cffi_backend.c:13:17: 错误:ffi.h:没有那个文件或目录
yum install libffi-devel
其他的还有:
yum install gcc
yum install libxml2
yum install libxslt-devel libxml2-devel
然后:
pip install pil --allow-external PIL --allow-unverified PIL
pip install pyamf protobuf
pip install nose pathod countershape
pip install mitmproxy
“pip install mitmproxy”遇到错误:
[root@centos64 ~]# pip install mitmproxy
Collecting mitmproxy
Using cached mitmproxy-0.11.3.tar.gz
Traceback (most recent call last):
File "<string>", line 20, in <module
Complete output from command python setup.py egg_info:
Traceback (most recent call last):File "<string>", line 20, in <module
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-QBFasU/mitmproxy
查网上说mitmproxy需要python2.7而CentOS6.4默认是python2.6,所以一下部分是CentOS6.4安装python2.7与python2.6共存的办法:
安装必备的开发工具,据说都需要,以防万一,我都安装了:
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
下载和安装Python,注意命令“make altinstall”据说是防止/usr/bin/下面有多个版本的python
cd ~
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar zxvf Python-2.7..tgz
cd Python-2.7.
./configure --prefix=/usr/local
make && make altinstall
如果需要更改系统python版本
mv /usr/bin/python /usr/bin/python2.6.6.old
ln -s /usr/local/bin/python27 /usr/bin/python
vi /usr/bin/yum
将#!/usr/bin/python改为#!/usr/bin/python2.6,因为yum需要python2.6
安装pip
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
python2. ez_setup.py
easy_install-2.7 pip
注意后面使用pip2.7而不是pip。
提示
-bash: /usr/bin/pip2.7: 没有那个文件或目录
的话退出重新登录就好了。安装mitmproxy
pip2. install netlib pyopenssl pyasn1 urwid lxml flask
pip2. install pil --allow-external PIL --allow-unverified PIL
pip2. install pyamf protobuf
pip2. install nose pathod countershape
pip2. install mitmproxy
参考资料:
http://web.49jie.com/?p=1644
http://segmentfault.com/blog/digwtx/1190000000654227
http://stackoverflow.com/questions/27144574/mitmproxy-installation-error
————————————————————————————
使用:
顺便装下图形界面
yum groupinstall "Desktop"
yum groupinstall "X Window System"
yum groupinstall "Chinese Support"
startx
http代理
mitmproxy
快捷键
q - 返回上一层
enter - 查看内容
Tab - 切换看request/response
pageup - 上翻页
pagedown - 下翻页
C - 清空(注意大写)
透明代理
http://mitmproxy.org/doc/transparent/linux.html
sysctl -w net.ipv4.ip_forward=
echo | sudo tee /proc/sys/net/ipv4/conf/*/send_redirects
service iptables start
service iptables save
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8080
service iptables save
cat /etc/sysconfig/iptables
mitmproxy -T --host
大概的意思就是开启转发,设置路由规则,开启mitmproxy的透明代理模式。
iptables如果是直接编辑文件:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8080
使用中还有这么个错误
File "/usr/local/lib/python2.7/threading.py", line 810, in __bootstrap_inner
File "/usr/local/lib/python2.7/site-packages/libmproxy/controller.py", line 77, in run
File "/usr/local/lib/python2.7/site-packages/netlib/tcp.py", line 477, in serve_forever
File "/usr/local/lib/python2.7/socket.py", line 202, in accept
error: [Errno 24] 打开的文件过多
ulimit -n
不过是临时修改
安装证书
mitmproxy-ca.pem PEM格式的私钥和证书。
mitmproxy-CA-cert.pem PEM格式的证书。使用此分发大多数非Windows平台。
mitmproxy-CA-cert.p12在PKCS12格式的证书。在Windows上使用。
mitmproxy-CA-cert.cer相同的文件质子交换膜,但预计一些Android设备的扩展。
win7、linux安装使用pip、mitmproxy的更多相关文章
- Linux安装/升级pip
Linux安装/升级pip 1.执行脚本 # wget https://bootstrap.pypa.io/get-pip.py # 如果没有 wget,先安装 wget # yum -y insta ...
- Win7上安装Linux双系统
今天帮同学在Win7上安装Linux,感觉一篇教程很不错,mark一下 原地址:Win7下U盘安装Ubuntu14.04双系统步骤详解 一.前期准备 1.大于2G的U盘一个(我的系统盘制作完成后大约占 ...
- 自己瞎捣腾的Win7下Linux安装之路-----理论篇
接着上回说道,我把双系统做好啦,开心.... 之后我就在想几个问题: 1.在Ubuntu装好后,重启电脑却还是win7,等我用EasyBCD之后,才可选择使用装好的Ubuntu呢? 2.在用EasyB ...
- linux 安装python,pip,
Linux下python升级步骤 http://www.cnblogs.com/lanxuezaipiao/archive/2012/10/21/2732864.html 在 https://www. ...
- Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))
WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...
- win7下安装linux(centos6.5)双系统详细小白教程
在正式介绍linux安装教程之前,先声明一下本人也是刚开始接触linux,所以教程只以成功安装linux为目标,里面的具体步骤我都是参考网上的教程自己操作实现的,至于为什么要这么做就不多做解释,大家想 ...
- linux下使用pip在虚拟环境下安装tensorflow-gpu
1. 查看已安装包库 pip list 2. linux下下载虚拟环境 sudo apt-get install python-virtualenv 3.建立全新的virtualenv环境 virtu ...
- Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip
Linux 安装python3.7.3 提示已经自动安装了pip和setuptools 可是使用时bash提示没有找到pip 今天的任务就是找到解决办法 另外就是用布置好python3的路径
- 常见问题:Linux安装Python3步骤、Windows无法利用pip
Linux安装python3.6和第三方库的步骤: 我的Linux是CentOS 6.5版本 Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7, ...
随机推荐
- C++构造函数与虚表覆盖
在涉及到虚函数的情况下,C++构造函数的构造顺序为:先调用构造函数,虚表指针初始化,用户代码:如涉及到多重继承情况,初始化顺序为基类.子类(从左至右),假设一个类的继承情况如下图,其初始化顺序为:Po ...
- JS中this的值到底为何?
之前很久的时间,因为研究不深,对于this的值一直模模糊糊,不是很清楚,最近有空做了一些研究,终于彻底弄明白了this到底为何物. 首先, 先抛出一个定论:”在Javascript中,this关键字永 ...
- Neo4j 查询已经创建的索引与约束
在Neo4j 2.0之后为cypher语法增加了一些类似于DDL的语法,能够自己创建索引,约束等等. 有如下的方法可以查询到当前图数据库的索引数量: neo4j-shell 使用:index –ind ...
- IOS照片颠倒分析及移动/页面端的处理策略和思路
前言: 前几天, 写了一篇关于IOS手机上传照片颠倒的技术分析文章: IOS照片颠倒分析及PHP服务端的处理. 不过其思路是从服务器来进行处理的, 这种做法相当普遍. 今天来讲述下, 如何从移动端/页 ...
- 防止sql注入
sqlmap 较专业的sql注入工具YII2 activeform 注意传过来的modle的rules规则 <?php$form=\yii\widgets\ActiveForm::begi ...
- STM32下载调试驱动问题
No Cortex-m SW device found解决办法 16.07.14 今天工作,遇到一个问题:用jlink采用SW下载模式时,一直显示No Cortex-m SW device found ...
- EF Core CodeFirst实践 ( 使用MS SqlServer)
这里使用 MS SQLSERVER ,网上大多使用 SQLite 先来一个CodeFirst 新建项目 这里我们选择 ASP.NET Core Web Application (.NET Core) ...
- JavaScript:修改作用域外变量
今天在看JavaScript学习指南的时候做的课后习题,也因此详细的对函数的传入参数进行比较深入的研究. 题目如下: 函数如何才能修改其作用域之外的变量?编写一个函数,由1~5的数字组成的数组作为参数 ...
- Android 图片上传
上传方式:两种 1:Base64() (1):获取图片路径,将图片转为String 类型 (2):通过post提交的方式.以键值对的方式上传到服务器,和一般的提交关键字没有任何区别. (3):这种 ...
- sqlalchemy 实体属性提前加载
在flask里需要给视图传送数据,肯定需要把模型的实体属性提前加载,可以使用 sqlalchemy.orm.subqueryload 或 sqlalchemy.orm.joinedload 示例: @ ...