【问题标题】:How to count connections to a host over a given time period? TCP logs?如何计算给定时间段内与主机的连接? TCP 日志?
【发布时间】:2011-04-01 21:51:23
【问题描述】:

如果我这样做

 sudo netstat -tup | awk '{print $5}' | sort | uniq -c | sort -n

我可以获得一个列表并计算我与每个主机的连接数。但是我怎么知道我每分钟/每小时/每天连接到该主机的次数?是否有一个 TCP 日志,我可以通过 grep 来查看我如何以及何时连接到什么?

我猜没有这样的日志,因为它会在短时间内变得庞大。我将如何使用我想要的信息创建这样的日志?我不认为使用 netstat 会起作用,因为它只列出给定时间的连接。没有时间戳,我没有可靠的方法来计算连接数。

【问题讨论】:

  • 这是系统配置问题;投票迁移到 serverfault.com。
  • 我不知道那个网站。感谢您的信息。

标签: linux perl security bash logging


【解决方案1】:

IPTables 可用于记录连接。

http://linuxdynasty.org/59/how-to-log-in-iptables/

【讨论】:

    【解决方案2】:
    iptables -A OUTPUT -m state --state NEW -j LOG --log-prefix "New connection: "
    

    这将记录所有新的传出连接,而不仅仅是 TCP。如果只需要 TCP,请添加:

    -p tcp
    

    您可以 grep 'New connection:' out of syslog。

    【讨论】:

    • 谢谢,我还添加了 -d 标签以进一步缩小到我感兴趣的主机,然后我能够按分钟聚合连接,如下所示:awk '/New connection:/ {打印 $1, $2, substr($3,1,5)}' kern.log | uniq -c
    • 完成后如何撤消 iptables 命令?是iptables -D OUTPUT 1吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    相关资源
    最近更新 更多