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
" มีหลายวิธีในการระบุช่วงที่อยู่ที่จะสแกน หากคุณไม่แน่ใจว่าจะเกิดอะไรขึ้น ให้รัน fi6s ด้วย --print-summary
เพื่อดูภาพรวมคร่าวๆ เกี่ยวกับการสแกน หรือ --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 ขั้นต่ำของตัวเอง ระบบปฏิบัติการจึงต้องได้รับการป้องกันไม่ให้พยายามพูดคุย TCP บนพอร์ตเดียวกันที่ fi6s ใช้อยู่ ไม่เช่นนั้นกระบวนการสแกนจะหยุดลง โดยทั่วไปจะส่งเฟรม RST ในกรณีนี้
ตามค่าเริ่มต้น fi6s จะขอให้ระบบปฏิบัติการจองพอร์ตชั่วคราวและใช้พอร์ตดังกล่าวตลอดระยะเวลาของการสแกน ใช้งานได้บน Linux เท่านั้น
หากวิธีนี้ใช้ไม่ได้ผลหรือคุณอยู่บนแพลตฟอร์มอื่น คุณจะต้องใช้พอร์ตต้นทางแบบคงที่และกำหนดค่าไฟร์วอลล์ของคุณให้ลดการรับส่งข้อมูลบนพอร์ตนี้ เช่น:
# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx
เนื่องจาก UDP ไม่มีการเชื่อมต่อ จึงไม่จำเป็นต้องป้องกันการรบกวน แม้ว่านี่ยังคงเป็นความคิดที่ดีที่จะป้องกันไม่ให้ระบบปฏิบัติการของคุณส่งการตอบสนองที่ไม่สามารถเข้าถึงได้ ICMPv6 ที่ไม่จำเป็น (fi6s ก็พยายามทำเช่นนี้ตามค่าเริ่มต้นเช่นกัน)