ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ARP를 이용한 host scan
    Programming/Python 2018. 6. 25. 19:35
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    from scapy.all import *
    import threading
    import os
     
    host_list = {}
    num = 0
    threadLock = threading.Lock()
    threads = []
     
    def printHosts(host_list):
        print('-------------------------- HOST LIST --------------------------')
        print('NUM         IP                               MAC')
        print('---------------------------------------------------------------')
        for num in host_list:
            ip, mac = host_list[num]
            print("%d           %s                      %s" % (num, ip, mac))
        print('---------------------------------------------------------------')
     
    def getHosts(ip):
        global host_list, num
        ans, unans = srp(Ether(dst='ff:ff:ff:ff:ff:ff'/ ARP(pdst=ip), timeout=5, retry=1)
        for s, r in ans:
            threadLock.acquire()
            num = num + 1
            host_list.update({num: (ip, r.sprintf('%Ether.src%'))})
            threadLock.release()
     
    def main():
        for i in range(1256):
                ip = "192.168.0.%d" % i
                th = threading.Thread(target=getHosts, args=(ip, ))
                th.start()
                threads.append(th)
     
        for t in threads:
            t.join()
     
        os.system('clear')
        printHosts(host_list)
     
    if __name__ == '__main__':
        main()
    cs




    왜 인지는 모르겠지만 가끔가다 여러 개의 호스트에서 응답이 안돌아오는 경우가 있다.ㅠ

    (와이어 샤크로 잡아봐도 마찬가지 ㅠㅠ)

    'Programming > Python' 카테고리의 다른 글

    cookie를 이용한 로그인  (0) 2018.07.18
    ARP Spoofing  (0) 2018.06.28
    ARP를 이용한 host scan  (0) 2018.06.25
    scapy 사용법  (0) 2018.06.20
    살아있는 호스트 IP 스캔하기  (0) 2018.02.13
    Dictionary Attack  (0) 2018.01.31

    댓글 0

~ ^ . ^ ~