网络流量留存一样平常运用于网络流量剖析、网络性能优化和网络安全等领域。PCAP格式网络流量留存是比较成熟和常见形式,许多网络监控和数据剖析软件都支持PCAP格式,如tcpdump、Wireshark等。
+---------------------+| 文件头 (PCAP Header) ||---------------------|| 数据头 (Packet Header) ||---------------------|| 数据包 (Packet Data) ||---------------------|| 数据头 (Packet Header) ||---------------------|| 数据包 (Packet Data) ||---------------------|| ... |+---------------------+
PCAP格式是一种二进制格式的文件,须要利用支持16进制格式的工具进行打开查看。每个PCAP文件包含一个文件头和一个或多个数据包头和数据包。在PCAP文件中,数据包头和数据包是交替涌现的,每个数据包头后面紧随着对应的数据包。数据包头包含了对后面数据包的描述信息,而数据包则是实际的网络数据帧。PCAP详细魄式如下图所示:
以下是PCAP文件头中各个字段含义:

数据包头(Packet Header)字段:
Timestamp: 高位韶光戳,精确到秒Timestamp: 低位韶光戳,精确到微秒Caplen: 捕获数据帧长度Len: 实际数据帧长度数据包(Packet data)是链路层的数据帧,其长度是Packet Header中定义的Caplen值, 数据包实际内容是标准的网络协议格式,包括IP报文、TCP报文、UDP报文等。 以下是一个用16进制编辑器打开的PCAP文件示例:
上图中赤色框内是PCAP文件头,黄色框内是数据头,蓝色框内是一个数据帧。
以上便是对PCAP格式数据的简要先容。当然,网络流量的留存还有其他办法和格式, 例如cap、pcapng等,这里不再过多解释。流影系统集成了网络数据包留存功能, 采取的是PCAP干系捕获技能和存储格式。
流影之PCAP证据留存流影网络流量探针ly_probe,集成了PCAP数据包捕获和留存的功能。 该探针基于开源高性能探针nprobe的5.X版本进行了深度定制化开拓, 在实际测试和运用中都具有良好的采集吞吐性能,在高速流量场景下仍旧能保持比较低的丢包率。 流影并没有选择全流量留存,而是选择性的对可疑流量进行了捕获留存, 避免全流量留存的资源花费和性能大量丢失。
流影证据留存概要流影PCAP留存技能上是利用的是Libpcap库,C措辞实现。 流影探针加载了特色规则,采集流量的同时进行规则匹配, 对命中规则特色的单包进行捕获,记入缓存,每五分钟捕获的数据包汇聚为一个文件, 直接以Pcap格式进行留存,文件名记录了韶光戳,便于数据包查找。
特色规则放置在流量探针指定目录, 默认情形下为fp-pattern/ 目录, 包含以JSON格式书写的五类规则。
service.json -- 运用层协议与做事识别规则device.json -- 硬件设备识别规则os.json -- 操作系统识别规则midware.json -- 软件平台与中间件规则threat.json -- 非常流量识别规则
lyprobe启动时的参数-K指定PCAP的存储路径,默认存储路径配置为/data/cap/3。如下图所示:
留存的PCAP数据包文件如下图所示:
流影PCAP留存的运用
PCAP数据记录了原始网络流量完全信息,在流影中紧张用于追溯和剖析场景:
用于对包特色识别结果的验证与追溯作为威胁行为告警的直接证据流影供应了PCAP查询接口evidence;该接口以数据包微秒级韶光戳为key进行查询, 定位和解析数据包,获取数据包MAC、IP、PORT、协议、载荷、包十六进制源数据等信息。 该接口的相应数据如下所示:
# 要求示例evidence?time=1687074364968817&devid=3# 相应结果示例[ {"devid": 3,"time_sec": 1687074364,"time_usec": 968817,"caplen": 531,"pktlen": 531,"smac": "B0-4F-13-E7-43-2E","dmac": "00-26-88-32-FA-CB","sip": "10.10.1.87","sport": 62766,"dip": "10.10.10.21","dport": 21,"protocol": "TCP","payload": "GET /faq.php?action=grouppermission&gids[99]=%27&gids[100][0]=)%20and%20(select%201%20from%20(select%20count(),concat((select%20concat(user,0x3a,md5(1234),0x3a)%20from%20mysql.user%20limit%200,1),floor(rand(0)2))x%20from%20information_schema.tables%20group%20by%20x)a)%23 HTTP/1.1..Host: 10.10.10.21:21..User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15..Accept-Encoding: gzip....","pkthdr": "3cb68e6471c80e001302000013020000","packet": "00268832facbb04f13e7432e08004500020500004000400619740a0a01570a0a0a15f52e0015252a26790626eaf08018080ae9ce00000101080a7d09755b25614610474554202f6661712e7068703f616374696f6e3d67726f75707065726d697373696f6e26676964735b39395d3d25323726676964735b3130305d5b305d3d29253230616e642532302873656c6563742532303125323066726f6d2532302873656c656374253230636f756e74282a292c636f6e636174282873656c656374253230636f6e63617428757365722c307833612c6d64352831323334292c307833612925323066726f6d2532306d7973716c2e757365722532306c696d6974253230302c31292c666c6f6f722872616e642830292a3229297825323066726f6d253230696e666f726d6174696f6e5f736368656d612e7461626c657325323067726f75702532306279253230782961292532332020485454502f312e310d0a486f73743a2031302e31302e31302e32313a32310d0a557365722d4167656e743a204d6f7a696c6c612f352e3020284d6163696e746f73683b20496e74656c204d6163204f5320582031305f31345f3329204170706c655765624b69742f3630352e312e313520284b48544d4c2c206c696b65204765636b6f292056657273696f6e2f31322e302e33205361666172692f3630352e312e31350d0a4163636570742d456e636f64696e673a20677a69700d0a0d0a"}]
该接供词给的PCAP干系信息,被集成到前端界面之中, 用于证据展示,便于用户查看、剖析利用。 例如,从演示环境中查看个中一条包特色识别告警:
点击末了一列的告警事宜ID,进入告警详情页面,不才方的事宜特色列表中,点击列表第一列的展开按钮, 可以查看解析后的数据包信息, 如下图所示。 该事宜payload命中了jndi特色串,疑似为log4j漏洞利用攻击,可以结合其他告警或设备日志进一步确认。
值得一提的是,可以将用户通过其他方法留存PCAP数据导入流影进行剖析, 比如可以利用tcpreplay等流量回放工具,将PCAP数据打到流影探针监听的网卡接口, 这样就可以在流影界面看到对应的剖析结果。 开源版暂未在界面中供应该功能,商业版可以支持定制化开拓集成。
结语PCAP数据记录了完全网络通信信息,是网络行为剖析的最原始和直接的证据。 流影系统集成了网络流量PCAP留存功能,流影并没有选择全流量留存, 而是针对可疑网络行为流量进行了捕获留存,避免探针的大量资源花费和性能丢失。 流影的可视化界面中,对告警事宜的PCAP数据进行理解析展示, 便于用户从直接的数据证据中创造威胁,让用户更随意马虎看清和看懂网络通信中非常行为。
转自:https://abyssalfish-os.github.io/news/pcap/