最近,需要将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 

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

  1. sublime在混杂的log数据中提取你想要的内容

    前几天因为同事一个sql写的有问题,导致我这边处理mysql入库出现数据丢失,没什么办法啊,为了回复数据,只能去翻前两天的log了,但是怎么从十几个几十兆的文件中找到我们需要的数据然后提取出来呢,我的 ...

  2. 返回数据中提取数据的方法(JSON数据取其中某一个值的方法)

    返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...

  3. 如何实现从登录接口响应数据中提取JSESSIONID

    通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录.这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID, ...

  4. [MSSQL]找出一天数据中从第一条数据开始每累加1小时的数据

    用Sql Server找出一天数据中从第一条数据开始每累加1小时的数据 -- ============================================= -- Author: Alle ...

  5. ettercap+urlsnarf+driftnet+wireshark监听妹子上网

    搞事肯定得确认目标.所以我们得先确认一个目标 确认目标这种事情不多说.   1.开启IP转发 echo 1 > /proc/sys/net/ipv4/ip_forward 然后ettercap ...

  6. 如何从mysql备份中提取单张表数据

    1.先提取备份数据中的前50行出来,查看一下备份数据格式    head -50 bakdb.sql > head50.txt        类似下面的数据是我们所需要提取的:        / ...

  7. vue 监听父子组件传参,对象数据变化

    watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...

  8. vue时时监听input输入框中 输入内容 写法

    Vue input 监听 使用 v-on:input="change" 实现即可 App.vue <template> <div> <md-field ...

  9. mac 下使用wireshark监听网络上的数据

    分三个步骤:    1.wireshark安装        wireshark运行需要mac上安装X11,mac 10.8的系统上默认是没有X11的.先去http://xquartz.macosfo ...

随机推荐

  1. 封装jquery时用到的东西

    顺序都是瞎拍的,就是明显分割用 1.将函数封装成$(' ')这种形式 把函数名起成$ $(各种选择器) $(selector) 2.有时候jquery可以继续加点,返回自己本身的元素 创建个构造函数, ...

  2. ACM2 递归 n分成k份

    //将n 分成k份的 分法总数 #include "stdafx.h" #include"stdio.h" #include<iostream> u ...

  3. (11)odoo权限机制

    -----------------更新时间:10:21 2016-09-29 星期四14:31 2016-09-28 星期三 权限对象命名修改18:06 2016-09-18 星期日11:55 201 ...

  4. web基础之hibernate(一篇)

    hibernate的一些基本的认识 1.       hibenate是一个框架(framework) 2.       hibernate是一个orm框架 3.       orm(object r ...

  5. BZOJ2621 [Usaco2012 Mar]Cows in a Skyscraper

    首先比较容易想到是状态压缩DP 令$f[S]$表示选取了集合$S$以后,已经送了最少次数$cnt$且当前电梯剩下的体积$rest$最大(即$f[S]$是一个二元组$(cnt, rest)$) 于是$f ...

  6. RedHat 安装MySQL数据库【转】

      朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库. 一.软件准备 (1)jdk ...

  7. centos6.5 64位系统安装 tengine

          1 安装pcre 下载好pcre 上传到服务器 我用的版本是pcre-8.31.tar.gz tar -zxvf pcre-8.31.tar.gz cd pcre-8.31 ./confi ...

  8. java.io.FileOutputStream类的5个构造方法

    java.io.FileOutputStream的构造函数: ①FileOutputStream(File file) ②FileOutputStream(String name) ③FileOutp ...

  9. 和小猪一起搞微信公众号开发—获取Access_token

    前言 前一篇小猪和大家分享了如何回复用户的简单文本,这一篇我们来看看如何获取Access_token 介绍 在前一篇中,我们实现了这么一个简单的过程:用户发送一个文本到公众号后,公众号在该文本后面加上 ...

  10. RemoveDPC

    HOOKSSDT中加入了DPC之后 要取消DPC 首先找到DPCHookSSDT.sys的基地址和大小 通过枚举所有DPC的地址  将在范围之内的DPC定时器全部移除 枚举DPC: WinXP: 1. ...