【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