Saturday, December 29, 2018

포트스캐닝하는 C언어 소스코드

2018-12-11

C++ Source Code

Port Scanninng

[ 참고 ]
raw socket : sin/sinack/ack 과정을  

  1. 하나의 포트로 스캐닝

    • [portScanner] [IP] [LowPort] [HighPort]
    • [argv0]  [argv1] [argv2]    [argv3] = [argc4]
    • atoi = ascii to integrate




cmd창의 명령어인 [portScanner] [IP] [LowPort] [HighPort]
실행하기 위해 cmd창으로 옮겨서 진행



 [ Wireshark ]
1205 포트에서 불특정 포트로 SYN가 계속 나감





열린포트가 없으므로 LISTENING
열린 포트를 발견하여 연결하면 ESTABLISHED



열린 포트 발견

cf) C소스코드에서 포트번호에 변수를 줘서
printf될 때 포트번호와 열림/닫힘을 표현하면 확인이 더욱 편할듯


열린 포트번호 확인위해 Wireshark
1209-135 포트의 SYN/SYN,ACK/ACK

 2. 여러개의 포트로 스캐닝


  • 속도 향상
  • 하나의 스레드로 sin날리면 오래걸림
    • 프로세스안에 multi Thread 사용  많은 multi thread 있으면 과부화
    • process  만들어서 정리
  • multi Thread ;windows
  • LWP(light weight Process) ; linux
  • multi process
  • multi Thread main thread: main(), WinMain()
  • create Thread : 함수를 thread  만든다
  • 함수이름(c언어) = 함수의 포인터 = 함수의 시작 주소

(참고) 이상탐지: 행위기반 분석, 탐지 //평판기반 분석, 탐지


포트1개에 스레드1개씩 할당하도록


tcp_sock = socket (argv3)을 이용하여 설정


전체 소스코드






No comments:

Post a Comment

List

MobSF

MobSF는 오픈소스 모바일 앱 자동 보안 진단 프레임워크로 자동 분석 시스템 구축할 때 사용한다. 정정 및 동적 분석이 가능하며, Android, iOS, Windows에 대해 침투 테스트, 멀웨어 분석 및 보안 평가를 할 수 있다. 참고자료 필...