Pythonの倫理的ハッキング - NETWORK_SCANNER(2)

辞書

  • リストに似ていますが、代わりにインデックスのキーを使用します。

LISTS

  • 値/要素のリスト、すべて1つの変数に格納することができます。

辞書のリストを使用してプログラムを改善します:

!は/ usr / binに/ envをPythonの

インポートscapy.all scapyのように

デフスキャン(IP):
    arp_request = scapy.ARP(pDstに= IP)
    放送 = scapy.Ether(DST = " FF:FF:FF:FF:FF: FF " 
    arp_request_broadcast =ブロードキャスト/ arp_request 
    answered_list = scapy.srp(arp_request_broadcast、タイムアウト= 1、冗長= 偽)[0] 

    clients_list = []
     のための要素answered_list:
        clients_dict = { " IP ":要素[1] .psrc、マック":要素[1 ] .hwsrc} 
        clients_list.append(clients_dict)
    戻りclients_list 

DEF print_result(results_list):
     印刷" IP \ T \ T \ TMACアドレスを\ n -------------- ---------------------------- " のために、クライアントでのresults_list:
         プリント(クライアント[ " IP " ] + " \ T \ T " +クライアント[ " MAC " ])
        
scan_result =スキャン(" 10.0.0.1/24 " 
print_result(scan_result)

結果:

 

Pythonコードを実行します。

!は/ usr / binに/のenv Pythonの

インポートscapyのようscapy.all
 インポートargparse 

デフget_arguments():
    パーサ = argparse.ArgumentParser()
    parser.add_argument(" -t "" --target "、DEST = " ターゲット"、ヘルプ= " ターゲットIP / IP範囲。" 
    オプション = parser.parse_args()
     の戻りオプション

デフスキャン(IP):
    arp_request = scapy.ARP(pDstに= IP)
    放送= scapy.Ether(DST = " FF:FF:FF:FF:FF:FF " 
    arp_request_broadcast =ブロードキャスト/ arp_request 
    answered_list = scapy.srp(arp_request_broadcast、タイムアウト= 1、冗長= 偽)[0] 

    clients_list = []
     のために要素answered_list:
        clients_dict = { " IP ":要素[1] .psrcは、" MAC ":要素[1 ] .hwsrc} 
        clients_list.append(clients_dict)を
    返すclients_list 

DEF :print_result(results_list)
     印刷IP \ T \ T \ TMACアドレス\ nは-------------------------------------- ---- " のために、クライアントでのresults_list:
         プリント(クライアント[ " IP " ] + " \ T \ T " +クライアント[ " マック" ])

オプション = get_arguments()
scan_result = スキャン(options.target)
print_result(scan_result )

 

 

おすすめ

転載: www.cnblogs.com/keepmoving1113/p/11366960.html