问题描述
对于无线连接和有人窃取我的宽带带宽,这可能会导致更糟的事情,我感到非常偏执。
我的问题是,如何检测我的宽带带宽是否被盗?
我有一个Belkin SURF + N300无线路由器。
理想情况下,如果我会自动收到警报,那将很酷,但是,如果这不可能,那么手动处理就可以了。
最佳答案
我有三个主意给你。它们都有各自的复杂性,您可以根据需要混合和匹配。第一个可能是最简单但最不可靠的(就其本身而言)。
1.被动MAC检测
标准方法是跟踪从路由器请求DHCP地址的MAC地址。大多数路由器都提供”Attached Devices”样式的屏幕,告诉您正在连接的人。
这不是自动的,但是您可以(相当容易)编写一些Bash /Python脚本,以拉下路由器页面,解析出MAC地址,并根据已知/允许的MAC地址列表进行检查。
这里的问题是没有什么是即时的。您依靠路由器更新其页面,并且必须经常轮询该页面。有些路由器不喜欢这样。我有一台笨拙的Edimax路由器,如果您在一分钟内加载10页以上(可悲!),该路由器将崩溃,因此这可能无法正常工作。
MAC地址也是可悲的。例如,macchanger
将使您可以通过一条命令来欺骗您的MAC地址。我认为甚至Network Manager都可以让您做到这一点。如果不想被检测到,他们将监视网络流量并欺骗有效的(已知)设备之一。
2.主动嗅探
这是我们撕开轮子并挖掘的地方。您将需要一个备用无线something-or-other,该位置可以拦截去往/来自路由器的流量(理想情况是非常接近路由器)。
简而言之,您连接了airodump-ng
,然后看到有人连接到您的网络。应该可以对此输出进行脚本编写,以便当新设备出现并开始使用您的网络时,您可以立即执行某项操作。
想法是您在启动时(以root用户身份)运行此命令:
airmon-ng start wlan0
airodump-ng --bssid 00:1F:9F:14:6F:EB -w output --output-format csv mon0
将BSSID替换为您的接入点。
这将写入一个auto-incrementing文件,该文件可以定期进行解析。上面的版本编写了一个逗号分隔的值文件,该文件非常基本,但是如果您对XML满意(Python可以使它非常简单),则可能需要查看airodump的netxml
输出格式。
无论哪种方式,这都会为您提供有关哪些设备正在使用网络(以及它们也发送多少流量)的常规信息。它仍然和使用路由器的ARP表一样容易出错,但是它是实时的。
在混杂模式下,如果脚本确实选择了它认为不应该在网络上的客户端,则可以使用tcpdump
来拖网数据包并记录感兴趣的交换(HTTP请求等)。这是更多的编程,但是可以完成。
3.使用nmap
进行指纹识别
另一种方法是使用nmap
为客户端扫描网络。通常,您可能会认为,这不会对您有太大帮助,如果有人阻止ping,它可能不会显示出来。
我建议您将此方法与其他两种方法结合使用。 1
将为您提供IP地址,以便您可以直接进行映射。 2
不会为您提供IP,但是它将让您知道nmap
应该在那个确切的时间找到多少个客户端。确保所有设备均可ping通。
当nmap
运行时(例如sudo nmap -O 192.168.1.1/24
),它将尝试查找主机,然后对它们执行port-scan来确定它们是什么。您的check-list应该包括每个设备应如何响应nmap
。
如果您想更进一步,则可以在每台计算机上运行一个简单的服务器。只是接受连接然后将其删除的对象。简而言之:nmap
需要寻找的东西。如果发现打开,则可能是您的计算机。
4.更好地保护您的网络
如果您担心,实际上应该首先执行此操作。使用WPA2 /AES。切勿使用WEP(约五分钟的破裂时间)。
如果您仍然担心有人会发现密钥(WPA2需要大量数据和计算时间来破解),请使用RADIUS模型。这是一个身份验证框架,可为每个用户设置一个one-time密钥。虽然要建立PITA。
但是该怎么办..?
如果我对事情不满意,我可能会手动观看airodump。如果我仍然不开心,我将开始对所见事物进行指纹识别。但是,编写脚本有些困难(绝不是不可能)。
最容易编写脚本的是带有nmap
指纹的router-scraping。简短而简单。
次佳答案
我的建议是Oli的1。
如果您的”attacker”无需欺骗其Mac地址即可获得访问权限,那么他会假设您无法监视您的MAC地址。
如有必要,将您自己的dhcpd与事件一起使用以触发电子邮件。
我将不得不做一些研究,但是如果是我,我会在连接到路由器的Linux机器上运行自己的dhcpd(或使用openwrt),然后如果macaddress请求一个地址,则通过电子邮件将其发送给我什么不在白名单上。
编辑:http://linux.die.net/man/5/dhcpd.conf具有完成此操作所需的所有资源。只需创建一个事件以执行将检查白名单的脚本即可,如果mac地址不在白名单中,请向其发送电子邮件。另请参阅http://ubuntuforums.org/showthread.php?t=1328967