tcpdump常用的抓包命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcpdump常用的抓包命令相关的知识,希望对你有一定的参考价值。

参考技术A 做OTT-IP TV这一行的,遇到问题经常需要抓网络包,tcpdump就是一个很好用的工具。如果不会tcpdump出门都不好意思打招呼。

别看tcpdump有很多的选项,其实常用的也就那么几个,比如

tcpdump -i 网络接口 -s 网络数据包长度 -w 文件名

-i: 后面是网卡名。一般有eth0,eth1等网卡名,可以用ifconfig来查看你的设备上有哪些网卡名。

-s: 要抓取的网络包长度。我喜欢写0,这就表示抓取完整长度的网络包,一个也不落下。

-w: 表示要将抓取到的网络包写入一个文件,将来可以用wireshark这款网络包分析软件打开查看。

iphone手机上的抓包流程和原理概述

在ios应用开发过程中,为了进行端到端的分析,很多时候我们需要对手机的抓包进行分析。

对手机的抓包我们要在手机上安装抓包工具:tcpdump

前提:手机越狱;安装tcpdump    这样一部iphone就具备了抓包能力。

方法1:手机直接抓包(在手机上安装terminal用于输入命令)

不受网络条件制约,但由于是在终端上操作抓包,对ios设备来讲,MobileTerminal切至后台就不再工作,因此该抓包方法可行性较低,尽管如此,MobileTerminal对终端测试人员来说依然是一款很实用的工具;命令控推荐此方法。

方法2:通过pc/mac连接到手机(iPhoneTunnel软件,有mac和pc版本),通过在pc/mac下输入抓包命令,在手机上抓包。

pc下:用USB线缆连接终端与PC,确保手机终端正确,启动iPhoneTunnel,绿灯表示Tunnel Status正常,此时点击Launch Terminal按钮即可SSH进入终端,输入root密码,然后执行命令抓包

mac下:用USB线缆连接终端与mac,确保手机终端正确,启动iPhoneTunnel并开启后,点击tools->ssh(root) 菜单调出一个命令行界面,此时有可能报一个连接错误,输入ssh-keygen -R [127.0.0.1]:2222清除下里面的一个配置,即可正常连接。连接以后执行命令抓包,同pc。(tip:mac下终端输入密码时没有占位符,需要保证正确,注意)

WiFi下抓包tcpdump -i en0 -X -s0 -w data.pcap

2G/3G下抓包 tcpdump -i pdp_ip0 -X -s0 -w data.pcap tcpdump -X -s0 -w data.pcap  (两个都可以试下,我一般用前者)

抓包结束命令:ctl+c

敲此命令抓包的默认路径在var->root文件夹内。

总结:两个方法本质一样,都是利用tcpdump在手机上抓包,方法二通过ssh连接到手机去执行抓包命令(此时iphone充当一个server角色,pc/mac作为client连接到该server进行远程控制),因为抓到的包一般需要在pc/mac下用wireshark进行分析,所以pc/mac基本是必须的,推荐方法2。



以上是关于tcpdump常用的抓包命令的主要内容,如果未能解决你的问题,请参考以下文章

UNIX系统上的抓包工具tcpdump常用命令说明

关于在linux中使用tcpdump命令进行简单的抓包操作方法

windows和linux下的抓包工具

Tcpdump抓包工具

tcpdump命令

tcpdump命令