Stenographer

数据包捕获解决方案
授权协议 Apache
开发语言 C/C++ Google Go SHELL
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 不详
投 递 者 寇甫
操作系统 Linux
开源组织 Google
适用人群 未知
 软件概览

Stenographer 数据包捕获解决方案,快速的把所有数据包转移到硬盘中,可以简单快速的访问包子集。

Stenographer 缓冲数据包到硬盘,用于入侵检测和事件响应,提供高性能的 NIC-to-disk 数据包写入;提供快速读取数据包的方法。

Stenographer 主要用来:

  • 把数据包快速写入硬盘

  • 存储尽可能多的历史记录

  • 读取分析需要的,硬盘上的非常小部分的数据包

不适用于:

  • 复杂的数据包处理(TCP流重组等)

  • 速度很快,因为它不这样做。即使我们对数据包进行了非常少的单遍处理,仅索引就处理〜1Gbps可能占用单个内核的> 75%。

  • 通过从磁盘读回数据来处理数据也不起作用:请参阅下一个要点。

  • 回读大量数据包(>写入数据包的1%)

  • 此处的关键概念是磁盘读取与磁盘写入竞争…用户可以以磁盘速度的90%进行写入,但这仅给用户10%的磁盘读取时间。此外,我们正在编写高度顺序的数据,哪些磁盘非常擅长快速处理,并且通常通过大量查找来回读稀疏数据,哪些磁盘的运行速度很慢。

查询语言

host 8.8.8.8          # Single IP address (hostnames not allowed)
net 1.0.0.0/8         # Network with CIDR
net 1.0.0.0 mask 255.255.255.0  # Network with mask
port 80               # Port number (UDP or TCP)
ip proto 6            # IP protocol number 6
icmp                  # equivalent to 'ip proto 1'
tcp                   # equivalent to 'ip proto 6'
udp                   # equivalent to 'ip proto 17'

# Stenographer-specific time additions:
before 2012-11-03T11:05:00      # Packets before a specific time (UTC)
after 2012-11-03T11:05:00-0700  # Packets after a specific time (with TZ)
before 45m ago        # Packets before a relative time
before 3h ago         # Packets after a relative time

Stenoread CLI

# Request all packets from IP 1.2.3.4 port 6543, then do extra filtering by
# TCP flag, which typical stenographer does not support.
$ stenoread 'host 1.2.3.4 and port 6543' 'tcp[tcpflags] & tcp-push != 0'

# Request packets on port 8765, disabling IP resolution (-n) and showing
# link-level headers (-e) when printing them out.
$ stenoread 'port 8765' -n -e

# Request packets for any IPs in the range 1.1.1.0-1.1.1.255, writing them
# out to a local PCAP file so they can be opened in Wireshark.
$ stenoread 'net 1.1.1.0/24' -w /tmp/output_for_wireshark.pcap
  • security单项服务的提取安装—抓包–stenographer 安装在CentOS-7 1.安装CentOS-7-x86_64-DVD-1810.iso 2.选择开发及生成工作站,全选 3.yum install -y epel-release 4.yum install golang 5.yum install git 6.go get github.com/google/stenograp

 相关资料
  • 问题内容: 我已经在寻找我的答案几个小时了,但无法解决。请帮忙。 我想要做的是在Android中使用VpnService来抓取网络数据包,例如应用程序tPacketCapture 我首先使用了Google的ToyVpn示例代码并对其进行了修改,所以我不将数据发送到服务器。但是,我不确定这是否正确。 我的configure方法在调用build()之前将wlan ip地址用于binder.addAdd

  • 本讲的范例程序所实现的功能和效果和上一讲的非常相似 (打开适配器并捕获数据包), 但本讲将用 pcap_next_ex() 函数代替上一讲的 pcap_loop()函数。 pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。 然而,处理回调有时候并不实用 -- 它会增加程序的复杂度,特别是在拥有多线程的C++程序中。 可以通过直接调用

  • 闭包本身是相当灵活的,可以实现所需功能来让闭包运行而不用类型标注(原文:Closures are inherently flexible and will do what the functionality requires to make the closure work without annotation)。这允许变量捕获灵活地适应使用 情况,有时是移动(moving)有时是借用(borro

  • 现在,我们已经知道如何获取适配器的信息了,那我们就开始一项更具意义的工作,打开适配器并捕获数据包。在这讲中,我们会编写一个程序,将每一个通过适配器的数据包打印出来。 打开设备的函数是 pcap_open()。下面是参数 snaplen, flags 和 to_ms 的解释说明 snaplen 制定要捕获数据包中的哪些部分。 在一些操作系统中 (比如 xBSD 和 Win32), 驱动可以被配置成只

  • 在维基百科中,背包的算法如下: 我在网上找到的所有例子的结构都是一样的<我无法理解的是,这段代码是如何考虑到最大值可能来自较小的背包这一事实的?E、 如果背包容量为8,那么最大值可能来自容量7(8-1)<我找不到任何逻辑来考虑最大值可能来自较小的背包。这是错误的想法吗?

  • 本文向大家介绍TinyMCE提交AjaxForm获取不到数据的解决方法,包括了TinyMCE提交AjaxForm获取不到数据的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了TinyMCE提交AjaxForm获取不到数据的解决方法。分享给大家供大家参考。具体分析如下: 在没有使用AjaxForm前,我做的一个小小的评论提交的Web form,评论内容使用了TinyMCE做文本编辑。