fi6s는 빠른 속도로 설계된 IPv6 포트 스캐너입니다. 이는 원시 패킷을 비동기적으로 전송하고 처리함으로써 달성됩니다. 디자인과 목표는 Masscan과 매우 유사하지만 아직 완전한 기능을 갖춘 것은 아닙니다.
fi6s를 구축하는 것은 최근 Linux 시스템(예: Ubuntu)에서 매우 쉽습니다.
# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release
스캐너 실행 파일은 ./fi6s
에서 준비됩니다.
fi6s는 Linux에서만 개발 및 테스트되었습니다. 다른 UNIX와 유사한 플랫폼에서는 작동 하지만 Windows에서는 실행될 것이라고 기대하지 마십시오.
사용법은 매우 쉽습니다. fi6s는 소스, 라우터 MAC 주소 및 소스 IP와 같은 더러운 기술 세부 정보를 자동 감지하려고 시도합니다.
# ./fi6s -p 80,8000-8100 --max-rate 170 2001:db8::/120
이 예에서는 다음을 수행합니다.
list
" 형식으로 표준 출력으로 출력합니다. 스캔할 주소 범위를 지정하는 더 다양한 방법이 있습니다. 무슨 일이 일어날지 확실하지 않은 경우 --print-summary
사용하여 fi6s를 실행하여 스캔에 대한 빠른 개요를 얻거나 --print-hosts
사용하여 모든 잠재적 IP를 인쇄합니다. .
더 많은 고급 기능을 보려면 fi6s --help
출력을 참조하세요.
새로운 연결이나 프로브 요청에 대한 응답으로 원격 호스트가 보내는 데이터를 "배너"라고 합니다. fi6s를 사용하면 이러한 항목을 쉽게 수집할 수 있습니다.
--banners
옵션을 전달하기만 하면 됩니다.
# ./fi6s -p 22 --banners 2001:db8::xx
명령줄에 --udp
플래그를 추가합니다.
# ./fi6s -p 53 --banners --udp 2001:db8::xx
TCP와 달리 fi6s의 프로빙을 위해 프로토콜이 지원되는 포트를 스캔하는 경우에만 유용한(또는 모든) 결과를 얻을 수 있습니다. 목록을 보려면 fi6s --list-protocols
사용하세요.
fi6s는 자체 최소 TCP/IP 스택을 제공하므로 운영 체제는 fi6s가 사용하는 동일한 포트에서 TCP와 통신하는 것을 방지해야 합니다. 그렇지 않으면 검색 프로세스가 중단됩니다. 이 경우 일반적으로 RST 프레임을 보냅니다.
기본적으로 fi6s는 임시 포트를 예약하고 스캔 기간 동안 이를 사용하도록 OS에 요청합니다. 이것은 Linux에서만 작동합니다.
이것이 작동하지 않거나 다른 플랫폼을 사용하는 경우 정적 소스 포트를 사용하고 이 포트에서 트래픽을 삭제하도록 방화벽을 구성해야 합니다. 예:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
UDP는 연결이 없기 때문에 간섭을 방지할 필요가 없습니다. 하지만 OS가 불필요한 ICMPv6 도달 불가 응답을 보내지 않도록 방지하는 것은 여전히 좋은 생각입니다(fi6s도 기본적으로 이를 시도합니다).