Python nmap 스 캔 도구 작성

NMAP 는 서버 가 외부 에 노출 된 포트 정 보 를 신속하게 검색 할 수 있 는 오픈 소스 네트워크 탐지 와 보안 심사 도구 이다.안전 테스트 분야 에서 흔히 볼 수 있 는 도구 다.
오늘 우 리 는 python 의 시 뮬 레이 션 으로 간단 한 버 전의 포트 스 캔 도 구 를 실현 합 니 다.주로 socket 모듈 에 사용 되 며,socket 모듈 에 connect()와 connect 를 제공 합 니 다.ex()두 가지 방법,그 중 connectex()방법 은 반환 값 이 있 습 니 다.반환 값 은 int 형식의 숫자 입 니 다.연결 성공 여 부 를 표시 하고 0 은 연결 성공 이 며 다른 숫자 는 이상 을 표시 합 니 다.

def connect(self, address: Union[_Address, bytes]) -> None: ...
def connect_ex(self, address: Union[_Address, bytes]) -> int: ...
제 1 판:

def scan_tools_v1(self):
    host = input('      ip  :')
    port = int(input('         :'))

    sk = socket.socket()
    sk.settimeout(0.1)
    conn_result = sk.connect_ex((host, port))
    if conn_result == 0:
        print('   {} {}     '.format(host, port))
    else:
        print('   {} {}     '.format(host, port))
    sk.close()
실행 결과:
D:\Software\Python\Python39\python.exe D:/MyScripts/study_srripts/SockerTools/nmap_tools.py
서버 ip 주소 입력:8.129.162.225
스 캔 할 포트 를 입력 하 십시오:8080
서버 8.129.162.225 의 8080 포트 가 열 렸 습 니 다.
단점:
1.한 번 에 포트 하나만 스 캔 할 수 있 습 니 다.
2 판:(여러 인터페이스 스 캔 지원)

def scan_tools_v2(self):
    host = input('      ip  :')
    ports = input('           ,  0-65536:')
    port_start, port_end = ports.split('-')
    count = 0
    for port in range(int(port_start), int(port_end)+1):
        sk = socket.socket()
        sk.settimeout(0.1)
        conn_result = sk.connect_ex((host, port))
        if conn_result == 0:
            print('   {} {}     '.format(host, port))
            count += 1
        sk.close()
    if count == 0:
        print(f'   {host} {ports}      ')
출력 결 과 는 열 린 포트 정보 만 출력 합 니 다.입력 한 포트 범위 에 포트 가 하나 도 열 리 지 않 으 면 직접 출력 포트 가 열 리 지 않 습 니 다.
요약:
1.이상 은 간단 하고 쉬 운 버 전 일 뿐 입 니 다.서버 의 전체 포트 를 스 캔 하면 시간 이 오래 걸 리 고 그 다음 에 다 중 스 레 드 기술 로 최적화 하 는 것 을 고려 할 수 있 습 니 다.
2.코드 에서 이상 입력 을 검사 하지 않 으 면 최적화 할 수 있 습 니 다.
3.ip 는 문자열 형식 이 고 포트 는 int 형식 이 며 socket 대상 초기 화 는 순환 에 넣 고 시간 초과 설정 을 해 야 합 니 다.그렇지 않 으 면 기본 연결 이 오래 걸 려 서 결 과 를 되 돌려 줍 니 다.\
파 이 썬 이 nmap 스 캔 도 구 를 작성 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 nmap 스 캔 도구 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기