客户端抓包用Fiddler,服务端抓包用啥?
Posted 搜狗测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端抓包用Fiddler,服务端抓包用啥?相关的知识,希望对你有一定的参考价值。
最近在工作中遇到了一个棘手的问题:某个项目的请求需要发到加密服务器后,解密转发到一台服务器A,服务器A返回内容后,再加密返回给客户端,遇到的问题是,如何查看解密后的请求和从服务器A返回的内容呢?
一开始想到了用fiddler设置代理后,解密服务器上挂着fiddler的代理来实现,结果试了下,fiddler无法抓到nginx的proxy_pass的请求。问题原因:linux设置的代理是应用层的,而nginx走的代理是底层的。所以应用
层设置的代理无法对nginx生效。继续寻找别的方法。
Fiddler不行,想到了抓包行业
的老大wireshark。网上查了下,
wireshark确实可以远程抓linux
的请求。搜了下教程,开始配置。
1、需要安裝rpcapd,具体请参见:
http://wsunccake.pixnet.net/blog/post/110857051-rhel-7.1-%E5%AE%89%E8%A3%9D-rpcapd
安装完成后,可以通过netstat –anp | grep rpc查看进程的端口号,用来配置window端的wireshark远程连接。
2、需要安装nginx,具体方法自行搜狗一下。
4、连接成功后,会展示可以监听的网卡。
5、勾选需要隐藏的网卡后点击apply
关闭对话框后,点击start开始监听。(注:新增远程网卡监控在wireshark关闭后,不能保存,这是wireshark自己的bug。每次重新启动后,需要重新添加)
6、由于wireshark可以监听所有通过网卡的数据包,如果想
查看http的请求,可以在筛选器中输入“http”即可查看所有
http请求,wireshark的筛选器很强大,具体项筛选什么请求,请搜狗一下~
整体的服务器框架图如下:
7、附:一个具体抓手机pingback发送和返回包的实例。
b) 在解密墙服务器配置需要转发的域名srv.ios.shouji.sogou.com到10.134.79.158.(如果想要转发的域名已经配置过,则忽略此步)
c) 在wireshark筛选器中输入“http”,表示过滤http请求。
d) 操作手机触发具体的请求发送。
e) 选中要查看的pingback请求。
f) 如果想查看具体pingback的发送内容(header、body等信息)。点击展开下方的“hypertext transfer protocol”即可查看。
g) 如果想查看本条pingback发送到逻辑服务器后,逻辑服务器对应的返回请求,双击“response in frame:XXXXX”。
h) 这里的请求返回body数据只能显示一行,如果返回数据较多,一行显示不开时,需要右键需要查看的请求→follow TCP Stream来查看。
8、遇到的问题:
现在开始监听了。但是发现从监听服务器发送到真正逻辑服务器后,逻辑服务器一直返回502错误。
查了下nginx的错误log,发现一直报“no resolver defined to resolve xxx.xxx”,网上查了下,原来是没有指定dns服务器导致的。解决方法是在nginx.conf中http块添加resolverxxx.xxx.xxx.xxx;这样就可以指定dns服务器来解析转发请求了。
以上是关于客户端抓包用Fiddler,服务端抓包用啥?的主要内容,如果未能解决你的问题,请参考以下文章