Stenographer数据包捕获解决方案
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
评论