AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 8090
Accepted
Anand Shah
Anand Shah
Asked: 2009-05-14 22:22:53 +0800 CST2009-05-14 22:22:53 +0800 CST 2009-05-14 22:22:53 +0800 CST

在 LAN 上查找嗅探器

  • 772

*nix 和 Windows 可以使用哪些工具或技术来帮助查找 LAN 上的其他人是否正在使用嗅探器?

话虽如此,并强烈考虑到有工具可以发现这种“现象”,不被嗅探的解决方法是什么?

local-area-network packet-sniffer
  • 9 9 个回答
  • 5454 Views

9 个回答

  • Voted
  1. Best Answer
    splattne
    2009-05-14T23:09:33+08:002009-05-14T23:09:33+08:00

    检测嗅探器非常困难,因为它们是被动工作的。一些嗅探器确实会产生少量流量,因此有一些技术可以检测它们。

    • 机器缓存 ARP(地址解析协议)。发送非广播 ARP,处于混杂模式的机器(使网卡通过所有流量的网卡)将缓存您的 ARP 地址。然后,使用我们的 IP 发送广播 ping 数据包,但 MAC 地址不同。只有从嗅探的 ARP 帧中具有我们正确 MAC 地址的机器才能响应我们的广播 ping 请求。所以,如果机器有响应,它一定是在嗅探。
    • 大多数嗅探器都会进行一些解析。在数据泛滥之前和期间发送大量数据并 ping 可疑机器。如果可疑机器的网卡处于混杂模式,它会解析数据并增加其负载。这样,响应 ping 需要一些额外的时间。这个小小的延迟可以用作机器是否在嗅探的指标。如果由于高流量而在网络上出现一些“正常”延迟,它可能会引发一些误报。
    • 以下方法已经过时且不再可靠:使用可疑机器的 IP 地址而不是其 MAC 地址发送 ping 请求。理想情况下,没有人会看到这个数据包,因为每个网卡都会拒绝 ping,因为它与其 MAC 地址不匹配。如果可疑机器正在嗅探,它将响应,因为它不会拒绝拒绝具有不同目标 MAC 地址的数据包。

    有一些工具可以实现这些技术,例如开源工具,如Neped和ARP Watch或用于 Windows 的AntiSniff,这是一种商业工具。

    如果您想防止嗅探,最好的方法是对任何网络活动(SSH、https 等)使用加密。通过这种方式,嗅探器可以读取流量,但数据对他们来说毫无意义。

    • 16
  2. nedm
    2009-05-14T22:31:14+08:002009-05-14T22:31:14+08:00

    数据包嗅探是一种被动活动,通常无法判断是否有人在嗅探您的网络。但是,为了让有线、交换 LAN 上的某人看到不只是发往或来自其 IP(或广播到网络/子网)的流量,他们需要访问复制所有流量的受监控/镜像端口,或在网关上安装“水龙头”。

    对嗅探的最佳防御是体面的端到端加密,以及对敏感硬件的物理控制。

    编辑:CPM、Neped 和 AntiSniff 现在已经过时了 10-15 年……想想 Linux 内核 <2.2 或 Windows NT4。如果有人可以使用水龙头或镜子,通常很难检测到。操纵 ARP 或 DNS 可能是最好的选择,但这远非确定无疑。

    • 14
  3. Gert M
    2009-05-14T22:38:45+08:002009-05-14T22:38:45+08:00

    (我相信)您可以嗅探交换 LAN 上所有流量的唯一方法是使用“中间人”攻击。你基本上是做 ARP 中毒,窃取每个人的数据包,然后读取它们并将它们发送到正确的计算机。

    可能有多种工具可以做到这一点,我只知道一个:

    Ettercap既可以执行 Mitm 攻击,也可以在其他人执行此操作时检测到一个。

    • 5
  4. Adam
    2009-05-15T08:11:38+08:002009-05-15T08:11:38+08:00

    社会工程是另一种方法。设置一个蜜罐 root/admin 帐户或其他一些诱人的目标,以明文方式广播其密码并查看您的日志。

    • 4
  5. Rym
    2009-06-12T08:07:42+08:002009-06-12T08:07:42+08:00

    有一种简单的方法可以检测大多数嗅探器。在网络上放置两个不在 DNS 中且不用于其他任何东西的盒子。让他们定期 ping 或以其他方式相互通信。

    现在,监视您的网络以查找任何 DNS 查找和/或针对其 IP 的 ARP 请求。默认情况下,许多嗅探器会查找他们找到的任何地址,因此在这些设备上的任何查找都将是一个可靠的警告。

    一个聪明的黑客可以关闭这些查找,但许多人不会想到,这肯定会减慢他的速度。

    现在,如果他足够聪明,不会启用 DNS 查找,并阻止这些设备的任何 ARP,那么您的任务就会困难得多。此时,您应该在网络始终被嗅探的理念下工作,并制定主动程序以防止在此假设下可能出现的任何漏洞。其中包括:

    1. 使用完全交换的网络
    2. 将交换机端口绑定到 MAC 地址
    3. 禁止在 NIC 上启用混杂模式(如果可能在您的环境中)
    4. 使用安全协议
    • 3
  6. gbarry
    2009-05-14T23:00:03+08:002009-05-14T23:00:03+08:00

    Wireshark 是监控网络流量的绝佳工具。它会查找名称以匹配 IP 地址,从 MAC 地址中查找制造商等。当然,您可以看到它执行这些查询,然后您就知道它正在运行。

    当然,你可以关闭这些东西然后不被检测到。还有其他旨在故意不被发现的程序。所以这只是在尝试回答这个问题时需要考虑的事情。

    • 2
  7. John McC
    2009-05-14T23:16:09+08:002009-05-14T23:16:09+08:00

    唯一可靠的方法是检查子网上的每个设备。

    有一些工具,例如nmap,但不能保证它们能正常工作,而且被动水龙头不会泄露它们的存在。

    最好的方法是假设您的网络或多或少是公开的并使用加密。以应用程序为基础 - SSH、HTTPS IMAPS 等,或通过 VPN 隧道传输所有流量

    • 2
  8. sclarson
    2009-05-15T05:44:57+08:002009-05-15T05:44:57+08:00

    在我的脑海中,我会看到为主机接收更多数据和/或发送的数据少于平均水平的接口切换 SNMP 接口数据。寻找任何一个标准偏差之外的任何东西,你可能会发现人们最有可能做他们不应该做的事情。

    它可能不仅仅是嗅探器,可能会找到狂热的 hulu/netflix 观察者。

    您的交换机/路由器也可能具有监视和捕捉试图毒化 arp 表的人的功能,这也是一个相当大的赠品。

    • 1
  9. hellimat
    2009-06-12T08:55:17+08:002009-06-12T08:55:17+08:00

    集线器(或真正的旧网络设置,如 Thinnet/Thicknet)始终通过网络传输所有数据。任何插入的人都会看到他们本地网段上的每个数据包。如果您将网卡设置为混杂模式(读取所有数据包,而不仅仅是直接发送给您的数据包)并运行数据包捕获程序,您可以看到发生的一切,嗅探密码等。

    交换机像老式网络桥一样运行——它们只将流量传输到一个端口,如果它是 a) 广播 b) 以该设备为目的地

    交换机维护一个缓存,指示哪些 MAC 地址在哪个端口上(有时会有集线器或交换机以菊花链形式连接到端口)。交换机不会将所有流量复制到所有端口。

    高端交换机(用于商业用途)可能具有特殊端口(跨度或管理),可配置为复制所有流量。IT 部门使用这些端口来监控流量(合法嗅探)。检测未经授权的嗅探应该很容易——去看看交换机,看看是否有任何东西插入该端口。

    • 1

相关问题

  • 我可以让我的私人 Windows 服务器通过前端(公共)服务器访问互联网吗?

  • 为 LAN 上的 20 台“普通”计算机供电需要多少电力?

  • 购买网络交换机需要注意什么?

  • 通过 VPN 使您的打印机可用的最佳方法是什么?

  • 10 Gb 网络:在光纤和双绞线之间做出决定

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve