Supprimer DHCP.py
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
from scapy.all import Ether, IP, UDP, BOOTP, DHCP, sendp, sniff, RandMAC
|
||||
import random
|
||||
|
||||
# Configuration des paramètres DHCP
|
||||
DHCP_SERVER_IP = "192.168.1.1" # L'adresse IP du serveur DHCP
|
||||
DHCP_POOL_START = "192.168.1.100" # Début de la plage d'adresses
|
||||
DHCP_POOL_END = "192.168.1.200" # Fin de la plage d'adresses
|
||||
SUBNET_MASK = "255.255.255.0"
|
||||
LEASE_TIME = 86400 # Durée de location en secondes
|
||||
|
||||
allocated_ips = set() # Pour suivre les adresses IP attribuées
|
||||
|
||||
def generate_ip():
|
||||
# Générer une adresse IP dans la plage DHCP
|
||||
while True:
|
||||
ip = f"192.168.1.{random.randint(100, 200)}"
|
||||
if ip not in allocated_ips:
|
||||
allocated_ips.add(ip)
|
||||
return ip
|
||||
|
||||
def generate_dhcp_offer(pkt):
|
||||
if pkt.haslayer(DHCP) and pkt[DHCP].options[0][1] == 1: # Discover
|
||||
client_mac = pkt[Ether].src
|
||||
offered_ip = generate_ip()
|
||||
|
||||
# Construction de la réponse DHCP Offer
|
||||
dhcp_offer = (
|
||||
Ether(dst=client_mac, src=RandMAC()) /
|
||||
IP(src=DHCP_SERVER_IP, dst='255.255.255.255') /
|
||||
UDP(sport=67, dport=68) /
|
||||
BOOTP(op=2, yiaddr=offered_ip, siaddr=DHCP_SERVER_IP, chaddr=client_mac) /
|
||||
DHCP(options=[
|
||||
("message-type", "offer"),
|
||||
("server_id", DHCP_SERVER_IP),
|
||||
("lease_time", LEASE_TIME),
|
||||
("subnet_mask", SUBNET_MASK),
|
||||
("router", DHCP_SERVER_IP),
|
||||
("end")
|
||||
])
|
||||
)
|
||||
|
||||
sendp(dhcp_offer, iface='eth0', verbose=False) # Remplacez 'eth0' par votre interface
|
||||
|
||||
def start_dhcp_server():
|
||||
print("Démarrage du serveur DHCP...")
|
||||
sniff(filter="udp and (port 67 or port 68)", prn=generate_dhcp_offer, store=0)
|
||||
|
||||
if __name__ == "__main__":
|
||||
start_dhcp_server()
|
||||
Reference in New Issue
Block a user