예제 목적
scapy 라이브러리를 이용해서 네트워크에 ARP 패킷을 보내어 접속되어 있는 네트워크 장치를 검색하는 코드를 작성하였다.
코드 >>
import scapy.all as scapy
network_info = scapy.arping("192.168.0.0/16")
코드 설명>>
scapy 모듈을 import 한다.
scapy 에 있는 arping이라는 함수를 사용하여 IP 대역을 위처럼 입력하면 해당 구간에 자동으로 ARP 요청을 보내서 정보를 받는다. 그리고 만일 해당 아이피에 네트워크 장치가 있다면 자동으로 결과 값을 print 로 return 해 준다.
결과-에러발생>>
"WARNING: No libpcap provider available ! pcap won't be used"
"WARNING No route found (no default route?)"
"RuntimeError: Sniffing and sending packets is not available at layer 2: winpcap is not installed. You may use conf.L3socket orconf.L3socket6 to access layer 3"
"ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다"
해결 방법>>
위 에러 메세지와 같이 여러가지 에러메세지가 발생하였다.
첫번째로 한 방법은
pip install libpcap
로 libpcap을 설치하였다. 하지만 여전히 다른 에러 메세지가 발생하였다.
그래서 일일히 연결이나 캡쳐하는 drive 설치하는 것보다 wireshark 라는 network monitoring 툴을 설치해서 기본적인 캡쳐 설정을 한번에 해결 하였다. wireshark는 아래 링크에서 다운 받을 수 있다.
https://www.wireshark.org/download.html
그리고 재부팅 후 다시 실행하니 아래 결과 처럼 정상적으로 동작하였다. (결과 내용에 개인정보도 있어 일부 삭제하였다.)
결과>>
Begin emission:
Finished sending 65536 packets.
*
Received 1 packets, got 1 answers, remaining 65535 packets
70:5**********a:08 EFMNetwo 192.168.0.1
'파이썬(Python) > 화이트해킹,침투테스트(Hack,Penetration)' 카테고리의 다른 글
Python으로 wifi 주소 확인하고 비밀번호 입력하여 연결하기 (윈도우 환경) (0) | 2021.08.01 |
---|---|
Python으로 wifi 주소 확인하고 연결하기 (윈도우 환경) (0) | 2021.07.31 |
Python 에서 Nmap 설치 하고 네트워크 검색(port)해보기(설치시 에러 해결) (0) | 2021.07.23 |
(파이썬)subprocess, os.system, re.findall, re.search를 사용한 간단 예제 - wifi 비번찾기 (0) | 2021.06.08 |
컴퓨터에 저장된 와이파이(wifi)명과 비밀번호 확인하는 방법 - 윈도우(window) (0) | 2021.06.06 |