您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页tcpdump连续抓包脚本(可以自动将dump分开存储)

tcpdump连续抓包脚本(可以自动将dump分开存储)

来源:宝玛科技网
tcpdump连续抓包脚本(可以⾃动将dump分开存储)

tcpdump是Linux下最常⽤的抓包⼯具了。不过往往抓着抓着就忘了时间,导致整个dump⽂件有⼏GB⼤,根本⽆法⽤软件分析。当然可以⽤⼯具分割dump⽂件,不过那⼜要耗⼀番功付。

tcpdump⾃带的-C参数是可以抓到⼀定数据包后停⽌抓包,不过怎么⽤怎么不顺⼿,于是⾃⼰写了个抓包脚本。Shell⽤的不熟,只能写个最简单的。原理是外⾯套⼀个循环,利⽤⾃带的-C参数,将⼀定数量数据包存成⼀个⽂件,然后给加个后缀_0 _1 ...看代码:#!/bin/bash

export TcpDump=tcpdumpexport SliPackeLen=68

export SliptCapPacket=500000

if [ $# -ne 2 ] && [ $# -ne 3 ]then

echo \"Usage: $0 \"else

for ((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⽂件夹下⽂件占⽤的⼤⼩。

点这⾥下载⽂章相关脚本:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务