我有一个路由器,通过它连接了 10 台 PC 来运行互联网,几乎所有 PC 都安装了 uTorrent。我想检测有多少台 PC 同时运行 uTorrent。
有什么方法或工具可以帮助我检测到这一点。
谢谢
答案1
路由器与 PC 的连接情况如何?
如果路由器允许您镜像单个链接,则
您可以通过 Snort 类过滤器运行这些数据包以检测 BitTorrent 签名。
如果您无法镜像端口,您仍然可以插入 3 端口集线器以“窃听”到 Snort 的流量。
匹配数据包的源 IP 地址将指示 BitTorrent 的一般使用情况(如果您知道它的 uTorrent,则说明匹配;但一般而言,我认为您想知道这些 PC 上是否正在使用任何 bittorrent 应用程序)。
这将是一次被动检查——您无需访问 PC,而这些 PC 用户也不知道您正在检查。
更进一步,如果您将 Snort 保持在内联状态(不在镜像路径上),您还可以阻止(大多数)BitTorrent 活动。
- 以下是最近关于使用 Snort 检测 BitTorrent(PDF文件)。
- 另一个 Wiki 参考O'Reilly Snort Cookbook 中的 BitTorrent 检测。
- 较旧的文章设置 Snort
- 思科/瞻博span-port(端口镜像)参考(您的平台可能不同)
一旦/如果您设置了这样的系统,您可以利用它进行许多其他安全检查
(只需阅读更多有关 Snort 的内容)。
答案2
我认为你不能做到这一点,至少不能通过网络流量分析来做到这一点。
大多数 BitTorrent 客户端允许设置随机端口并在交换数据时使用加密。
您唯一的希望是嗅探与跟踪器的数据交换。如果您很幸运,并且它被证明是常规的未加密 HTTP,您可能会根据此做出假设。
答案3
您可以使用全面的 nmap 扫描来确定哪些端口是打开的并且正在监听。如果主机正在监听高端口,则这些端口可能是 utorrent,请查看 utorrent 文档以了解它通常选择的端口,如果我没记错的话,它们大约在 40k-50k 左右。
例子:
扫描一台主机,即使它没有回复ping:
nmap -sS -P0 -p 1-65535 192.168.0.12
扫描所有回复ping的主机:
nmap -sS -p 1-65535 192.168.0.0/24
上述示例假设您的网络位于 192.168.0.0/24 子网中。如果您知道相关 PC 的 IP,请输入所有 IP,这将节省大量时间。请参阅nmap 的手册页以供进一步参考。
当您找到开放的端口时,我猜您可以通过以下方式验证 utorrent 是否确实在这些端口上运行:
telnet hostip openport
当然,这也假设机器正在运行,并且在扫描时 utorrent 正在运行,对于定期检查,您可以制作上述命令的批处理脚本,然后将其结果输出到文件中。
当我思考这个问题时,我确信还有更优雅的方法。例如,在路由器上运行 rflow,在计算机上运行 ntop。
答案4
除了在网络上嗅探数据包之外,您还可以在所有设备上启用 uTorrent 的 Web 界面。然后转到http://192.168.1.10:8080/gui其中 192.168.1.10 是您的计算机的 IP 地址,它将告诉您 Web 界面是否正在运行...如果正在运行,则 uTorrent 也在运行。