gpt4 book ai didi

linux - Ubuntu中监控远程登录机器的流量(通过ssh本地端口转发)

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:10 25 4
gpt4 key购买 nike

我已经开始sshd在我的计算机(Ubuntu-12.10)中让其他PC(让pc2)通过本地端口转发连接到我的访客帐户。

现在我如何从我的电脑监控该 pc2 的流量,即他/她正在打开哪个网站或他/她正在下载哪些数据以及通过我的计算机的其他流量?

最佳答案

您无法“看到”来自 pc2 的流量,因为 ssh 对其进行了加密。但是,您将能够在使用任何隧道流量时看到其出站部分,因为这是由本地 sshd 生成的。

使用 lsof 命令,看看当 pc2 的用户通过 ssh 连接到您时会发生什么。 lsof -i TCP|grep pc2 会向您显示类似这样的内容:-

sshd      14466     root    3u  IPv4 327724762      0t0  TCP pc1:ssh->pc2:40781 (ESTABLISHED)
sshd 19170 pc2user 3u IPv4 327724762 0t0 TCP pc1:ssh->pc2:40781 (ESTABLISHED)

第一行代表 sshd 服务本身,第二行代表运行 pc2 用户连接的 sshd 部分(Ubuntu 默认情况下使用权限分离,希望现在其他人都使用权限分离)。

从此 View 中,您看不到任何端口转发,因为它尚未被使用。但我们可以使用 pc2user 的 ssh session 的进程 ID (PID),这里是 19170。现在我们可以再次使用 lsof 来查看该进程正在做什么。 lsof -p 19170 -a -i TCP

COMMAND   PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
sshd 19170 pc2user 3u IPv4 327724762 0t0 TCP pc1:ssh->pc2:40785 (ESTABLISHED)

这应该给你与上面第二行相同的输出;但是当用户开始使用他们声明的端口转发隧道时,您将看到它从这个PID形成......

COMMAND   PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
sshd 19170 pc2user 3u IPv4 327724762 0t0 TCP pc1:ssh->pc2:40785 (ESTABLISHED)
sshd 19170 pc2user 10u IPv4 327873368 0t0 TCP localhost:55678->google.com:http (ESTABLISHED)

一旦检测到第二个连接,您就可以通过指定连接的任一端开始为其收集网络流量:在这里,我们将使用 localhost 端:-

tcpdump -i lo src port 55678

既然您已经了解了通过 ssh 隧道传输的流量是如何可见的,您可能需要一种更自动的方法来捕获它。 iptables 允许我们使用所有者匹配工具来匹配来自特定用户的所有流量 - 请参阅 http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH

来自 pc2user ssh 连接的所有出站网络流量都将归 pc2user 所有 - 您可以使用 iptables 将所有这些记录在某处,或者决定允许/拒绝什么,或者执行其他操作,例如将所有 HTTP 流量推送到您设置的特定代理中。

您可能还需要查看 ps2user 的authorized_keys 文件,您可以在其中使用permitopen="host:port"语句控制允许用户首先请求的端口转发。 man sshd 会帮助你。

关于linux - Ubuntu中监控远程登录机器的流量(通过ssh本地端口转发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com