首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python读取/解析Snort警报文件

使用Python读取/解析Snort警报文件
EN

Stack Overflow用户
提问于 2014-08-24 11:36:42
回答 2查看 3.1K关注 0票数 1

将文本文件(snort警报)的部分设置为单独的变量的最佳方法是什么?

例如:"Snort日志输出“

代码语言:javascript
复制
08/17-11:41:07.350700  [**] [1:1000011:0] [*] [Priority: 0] {TCP} 192.168.0.1:24586 -> 192.168.0.8:53804

我需要设置:

代码语言:javascript
复制
08/17-11:41:07.350700
192.168.0.1:24586
192.168.0.8:53804

来分离变量。

这并不重要,但我希望能够从同一个文件中读取/设置多个警报。

但首先我只想设置一个警报。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-24 11:45:30

解析字符串通常使用正则表达式。我建议阅读关于模块文档

但是,在您的示例中,您可以使用split() string方法进行处理:

代码语言:javascript
复制
>>> s='08/17-11:41:07.350700 [] [1:1000011:0] [] [Priority: 0] {TCP} 192.168.0.1:24586 -> 192.168.0.8:53804'
>>> rec = s.split()
>>> rec
['08/17-11:41:07.350700', '[]', '[1:1000011:0]', '[]', '[Priority:', '0]', '{TCP}', '192.168.0.1:24586', '->', '192.168.0.8:53804']
>>> ts = rec[0]
>>> src = rec[6]
>>> dst = rec[7]
票数 3
EN

Stack Overflow用户

发布于 2014-08-24 12:02:34

关于这个主题的变体。

代码语言:javascript
复制
#Python 2.7.3

snort = '08/17-11:41:07.350700 [**] [1:1000011:0] [*] [Priority: 0] {TCP} 192.168.0.1:24586 -> 192.168.0.8:53804'

(dt,x,x,x,x,x,x,ip1,x,ip2) = snort.split()

print (dt,ip1,ip2)
('08/17-11:41:07.350700', '192.168.0.1:24586', '192.168.0.8:53804')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25471294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档