【linux tcpdump 抓包】linux下抓包工具tcpdump用法分享

更新时间:2020-01-11    来源:php安装    手机版     字体:

【www.bbyears.com--php安装】


第一步 取得源程序 在源程序的安装方式中,我们首先要取得tcpdump的源程序分发包,这种分发包有两种形式,一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种形式的内容都是一样的,不同的仅仅是压缩的方式.tar的压缩包可以使用如下命令解开:
#tar xvfz tcpdump-3_4a5.tar.Z

rpm的包可以使用如下命令安装:

#rpm -ivh tcpdump-3_4a5.src.rpm

这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下.

 
第二步 做好编译源程序前的准备活动
在编译源程序之前,最好已经确定库文件libpcap已经安装完毕,这个库文件是tcpdump软件所需的库文件。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。 在tcpdump的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST 和 MANDEST 这两个宏定义,缺省值是
BINDEST = @sbindir@

MANDEST = @mandir@

第一个宏值表明安装tcpdump的二进制文件的路径名,第二个表明tcpdump的man 帮助页的路径名,你可以修改它们来满足系统的需求。
 

第三步 编译源程序

使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用.make 命令则根据Makefile文件中的规则编译tcpdump的源程序。使用make install命令安装编译好的tcpdump的二进制文件。
总结一下就是:

# tar xvfz tcpdump-3_4a5.tar.Z

# vi Makefile.in

# . /configure

# make

# make install

3 网络数据采集分析工具TcpDump的使用

 

抓包工具:tcpdump\ngrep\wireshark\tshark等,以下为tcpdump为例

1、抓取回环网口的包:tcpdump -i lo

2、防止包截断:tcpdump -s0 可以抓完整的包

3、以数字显示主机及端口:tcpdump -n

4、常用命令:tcpdump -s0 -i eth0 udp -w /tmp/test.pcap

抓包实例:

1、抓取包含192.168.200.122的数据包

# tcpdump -i eth0 -vnn host 192.168.200.122

2、抓取包含192.168.200.0/24网段的数据包

# tcpdump -i eth0 -vnn net 192.168.200.0/24

3、抓取包含端口22的数据包

# tcpdump -i eth0 -vnn port 22

4、抓取udp协议的数据包

# tcpdump -i eth0 -vnn  udp

5、抓取icmp协议的数据包

# tcpdump -i eth0 -vnn icmp

6、抓取arp协议的数据包

# tcpdump -i eth0 -vnn arp

7、抓取ip协议的数据包

# tcpdump -i eth0 -vnn ip

8、抓取源ip是192.168.200.122数据包。

# tcpdump -i eth0 -vnn src host 192.168.200.122

9、抓取目的ip是192.168.200.122数据包

# tcpdump -i eth0 -vnn dst host 192.168.200.122

10、抓取源端口是22的数据包

# tcpdump -i eth0 -vnn src port 22

11、抓取源ip是192.168.200.253且目的ip是22的数据包

# tcpdump -i eth0 -vnn src host 192.168.200.253 and dst port 22

12、抓取源ip是192.168.200.122或者包含端口是22的数据包

# tcpdump -i eth0 -vnn src host 192.168.200.122 or port 22

13、抓取源ip是192.168.200.122且端口不是22的数据包

[root@ ftp]# tcpdump -i eth0 -vnn src host 192.168.200.122 and not port 22

14、抓取源ip是192.168.200.2且目的端口是22,或源ip是192.168.200.65且目的端口是80的数据包。

# tcpdump -i eth0 -vnn \( src host 192.168.200.2 and dst port 22 \) or   \( src host 192.168.200.65 and dst port 80 \)

15、抓取源ip是192.168.200.59且目的端口是22,或源ip是192.168.200.68且目的端口是80的数据包。

# tcpdump -i  eth0 -vnn "src host 192.168.200.59 and dst port 22" or  " src host 192.168.200.68 and dst port 80 "

16、把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。

# tcpdump –i eth0 -vnn -w  /tmp/fil1 -c 100

17、从/tmp/fill记录中读取tcp协议的数据包

# tcpdump –i eth0 -vnn -r  /tmp/fil1 tcp

18、从/tmp/fill记录中读取包含192.168.200.58的数据包

# tcpdump –i eth0 -vnn -r  /tmp/fil1 host  192.168.200.58

本文来源:http://www.bbyears.com/jiaocheng/84420.html

热门标签

更多>>

本类排行