【发布时间】:2010-09-17 20:41:49
【问题描述】:
我刚刚了解了ngrep,这是一个很酷的程序,可让您轻松嗅探与特定字符串匹配的数据包。
唯一的问题是很难在输出的大块中看到匹配项。我想编写一个包装脚本来突出显示这些匹配项——它可以使用 ANSI 转义序列:
echo -e 'This is \e[31mRED\e[0m.'
我最熟悉 Perl,但我对 Python 或任何其他语言的解决方案非常满意。最简单的方法是这样的:
while (<STDIN>) {
s/$keyword/\e[31m$keyword\e[0m/g;
print;
}
但是,这不是一个好的解决方案,因为 ngrep 会在收到不匹配的数据包时打印出不带换行符的哈希标记,并且上面的代码将禁止打印这些哈希标记,直到脚本看到换行符为止。
有什么方法可以在不抑制主题标记的即时出现的情况下进行突出显示?
【问题讨论】:
标签: python perl unix networking