ARPSPOOF_DETECTOR
ARPテーブルでゲートウェイMac用の値を見ます
ニースとシンプルですが、うではないツールを攻撃した後に実行された場合、攻撃を検出します。
分析「である-で」 ARP応答:
IPゲートウェイIPかどうか確認してください。
送信元MACは、実際にゲートウェイのMACであるかどうかをチェックします。
攻撃は、ツールの実行前に開始された場合でも、この方法では、攻撃を検出します。
#!は/ usr / binに/ envをPythonの インポートscapy から scapy.layers.l2の輸入ARP から scapy.sendrecvの輸入スニフ デフスニフ(インターフェース): scapy.sendrecv.sniff(ifaceの =インターフェース、店舗= Falseを、PRN = process_sniffed_packet) デフprocess_sniffed_packet(パケット): もし packet.haslayer(ARP)およびパケット[ARP] .OP == 2 : プリント(packet.show()) スニフ(" eth0の")
実際の攻撃を検出するためのPythonコードを更新します!
#!は/ usr / binに/ envをPythonの インポート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、冗長= False)が[0]に 戻り answered_list [0] [1 ] .hwsrc DEFスニフ(インターフェース) : scapy.sendrecv.sniff(IFACE =インターフェース、店舗= Falseを、PRN = process_sniffed_packet) デフprocess_sniffed_packet(パケット): 試してください: real_mac = get_mac(パケット[ARP] .psrc) response_mac = パケット[ARP] .hwsrc あれば!real_mac = response_mac : プリント(" [+]あなたが攻撃を受けている!! " ) を除いてはIndexError: パス・ スニフ(" eth0の")