Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux上监视和记录单个HTTP连接的工具?_Linux_Http - Fatal编程技术网

在Linux上监视和记录单个HTTP连接的工具?

在Linux上监视和记录单个HTTP连接的工具?,linux,http,Linux,Http,我们正在尝试调试一个服务器的问题,该服务器必须接收并响应大量持久HTTP连接 理想情况下,我们希望有一个工具可以(随机)选择一个HTTP连接,并记录进出该连接的所有流量,这样我们就可以看到发生了什么 不幸的是,我们没有能力限制必须响应的持久连接的数量(通常是数千个),因此我们确实需要一个工具来将其监视范围缩小到仅一个连接 有谁能推荐这样一个工具,并指导如何说服它去做我们需要的事情吗?Wireshark是一个非常好的开源工具。Wireshark是一个非常好的开源工具。如果直接使用Wireshark

我们正在尝试调试一个服务器的问题,该服务器必须接收并响应大量持久HTTP连接

理想情况下,我们希望有一个工具可以(随机)选择一个HTTP连接,并记录进出该连接的所有流量,这样我们就可以看到发生了什么

不幸的是,我们没有能力限制必须响应的持久连接的数量(通常是数千个),因此我们确实需要一个工具来将其监视范围缩小到仅一个连接


有谁能推荐这样一个工具,并指导如何说服它去做我们需要的事情吗?

Wireshark是一个非常好的开源工具。

Wireshark是一个非常好的开源工具。如果直接使用Wireshark不起作用,您可以在防火墙/路由器类型的框上摆弄路由,让受监控的连接通过不同的接口(在那里您可以使用wireshark或其他任何方式接入),而不是所有其他到服务器的连接。

如果直接使用wireshark不起作用,您可以在防火墙/路由器类型框上摆弄路由,让受监视的连接通过不同的接口(您可以使用wireshark或其他任何方式接入该接口),而不是服务器的所有其他连接。

数据包的实际捕获通常由
libpcap
完成。 在此基础上构建了不同的工具:

  • 首先是好的旧的
    tcpdump
    。它是一个文本工具,允许您指定感兴趣的数据包,并为每个匹配的数据包打印(默认)一行。事实上,你有很多选择该做什么。您还可以转储捕获文件中的所有流量

  • 还有
    wireshark
    (以前称为ethereal)。这是一个GUI,允许您像在tcpdump中一样捕获数据包,并且有很多方法来分析这些数据。它还可以读取和分析由tcpdump创建的捕获文件

  • 与wireshark一起出现的是
    tshark
    (以前称为tethereal),它几乎是wireshark的控制台版本

  • 如果您只对数据包中发送的数据感兴趣,请查看
    tcpflow

还有一些更高级的工具也可以用来攻击其他主机。 例如,
ettercap
,将列出所有当前连接,其中包括可向您显示通过该连接发送的数据


你的问题并不完全清楚,你到底想找出什么,但听起来像是
tcpflow
可能就是你想要的。

数据包的实际捕获通常由
libpcap
完成。 在此基础上构建了不同的工具:

  • 首先是好的旧的
    tcpdump
    。它是一个文本工具,允许您指定感兴趣的数据包,并为每个匹配的数据包打印(默认)一行。事实上,你有很多选择该做什么。您还可以转储捕获文件中的所有流量

  • 还有
    wireshark
    (以前称为ethereal)。这是一个GUI,允许您像在tcpdump中一样捕获数据包,并且有很多方法来分析这些数据。它还可以读取和分析由tcpdump创建的捕获文件

  • 与wireshark一起出现的是
    tshark
    (以前称为tethereal),它几乎是wireshark的控制台版本

  • 如果您只对数据包中发送的数据感兴趣,请查看
    tcpflow

还有一些更高级的工具也可以用来攻击其他主机。 例如,
ettercap
,将列出所有当前连接,其中包括可向您显示通过该连接发送的数据


你的问题并不完全清楚,你到底想找出什么,但听起来像是
tcpflow
可能是你想要的。

它能在无头服务器上运行吗?您确定它可以满足我们的需要(只需选择一个要监视的持久连接)?如果您不想在无头服务器上运行类似VNC(远程桌面)的东西,它确实需要GUI,使用tcpdump以及它提供的过滤规则将特定对话捕获到文件中,然后将cap文件加载到工作站上的Wireshark中以便于分析。问题是我事先不知道具体的对话,tcpdump需要识别它想要动态观察的对话(一切都发生得非常快,只需几秒钟就可以获得数千个并发HTTP连接:-/)如果需求是随机选择的,那么编写一个脚本来随机选择一个特定的HTTP连接并将其记录到文件中。或者在你想捕获的一天中选择一个窗口,然后查看这些连接。另一个选项是记录所有HTTP连接并在以后随机查看。它可以在无头服务器上运行吗?您确定它可以满足我们的需要(只需选择一个要监视的持久连接)?如果您不想在无头服务器上运行类似VNC(远程桌面)的东西,它确实需要GUI,使用tcpdump以及它提供的过滤规则将特定对话捕获到文件中,然后将cap文件加载到工作站上的Wireshark中以便于分析。问题是我事先不知道具体的对话,tcpdump需要识别它想要动态观察的对话(一切都发生得非常快,只需几秒钟就可以获得数千个并发HTTP连接:-/)如果需求是随机选择的,那么编写一个脚本来随机选择一个特定的HTTP连接并将其记录到文件中。或者在你想捕获的一天中选择一个窗口,然后查看这些窗口