前两天公司的一台内网服务器上要做网络抓包,小试了下,花了近两小时才搞定,后面又学习了下tcpdump的常用指令,用nohup和while死循环写了个生成日志的shell脚本。因为中间部分问题搜了半天没搜到答案,所以考虑在这里记录一下,有需要的朋友可以看看,希望能帮到你。
0、首先,我用的都是解压安装,即下载gz包,丢到服务器上,然后用以下步骤(比如安装flex):
a) tar -zxvf flex-2.6.0.tar.gz -C ~/apps/
b) cd ~/apps/flex-2.6.4/
c) ./configure
d) make && make install
其它软件均如法炮制安装即可。
1、我们服务器是CentOS7,不同系统可能有差异,视具体情况而定;
2、检查有没有gcc,指令:gcc -v。如果提示说你的系统没有gcc的话,恭喜你,请到http://ftp.gnu.org/gnu/gcc/选择对应版本安装;
3、我是逆推装的,libpcap安装失败时它会告诉你你缺了什么东西,为了给读者少制造麻烦,建议您按顺序进行操作;
4、gcc正常的情况下,我们还需以下东西:lex与byacc或flex与bison的组合,二选一,我用的是后者(flex-2.6.0.tar.gz和bison-3.3.2.tar.gz),网上资源很多的,csdn上也有我上传的。
5、要安装tcpdump的话,libpcap是必须的,可以下载并上传一个gz的libpcap。我的是libpcap-1.5.3.tar.gz;
6、下载并上传tcpdump gz包,我的是tcpdump-4.5.1.tar.gz,解压安装。
总结:其实只要留心观察每一步骤的提示信息,安装过程会比较顺利。如果您再执行一条./configure或者make install 指令后明明都看到打印在控制台上的error了而不去做进一步的分析而盲目的继续下一步骤,那您将拥有一段非常烦闷崩溃的体验。建议是,一步步往下操作,留意报错信息,看不懂就百度一下,总会解决的。
另外附上我写的抓包日志小脚本,死循环的,请谨慎使用。
#! /bin/sh
while [ 1=1 ]
do
cd ~/tcpdump_log/
dir_date=`date +%Y%m%d`
dir_name=$dir_date
log_date=`date +%Y%m%d%H`
log_name="$log_date".log
mkdir -p $dir_name
cd $dir_name
tcpdump -i eth5 -c 10000 >> ~/tcpdump_log/$dir_name/$log_name
done