파이썬 윤리적 해킹 - ARPSpoof_Detector

ARPSPOOF_DETECTOR

ARP 테이블에 게이트웨이 맥에 대한 값을보기

니스와 간단하지만 것 없는 도구가 공격을 실행하면 공격을 감지합니다.

분석 "입니다-에서" ARP 응답 :

IP 게이트웨이의 IP인지 확인합니다.

소스 맥 실제로 게이트웨이의 MAC 있는지 확인합니다.

공격 도구의 실행 전에 실행 된 경우에도이 방법은 공격을 감지합니다.

 

# !는 / usr / 빈 / ENV 파이썬 

수입 scapy
 에서 scapy.layers.l2의 수입 ARP
 에서 scapy.sendrecv의 수입 니프 


데프 냄새 (인터페이스) : 
    scapy.sendrecv.sniff (IFACE = 인터페이스, 저장 = 거짓, PRN = process_sniffed_packet) 


DEF process_sniffed_packet (패킷)
     의 경우 packet.haslayer (ARP)  패킷 [ARP] .op == 2 :
         인쇄 (packet.show ()) 


니프 ( " eth0를 " )

 

 

 

실제 공격을 감지하기 위해 파이썬 코드를 업데이트!

# !는 / usr / 빈 / ENV 파이썬 

수입 scapy
 에서 scapy.layers.l2의 수입 ARP, 에테르
 에서 scapy.sendrecv의 수입 냄새, SRP 


데프 get_mac (IP) : 
    arp_request = ARP (pdst = IP) 
    방송 = 에테르 (DST = " FF : FF : FF : FF : FF : FF ' ) 
    arp_request_broadcast = 브로드 캐스트 / arp_request 
    answered_list = SRP (arp_request_broadcast이 제한 = 1, 장황 = 거짓) [0] 

    복귀 answered_list [0] [1 ] .hwsrc의 


데프 니프 (인터페이스) :
    scapy.sendrecv.sniff (IFACE = 인터페이스, 저장 = 거짓, PRN = process_sniffed_packet) 


DEF process_sniffed_packet (패킷)
     시도 : 
        real_mac = get_mac (패킷 [ARP] .psrc) 
        response_mac = 패킷 [ARP] .hwsrc
         경우 ! = real_mac response_mac :
             인쇄 ( " [+] 당신은 공격을 받고있다! " )
     을 제외하고 IndexError :
         패스 


냄새 ( " eth0를 " )

 

추천

출처www.cnblogs.com/keepmoving1113/p/11601329.html