tcpdump 的侵入性如何?

Fop*_*tin 6 linux networking tcpdump

我环顾四周寻找有关tcpdump内部结构的文档,但我什么也没找到。所以我的问题是tcpdump计算机上的侵入性如何。如何评估专用于流量分析的资源量(内存或 CPU)?

Ras*_*ayu 3

据我所知, tcpdump 消耗它的有点变量,具体取决于您的要求。

\n\n

要查看 tcpdump 进程消耗了多少资源,只需观看系统监视器(如top Top Manual )即可。

\n\n
\n

如果您的表达式定义的网络流量是高带宽,则 tcpdump 输出可能会相当大;特别是当您捕获超过默认 68 字节的数据包内容时。

\n\n

例如,捕获与大型文件传输或数百或数千个客户端正在使用的 Web 服务器相关的数据包将产生大量输出。如果将此输出写入 stdout,\n 您可能无法在终端中输入命令,\n 如果写入文件,则可能会耗尽主机\xe2\x80\x99s 磁盘空间。\n 在任何一种情况下 tcpdump 也可能消耗大量的CPU和内存资源。

\n\n

为了避免这些问题;

\n\n
    \n
  • 指定表达式时要非常小心,并尝试使它们尽可能具体。
  • \n
  • 不要在流量/负载较大时捕获\xe2\x80\x99。
  • \n
  • 如果您希望捕获整个数据包内容,请先进行测试捕获,仅捕获默认的68Bytes,然后判断
    系统是否能够应对完整的数据包内容捕获。
  • \n
  • 在写入磁盘时,请仔细监视文件的大小,并确保相关主机具有所需的可用磁盘资源,或使用 -c 参数来限制捕获的数据包数量。
  • \n
  • 切勿使用会捕获传入或传出远程 telnet/SSH/任何终端/shell 的流量的表达式。tcpdump 输出将生成到您的终端的流量,从而导致进一步的输出,从而导致更多的流量到达您的终端,等等,形成无限且可能有害的反馈循环。
  • \n
\n
\n\n

来源:Tcpdump - 基础知识

\n