抓包介绍
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。
抓包功能:
1. 可以用来修改数据并发送到服务器,比如某些辅助 外挂的原理就是如此。
2. 模拟手动请求并配合一些编程语言比如python,易语言,C++等写出一个自动化小程序。
3. 获取一个App ,网站的Api并使用其提供的功能。
4. 获取一些客户端网络数据包。
5. 也用来检查网络安全。
抓包工具
常见抓包工具有Wireshark, Fiddler,tcpdump。
tcpdump介绍
tcpdump是linux系统中一个基于命令行的抓包工具,它可以对网络上的数据包进行截获的包分析。一般Linux/Unix系统中都默认安装。tcpdump通常运行是需要root用户权限。
如果不是用户权限会有下面错误提示
songguojundeMacBook-Pro:swoole songguojun$ tcpdump -v
tcpdump: ioctl(SIOCIFCREATE): Operation not permitted
改为root权限,就可以看到tcpdump的监控提示界面信息。
songguojundeMacBook-Pro:swoole songguojun$ sudo tcpdump Password: tcpdump: data link type PKTAP tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes 18:36:59.114704 IP 192.168.1.30.61197 > 36.152.66.95.https: Flags [.], ack 1719880593, win 4096, length 0 18:36:59.116124 IP 180.97.104.146.https > 192.168.1.30.61219: Flags [.], ack 976265719, win 1516, length 0 18:36:59.135087 IP 36.152.44.95.https > 192.168.1.30.61197: Flags [.], ack 1, win 1648, length 0 18:36:59.135090 IP 180.97.104.146.https > 192.168.1.30.61214: Flags [.], ack 933064335, win 1124, length 0 18:36:59.176335 IP6 songguojundemacbook-pro.local.51366 > fe80::1.domain: 19640+ PTR? 30.1.168.192.in-addr.arpa. (43)
tcpdump详细使用
tcpdump如果不加任何参数化默认只抓每个数据包的前68个字节。
看下tcpdump命令帮助
1. tcpdump -i en0 -s 0 -w a.acp
参数说明:
1)-i en0: 用 en0 接口进行抓包。
2) -s 0:表示包有多大,抓取的数据多大。
3)-w a.cap 表示将抓取的内容存取到 a.cap 文件中。
操作步骤
1) 先用tcpdump -i eth0 -s 0 -w a.acp 命令监听en0。如果tcpdump 抓包时候 提示 tcpdump: eth0: No such device exists这样的错误,用tcpdump -D查看可用的网卡。
2) 然后在另外一个终端输入 ping www.baidu.com
3) 接着使用在监听en0的终端ctrl + c来终止监听,在用tcpdump -r a.acp 查看抓包的内容。
-r 只是显示摘要信息,如果想要看详细信息可以使用 tcpdump -A -r a.acp 使用Ascll显示。
也可以使用 tcpdump -X -r a.acp 使用十六进制显示