栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python网络包拦截并修改response

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python网络包拦截并修改response

原文:https://blog.csdn.net/wang471003247/article/details/52632599

1.首先将站点指向本地 使用https://github.com/oldj/SwitchHosts

2.使用脚本

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler

HOST = "127.0.0.1"
PORT = 80

class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-Type", "text/html")
        self.end_headers()
        self.wfile.write("hello")

def run_server():
    server = HTTPServer((HOST, PORT), RequestHandler)
    server.serve_forever()

if __name__ == "__main__":
    # redirect www.x.x.x to 127.0.0.1 in hosts
    run_server()


原理:
修改host文件后访问原始网站变成了访问本地,因此本地需要一台服务器。工具1干的就是这个事情,用ApateDNS 修改的是全局的,没这个必要。
工具2做的就是充当服务器的事情。目前只处理了http的请求,当然也可以加上post等handler。果然python大法好,这个server模块也是自带的。

这种方式对于突破网络验证来说,在知道请求应该返回什么样的数据达到目的时,非常好用。

但是工具1太重了。其实完全可以通过python的方式修改host文件。等到测试结束之后,将host文件再copy过去,用管理员运行即可。有时间的话完善下吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/833861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号