1
xchaoinfo 2020-11-15 11:59:55 +08:00 via Android 1
试试 mitmproxy 能否解决楼主的需求
|
2
0TSH60F7J2rVkg8t 2020-11-15 12:16:47 +08:00 via iPhone
如果是代理的话,改头就行了,但是那你得用技术(转发? dns ?),要把访问目的地设定在你的代理 ip 上。但遇到 https,你就没法看到 http 头了。直接修改 tcp 包,一样有 https 的问题,而且即使是 http,你改了 header 还得重新计算 tcp 的 checksum: http://www.tcpipguide.com/free/t_TCPChecksumCalculationandtheTCPPseudoHeader-2.htm
|
3
learningman OP @ahhui https 不需要改,这里指的是狭义的 http
检测到是 http 我就 redirect 到 nginx 去,应该就不用手动处理了吧 |
4
xuanbg 2020-11-15 12:49:38 +08:00
Nginx 就可以实现了吧
|
5
Jirajine 2020-11-15 12:55:50 +08:00 via Android
mitmproxy 已经支持透明模式,直接用就行了。
|
6
DoctorCat 2020-11-15 13:29:20 +08:00
位于 7 层代理服务端更改 ua 就行了。印象中 iptalbes 默认不支持对应用层的包做任何更改
|
7
muzuiget 2020-11-15 13:47:28 +08:00
这样还得先判断每个 TCP 链接是否 HTTP 链接,还要拆包,重新打包,兼容各种情况,麻烦得很。
无非就是想绕过校园网限制,何必纠结在 UA 上面呢,买个带公网的 VPS,把所有流量包装成 HTTP 协议内容穿出去就是,说不定简单的 CONNECT 式的代理就能绕过了。 |
8
zhangsanfeng2012 2020-11-15 14:06:05 +08:00 via Android
路由器起 http 代理服务器,代理服务器改 ua 不就行了
|
9
learningman OP @xuanbg
@zhangsanfeng2012 已经用 nginx 改了,现在的问题是有的 http 请求不使用 80 端口,比如说 QQ 就用 8080 端口,但是如果用 iptables 直接转发 8080 的话,会有一些非 http 的 tcp 包也被转发到 nginx,这个 nginx 处理不了 @muzuiget 国内的公网带宽价格离谱,国外的连接速度离谱 @Jirajine 它能够做到非 http 的 tcp 直接放行吗?我看他也是一个 http 代理服务器 |
10
Jirajine 2020-11-15 22:56:09 +08:00 via Android
@learningman 它只能处理 http/https,其他的流量当然是原样转发。
|
11
LGA1150 2020-11-16 14:21:23 +08:00 1
@learningman #9
nginx 前面再套个 sslh |
12
learningman OP @LGA1150 好东西,要的就是这个,谢谢
|