前些日子,想要查看一个Release版本的HTTP请求,由于已经是发布版本,日志已然关闭,遂开始从HTTP代理的思路着手。
本文是偏于操作的总结,行文目的是快速解决诸如上面的问题,不是为了深入了解squidman。如需深入俩接,请参考文章尾部的进阶推荐内容。
Fiddler铩羽而归
首先尝试了鼎鼎有名的Fiddler,Fiddler是一款基于.NET的应用,天然运行在Windows系统上。但是想要安装到Mac上则需要安装.NET运行时,可是一旦启动Fiddler代理就无缘无故崩溃,最后不得不铩羽而归,另谋他路。
SquidMan
SquidMan是一款Mac上的图形化的squid代理服务器的安装管理工具。使用squid服务器软件可以帮助我们实现如下功能
- 缓存下载内容,减少网络带宽,加速网页浏览。
- 作为代理服务器,供其他设备使用。
这里我们用到的是其代理功能。
巧妇难为无米之炊,首先要做的就是安装squidman,从这里下载对应的版本并安装,然后进行启动即可。
客户端配置
以下操作的WIFI热点应该为Mac设备与客户端设备同时连接的热点,以确保在同一局域网中。 代理服务器的IP地址使用ifconfig
查看,端口默认为8087。 以Android设备为例
设置—>WLAN—>长按目标WIFI热点—>修改网络—>勾选显示高级选项—>修改代理为手动,填出代理服务器的地址和端口,保存即可。
查看日志
终端查看
个人喜欢使用终端查看,使用tail命令查看访问日志一目了然。
1
|
|
客户端查看
使用SquidMan客户端查看也是一种选择,选择Window—>Tools即可看到如下的界面
Access Log不会自动追加最新的请求日志,需要再次点击Access Log按钮才可以。
问题解决
无法访问网络 403
1 2 |
|
日志全部显示为TCP_DENIED/403,表明Squidman拒绝了来自客户端的请求
解决方法,在配置文件中找到如下代码
替换为http_access allow all
,即允许所有的HTTP访问,停止Squiman,然后重新启动,如果失败,再次点击重新启动即可。
无法查看GET参数
1
|
|
默认情况下,从日志中是无法看到GET查询参数的,因为在写入日志前,程序已经过滤掉了这些数据。通过在配置中加入strip_query_terms off
保存,重新启动,再次查看日志,就可以看到查询参数了。
1
|
|
进阶推荐
- Squid Config Examples
- Squid configuration References
- 鸟哥的Linux私房菜:服务器架设篇