Android通过tcpdump抓包

1. 手机要有root权限

2. 下载tcpdump

http://www.strazzere.com/android/tcpdump

3.上传tcpdump到手机

如果提示

则如下操作后重试

4.给予tcpdump 执行权限

5.连接到手机的控制端,获得root权限

6.切换到tcpdump 的所在目录

7.抓包

tcpdump 命令参数:

# "-i any": listen on any network interface
# "-p": disable promiscuous mode (doesn't work anyway)
# "-s 0": capture the entire packet
# "-w": write packets to a file (rather than printing to stdout)
... do whatever you want to capture, then ^C to stop it ...

8.从手机端下载文件到电脑

9.在电脑上用wireshark打开capture.pcap即可分析log.

如果需要执行包过滤,只抓取得某些类型的报文,可以参考下面的介绍。

Execute the following if you would like to watch packets go by rather than capturing them to a file (-n skips DNS lookups. -s 0 captures the entire packet rather than just the header):

Typical tcpdump options apply. For example, if you want to see HTTP traffic:

根据以上的信息,写一个bat去执行(tcpdump文件必须在当前目录里)。

开始tcpdump

下载tcpdump文件到电脑

问题:有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切换到root,这样在执行批处理会有问题,解决方法如下

因没有root权限导致的问题

参考链接


Android通过tcpdump抓包

WD MyCloud 4.0 deb 安装源

请注意,以下的服务仅仅针对WDMyCloud Gen1,也就是比较早期的型号,最新的Gen2已经把系统从Debian Wheezy切换到了Busybox,因此下面的源已经不适用了。

WDMyCloud Gen1与WDMyCloud Gen2的区别如下:

Gen1: Mindspeed Comcerto C2000 (2 core, 650MHz) 256 MB Ram Debian wheezy
Gen2: Marvell armada 370 (2core, 800MHz) 512MB Ram Busybox


最近由于 WD MyCloud 的固件升级到4.0 之后,新的程序是以 64K 内存对齐的方式运作的,这就导致使用 apt-get 安装的所有安装包都是不能正常运行的,安装后,执行的时候会直接提示 “Killed”,因此需要全新编译代码才能成功安装。有动手能力的,可以参考 How to successfully build packages for WD My Cloud from source 来自己编译。不过非常的折腾。

今天刚刚更新了一下 WD MyCloud 的固件到V04.01.03-421版本,发现他的apt的源列表更新了一下,变成了如下

试了一下,竟然可以安装,并且部分软件运行正常,比如 VIM,Git-Core,Subversion.但是对于 aria2,expect 等软件,建议还是用我提供的源安装,原因在于有些软件需要升级libc6,stdlibc++6等这几个库,而这几个库如果更新,基本上,系统就启动不了了!

对于想省事的人来说,可以设置我的服务器为deb 的更新服务器,里面的是我编译好的版本。

最近调整了更新服务器地址,同时,又增加了Jseeie 版本的编译,这样的话,会有最新的版本的软件,但是,使用的时候要慎重,新版本软件可能没有经过长时间的严格测试,不排除有BUG的可能,如果下载的某些包有问题,麻烦尽快邮件反馈

安装新版本的话,需要手工卸载旧版本,apt-get remove 一下即可。

安装不上软件,提示缺少依赖的,暂时注释掉 jessie 部分的源,原因在于新版本正在编译中,耗时较长,只能是编译完成就上传导致了某些模块缺失。

如下操作即可。

1.打开 WD MyCloud 的SSH 登陆功能。

2.在SHELL 里面执行如下命令

修改里面的内容如下

目前这个安装源中支持的软件可以在下面的软件列表中找到 ,后续我会根据需要编译其他的软件,并且上传的。如果有什么软件是需要的,可以邮件联系我

注意:本源目前支持HTTPS方式访问,(目前貌似HTTP会有被劫持的倾向,建议使用HTTPS方式访问(切换到HTTPS之前需要先安装apt-transport-https),切换到HTTPS之后出现问题,可以参考
"method driver /usr/lib/apt/methods/https could not be found" update error来解决):

3.执行更新

4.安装软件(以VIM 为例子)

5.目前已经编译完成的软件列表如下

wheezy

jessie

目前根据反馈,有人在使用本源的时候,存在如下的情况

base_download_att

也就是在安装任何应用的时候都提示:

这种情况发生的原因,目前初步定位为使用WDMyCloud自带的源执行过

不管成功失败,还是中途中断,可能会导致"/lib/arm-linux-gnueabihf"中的libc库被升级,从而出现下图所示的情况(左边是正常的WDMyCloud系统,右图是出现问题的WDMyCloud):

20160212140006

这个问题的目前有效的解决方法是,使用降级系统版本的方式重新刷机来还原系统:

downgrade_version

Ubuntu 12.04 Apache2 增加虚拟目录

Apache2 增加虚拟目录需要如下操作.

我们以建立一个 /deb 目录, 也就是可以通过 http://www.mobibrw.com/deb/来访问的目录为例子。

1.停止 Apache2 的服务,如果修改文件之前不停止服务,则服务重启的时候,有可能会写回以前的配置,导致我们的配置无效。

2.修改配置文件

在里面增加如下内容

如果允许用户可以通过网页来遍历目录下面的所有文件,则需要设置 Options ,把 Options None 修改为 Options Indexes

3.启动服务

建立自己的apt-get源

1.安装 dpkg-scanpackages

2.安装apache2

默认的网站内容是在/var/www目录下的,我们建立一个deb文件夹用来存放自己的deb包:

使用dpkg-scanpackages 来生成Packages.gz(存放所有包的信息,以便用户获取):

dpkg-scanpackages 第一个参数用来指定要扫描的目录(当前所在目录的相对路径),通过’|'管道使用gzip(-9c 对应最高质量的压缩)输出到Packages.gz包中。

3.在其他机子上添加源

添加一行:

由于当多个软件源都存在同一个包的时候,apt-get 只会从第一个软件源中下载,因此,如果自建的软件源中有跟其他软件源中冲突的包,则需要把我们自建的软件源增加到sources.list 的最前面。

执行: