管道tcpdump grep进入perl

时间:2012-02-02 19:21:50

标签: linux perl grep pipe

为了阻止持久的黑客,我开发了一个tcpdump命令,它将失败的身份验证加上前面的4行打印到控制台。因为有时候我必须睡觉,所以我想编写一个程序,在打印失败的登录时自动将IP添加到防火墙。

简化示例:

tcpdump [options] | grep [username] | perl -en [
    isolate username using regex;
    if username is the target username,
        examine previous lines looping until IP is detected;
    append properly formatted firewall command to firewall file;
    run firewall file]

我有tcpdump和grep工作。我对Perl有足够的了解,可以在脚本文件中对此进行编程,但命令行Perl让我难以理解。

1 个答案:

答案 0 :(得分:2)

对于您尝试执行的操作,我建议使用另一种路由,并安装denyhosts等服务,该服务可以检测重复失败的登录尝试,记录它们并自动阻止它们。

denyhosts可以从http://denyhosts.sourceforge.net获得 - 或者可能在存储库中可用于您的Linux风格。