当前位置: 代码迷 >> 综合 >> yealink学习笔记20200402mount挂载、tcpdump、Android源码目录分享、iw编译
  详细解决方案

yealink学习笔记20200402mount挂载、tcpdump、Android源码目录分享、iw编译

热度:103   发布时间:2023-11-18 15:59:31.0

mount挂载命令

-V:显示程序版本;
-l:显示已加载的文件系统列表;
-h:显示帮助信息并退出;
-v:冗长模式,输出指令执行的详细信息;
-n:加载没有写入文件“/etc/mtab”中的文件系统;
-r:将文件系统加载为只读模式;
-a:加载文件“/etc/fstab”中描述的所有文件系统。

tcpdump命令

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

例:

tcpdump 普通情况直接启动tcpdump监视第一个网络接口上所有流过的数据包。

监视指定网口的数据包

tcpdump -i eth1 如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。

监视指定主机的数据包

tcpdump host sundown 打印所有进入或离开sundown的数据包.

tcpdump host 210.27.48.1 也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包

tcpdump host helios and \( hot or ace \) 打印helios 与 hot 或者与 ace 之间通信的数据包

tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信

tcpdump ip host ace and not helios 打印ace与任何其他主机之间通信的IP 数据包, 但不包括与helios之间的数据包

tcpdump ip host 210.27.48.1 and ! 210.27.48.2如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

tcpdump -i eth0 src host hostname截获主机hostname发送的所有数据

tcpdump -i eth0 dst host hostname监视所有送到主机hostname的数据包

监视指定主机和端口的数据包

tcpdump tcp port 23 and host 210.27.48.1 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

tcpdump udp port 123 对本机的udp 123 端口进行监视 123 为ntp的服务端口

监视指定网络的数据包

tcpdump net ucb-ether 打印本地主机与Berkeley网络上的主机之间的所有通信数据包(nt: ucb-ether, 此处可理解为'Berkeley网络'的网络地址,此表达式最原始的含义可表达为: 打印网络地址为ucb-ether的所有数据包)

tcpdump 'gateway snup and (port ftp or ftp-data)' 打印所有通过网关snup的ftp数据包(注意, 表达式被单引号括起来了, 这可以防止shell对其中的括号进行错误解析)

tcpdump ip and not net localnet 打印所有源地址或目标地址是本地主机的IP数据包

(如果本地网络通过网关连到了另一网络, 则另一网络并不能算作本地网络.(nt: 此句翻译曲折,需补充).localnet 实际使用时要真正替换成本地网络的名字)


Android工程源码目录分析

Android源码根目录 描述
art 全新的ART运行环境
bionic 系统C库
bootable 启动引导相关代码
build 存放系统编译规则及generic等基础开发包配置
compatibility 兼容各个版本的内容
cts Android兼容性测试套件标准
dalvik 虚拟机
developers 开发者目录
development 应用程序开发相关
device 设备相关配置
external 开源模组相关文件
frameworks 应用程序框架,Android系统核心部分,由Java和C++编写
hardware 主要是硬件抽象层的代码
kernel linux内核
libcore 核心库相关文件
libnativehelper 动态库,实现JNI库的基础
out 编译完成后代码输出在此目录
packages 应用程序包
pdk Plug Development Kit 的缩写,本地开发套件
platform_testing 平台测试
prebuilts x86和arm架构下预编译的一些资源
sdk sdk和模拟器
shortcut-fe 快捷方式
system 底层文件系统库、应用和组件
test 测试文件
toolchain 工具链文件
tools 工具文件
vendor 供应商文件

iw命令编译

要编译iw首先要编译libnl

编译libnl首先下载源码http://www.infradead.org/~tgr/libnl/files/libnl-1.1.tar.gz

我从官网上下载的源码编译不出来,但是这个可以编译

首先执行./configure 

然后执行make。应该没有错误能够编译出./lib/libnl.so.1

考虑交叉编译,比如编译到arm平台,修改Makefile.opts,
CC               := arm-linux-gcc
AR               := arm-linux-ar

ifeq ($(CC),arm-linux-gcc)
CFLAGS           += -Wall -ggdb
endif
 
然后再编译。就可以了。编译结束后记得进行安装ubuntu平台执行apt-get install libaio1 libaio-dev

然后在编译iw

首先下载iw源码https://mirrors.edge.kernel.org/pub/software/network/iw/这个下载最新的源码就可以

然后解压执行

添加环境变量,如果安装了libnl可以不执行

export PKG_CONFIG_PATH=/home/xy/work/lib/pkgconfig:$PKG_CONFIG_PATH  (就是libnl的安装路径下的 lib/)

make CC=arm-linux-gcc

编译完成后执行make install

安装iw

 

  相关解决方案