触点数字孪生,揭秘它的独特魅力
1066
2022-10-21
Linux服务器端网络抓包和分析实战
欢迎访问我的GitHub
服务端抓包场景
关于本次实战的weatherservice应用
weatherservice是个基于springboot的java后台服务,详情请参考《springboot应用查询城市天气》;
抓包
ssh登录weatherservice应用所在的服务器,我这里是CentOS7; 执行以下命令,安装抓包工具tcpdump:
yum install -y tcpdump
执行命令ip addr查看网卡名,如下所示,我这里是ens33:
[root@localhost ~]# ip addr
1: lo:
执行以下命令即可开始抓ens33网卡的包,并保存到名为weatherservice.cap的文件:
tcpdump tcp -i ens33 -w ./weatherservice.cap
现在已经开始抓包了,我们打开浏览器发几次请求,以便能抓到weatherservice和wthrcdn.etouch.cn网站之间的请求响应,如下图,地址是:http://192.168.119.160:8080/get/%E4%B8%8A%E6%B5%B7
返回ssh窗口,按下ctrl+c,结束抓包; 抓包数据在文件weatherservice.cap中,将其下载到装有wireshar的windows机器上; 打开wireshark,在"文件"->"打开",选择weatherservice.cap,如下图:
双击上图中的25号包,弹出的窗口即为wthrcdn.etouch.cn网站响应数据的详情,如下图,红框中的Content-encoding: gzip\r\n表示该响应的body启用了gzip压缩:
有些朋友在使用springboot的RestTemplate访问wthrcdn.etouch.cn网站查询天气的时候,发现响应的数据打印出来为乱码,就是因为没有对gzip的内容做处理导致的,在本文中我们通过抓包发现了此问题的根本原因,而解决此问题的方法请参考《springboot应用查询城市天气》一文; 既然内容是gzip压缩过的,在上图的窗口中就无法看到压缩前的真实内容了,为了看到压缩前的真实内容,请参照下面的步骤; 关闭弹出窗口,回到wireshark的主窗口,在菜单上选择"文件"->"导出对象"->"HTTP...",如下图:
以上就是Linux抓包和wireshark分析包实战的全部内容,在您开发调试服务端远程调用时,希望此文能给您一些参考;
欢迎关注51CTO博客:程序员欣宸
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。