\"elsefor ((iLoop=0; iLoop<$2; iLoop++)) do
echo \"\"
echo \"> Capture $1_$iLoop.dmp($SliptCapFile) in $(($iLoop+1))/$2 files\"
echo \"$TcpDump -i eth1 -s $SliPackeLen -c $SliptCapPacket -w $1_$iLoop.dmp $3\" $TcpDump -i eth1 -s $SliPackeLen -c $SliptCapPacket -w $1_$iLoop.dmp $3 donefi
echo \"\"
export SliPackeLen=68 定义只抓数据包头的68字节
export SliptCapPacket=500000 满50W数据包就新建⼀个⽂件
给脚本个名字叫 z-dump_68_50w.sh,以后就可以⽤:
./z-dump_68_50w.sh test 3 \"host 192.168.0.12 and not udp\"
来抓包了。蓝⾊的参数1是⽂件名,3是只⽣成3个分割后⽂件,这样抓到的就会以 test_0.dmp test_1.dmp test_2.dmp 存起来;另外需要注意的是过滤的参数部分,要⽤引号扩起来。
另外⼏个不同⽤途的脚本:抓HTTP的
DNS的
最后是个整理dump⽂件的脚本。每次抓到⼤量的⽂件,总不能就这么放在⽬录下吧,需要复制到另⼀个地⽅保存。不想每次都输⼀串命令,于是偷了点懒:#!/bin/bash#ls -l | grep dmpdu -sh *.dmp
echo \"\"
echo \"move *.dmp -> D: (/mnt/WinD/dump/)\"mv -i *.dmp /mnt/WinD/dump/echo \"OK.\"
echo \"-----------------------\"df -hl | grep WinD
du -sh /mnt/WinD/dump/
注意修改⽬录 /mnt/WinD/dump/,我是将Windows分区挂在了/mnt/WinD/,需要改成你⾃⼰的。后⾯的⼏个命令是显⽰该分区的⼤⼩以及dump⽂件夹下⽂件占⽤的⼤⼩。
点这⾥下载⽂章相关脚本: