从Wireshark监听的数据中提取需要的数据

最近,需要将wireshark监听的数据进行提取,分两步:首先,应该得出wireshark的数据包吧,在图形化界面中可以非常直观的将监听数据进行存储,但是这样需要手动操作非常麻烦,而且容易出错(随着处理数据包的数量增加,图形化可能吃不消,以前就遇见过),在linux下,采用了tshark命令,tshark就是wireshark图形界面命令行化,命令如下:

sudo tshark -f "udp port 1243"  -i eth0 (-w)> /tmp/capture.cap

对上面的命令进行解释:"udp port 1243",双引号内的东西就是对需要监听的内容进行一个筛选,也就是端口号为1243的udp数据包,-i后面就是需要监听的接口,接口后面的(-w)和(>)两个选项,表示需要存储文件的格式,-w存储的可能是二进制文件,例如,使用-w的话,那么这行命令执行以后capture.cap就是二进制的文件,那么使用>以后,则保存的文本文件,当然,现在需要的是纯文本文件,最后则是文件需要保存的路径以及名称。

第一步完成以后,则需要从数据中提取出来需要的数据,比如时间,源、目的地址等有用信息,我们采用如下命令:

sudo cat /tmp/capture.cap | awk'{print $1"\t" $2"\t" $3}' > /tmp/capture.txt 

此时cat的任务就是将需要被提取的文件展现出来,通过管道,将输出内容作为awk命令的输入,awk是一个非常好的数据处理工具。具体见鸟哥的私房菜基础篇363页!,同样的输出为纯文本格式文件capture.txt,完成了上述的工作,我想放入同一个脚本就能非常轻松的调用而且不用出错,将上述两行命令输入一个脚本中,但是我发现无法出来capture.txt文件,后来发现自己SB了,脚本是一行一行执行,第一行是一直执行的,根本执行不到第二行来,后来在第一行后面加上&,让其进行后台运行,capture.txt,倒是可以出来但是内容为空白,因为该文件仅仅在上面文件创建了就开始抓取自己的内容,当然什么也没有。

后来我想,我要的只是最后经过调整的数据,不需要中间数据啊,为什么不直接一条命令进行提取不就完了,于是将两个命令融合如下:

sudo tshark -f "udp port 1243" -i eth0 |awk '{print $1 "\t" $2 "\t" $3}' > /tmp/capture.txt 
时间: 2024-09-17 16:05:59

从Wireshark监听的数据中提取需要的数据的相关文章

android监听edittext-关于在Activity中监听 其它layout中的edittext

问题描述 关于在Activity中监听 其它layout中的edittext 在ActivityA中通过viewpage 加载了三个layout 然后直接在ActivityA中的oncreate方法中 初始化其它layout中的edittext 然后去edittext.addTextChangedListener 去监听的话会出空指针的错误 但是在加载的layout中加一个button 然后在这个点击方法中去初始化 然后edittext.addTextChangedListener就不会出错 有

调查:IT和企业难从大数据中提取战略价值

据思科互联世界技术报告(http://www.aliyun.com/zixun/aggregation/15069.html">Cisco Connected World Technology Report, CCWTR)称,IT专业人员和企业很难从大数据中提取战略价值.这篇报告调查了18个国家的1800名IT专业人员,以考察实施大数据项目的IT准备程度.挑战.技术差距和战略价值. 这篇报告披露,虽然大多数企业正在收集.存储和分析数据,但是,许多企业很难应对大数据的商业和IT挑战. 例如,

mfc串口数据解析-如何从串口接收一段16进制数据中 读取需要的数据

问题描述 如何从串口接收一段16进制数据中 读取需要的数据 串口接收到的16进制数据: 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a 53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a . . . 串口接收到的ASCII数据: ? k ? ? ? ? s ? ? k u ? ? ? k ? ? ? ? s ?

序列-怎样用sql语言在大型数据中查找查找指定数据的位置

问题描述 怎样用sql语言在大型数据中查找查找指定数据的位置 怎样用sql语言在大型数据中查找查找指定数据的位置 比如我有100万dna数据 从中查找指定ATCGA的序列的位子,用sql可以实现吗? 解决方案 可以实现,但是比较慢. 100万的DNA数据,你是怎么分批或者分组组织的呢?ATCGA只是一条记录的一个片段吗? 你可以用select * from dnaTable where val like '%ATCGA%'; 解决方案二: 可以,一般需要建索引 解决方案三: http://blo

Excel在大量数据中提取特定数据

自学考试考生成绩公布了,但上级下发到各报名点的是全地区所有考生的总成绩zcj.dbf,有80多万条记录,5万多名考生,而我们报名点参加考试的只有800多人,怎么从这"茫茫人海"中挑出我们考生的成绩呢? 情况分析 1.根据zcj.dbf中的字段不能区分各报名点. 2.我们报名点的考生准考证号并不连续,用附加条件的删除记录方法,不能完全准确地剔除其他报名点考生. 解决方案 1.先从<高等教育自学考试考务管理系统·报考系统>中导出考生信息,生成文件ks.dbf. 具体方法:启动F

监听-listview item中是有EditText改变时获取Postion?

问题描述 listview item中是有EditText改变时获取Postion? listview item中是有EditText, 怎么在监听每个EditText的时候获取这个EditText的Postion? 解决方案 getview时,可以给这个edittext的tag赋值postion,然后取出tag得到postion 解决方案二: 不是本地爸爸的话大把大把差不多你都能 解决方案三: 用ListView 不要重用ConvertView

item长按监听-Android ActionBar中Action按钮怎么设置长按监听?

问题描述 Android ActionBar中Action按钮怎么设置长按监听? 如题. 或者是滑动监听,只要是和单机区分开就好,不知哪位大神以前做过这个? 解决方案 如果有按下/抬起事件,而不是只有Click事件,就可以考虑自己实现长按的功能. 否则,就只能放弃:或者,自定义按键来实现类似的功能. 解决方案二: 如果有按下/抬起事件,而不是只有Click事件,就可以考虑自己实现长按的功能. 否则,就只能放弃:或者,自定义按键来实现类似的功能.

flex 监听事件-flex中的datefield组件中点击下拉选择日期改变时派发事件

问题描述 flex中的datefield组件中点击下拉选择日期改变时派发事件 如题,我需要在选择日期时监听change事件,执行脚本,但是为什么每次会执行两次脚本. 怎么可以控制只在选择日期之后派发,而在点击时不派发. /** 添加监听事件 / this.addEventListener(CalendarLayoutChangeEvent.CHANGE, selectedChange); /* 对象更改处理函数 */ protected function selectedChange(event

监听事件-android中如何按同一个按钮,变换不同的颜色

问题描述 android中如何按同一个按钮,变换不同的颜色 android中如何按同一个按钮,变换不同的颜色 现在我只懂将一个按钮设置监听,调用setbackgroudcolor方法变换一种颜色 如何设置分别按五次 变换 绿色 红色 黄色 紫色 黑色 五种颜色 解决方案 设置一个颜色数组,每点击变化一个就行了 解决方案二: public static int counts = 0; button1 = (Button)findViewById(R.id.button1); final int[]