2013年9月16日星期一

tcpdump移植和使用

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
tcpdump移植和使用  阅读原文»

tcpdump移植和使用

tcpdump移植和使用

[摘要]:本文主要讲解了tcpdump相关概念和主要参数的使用,并通过事例来讲解tcpdump的用法,最后讲解如何将其移植到嵌入式开发环境,使其在嵌入式主控板中发挥其强大功能。

. tcpdump概念

tcpdump就是dump the traffic on a network,根据使用者的定义对网络上截获的数据包进行分析的工具。tcpdump可以将网络中传送的数据包的"头"完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供andornot等逻辑语句来帮助你去掉无用的信息。其下载地址为:http://www.tcpdump.org/

.tcpdump相关参数

tcpdump参数分为以下几类:

1.按照关于类型的关键字,主要包括hostnetport

2.确定传输方向的关键字,主要包含srcdstdst or src, dst and src。这些关键字指明了传输的方向。

3.关于协议的关键字,主要包括fddiiparptcpudp等类型。

除了这三种类型的关键字之外,其他重要的关键字如下:gatewaybroadcastlessgreater,还有三种逻辑运算,取非运算是'not''|',与运算是'and''&&',或运算是'or'' ||';这些关键字可以组合起来。

三实例

1.使用如下命令,默认启动。一般情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

#tcpdump

2.监视指定网络接口上的数据包

#tcpdump -i eth0

note:

1)使用-i可以指定tcpdump监听的网络接口。

2)使用-c参数指定要监听的数据包流量。

3)使用-w参数指定将监听到的数据写入文件中保存。

3.监视指定主机的数据包

1)打印所有进入或离开主机jibo的数据包

#tcpdump hostjibo

2)监听jibotiger或者与john之间通信的数据包

#tcpdump host jibo and \(tiger or john\)

3)监听主机210.27.48.1和主机210.27.48.2210.27.48.3的通信

#tcpdumphost 210.27.46.1 and \(210.27.48.2 or210.27.48.3\)

4)监听tiger与任何其他主机通信的IP数据包,但不包括与jibo之间的数据包

#tcpdump ip hosttiger and not jibo

5)监听主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip

#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

6)监听主机jibo发送的所有数据

#tcpdump -i eth0src host jibo

7)监听所有发送到主机jibo的数据包

#tcpdump -i eth0 dst host jibo

3.监听指定主机和端口的数据包

1)监听主机210.27.481.接收或发送出去的telnet包,

#tcpdump tcp port 23 host 210.27.48.1

2)监听本机udp 123端口进行监视123ftp的服务端口

#tcpdump udp port123

.tcpdump移植

1.编译安装libcap-1.4.0

1)解压并进入libcap-1.4.0目录,打开configure,将下面的代码注释掉

if test z "$with_pcap" && test "$cross_compile" =yes; then

{ { echo "$as_me:$LINENO:error: pcap type not determined when cross-compiling; use with-pcap = …" > &5

echo "$as_me: error:pcap type not determined when cross-compile:use with-pcap= …" > &2;}

fi

2)运行./configurehost =arm-none-linux-gnueabi

#./configure --host =arm-none-linux-gnueabi

注:此处嵌入式环境平台使用的时arm-none-linux-gnueabi交叉链,如果你使用的时其他的交叉编译链则改为自己的即可。

3)配置完成后,配置之后,会生成Makefile。打开Makefile发现CC=arm-none-gnueabi,说明交叉编译配置成功。

4)执行make命令进行编译

#make

5)执行makeinstall命令进行安装。执行成功后会在/usr/local/include目下有3pcap文件,表明libpcap编译安装?p>阅读更多内容

没有评论:

发表评论