พีโอเอฟ
p0fเป็น เครื่องมือ สร้างลายนิ้วมือสแต็ก TCP/IP แบบพาสซีฟ ที่พัฒนาโดยMichał Zalewskiใช้เพื่อระบุลักษณะเฉพาะของโฮสต์ระยะไกลโดยการสังเกตการรับส่งข้อมูลเครือข่าย ที่มีอยู่ แทนที่จะส่งโพรบแบบแอคทีฟไปยังระบบเป้าหมาย[ 1 ]
ภาพรวม
p0f ทำงานโดยการตรวจสอบฟิลด์ใน แพ็กเก็ต IPและTCP ที่ถูกจับ สำหรับทราฟฟิก TCP/IP จะตรวจสอบข้อมูลต่างๆ เช่นTTL เริ่ม ต้นขนาดเซ็กเมนต์สูงสุดลำดับตัวเลือก TCP ขนาดหน้าต่าง และคุณสมบัติเฉพาะการใช้งานอื่นๆ ของแพ็กเก็ตเครือข่าย[ 1 ]ค่าเหล่านี้จะถูกเปรียบเทียบกับรายการในฐานข้อมูลลายนิ้วมือเพื่ออนุมานระบบปฏิบัติการหรือซอฟต์แวร์ที่น่าจะเป็นไปได้ที่สร้างทราฟฟิก[ 1 ]
เนื่องจาก p0f เป็นแบบพาสซีฟ จึงไม่ส่งโพรบตรวจสอบลายนิ้วมือไปยังโฮสต์ระยะไกล ซึ่งทำให้แตกต่างจากเครื่องมือสแกนแบบแอคทีฟ เช่นNmapซึ่งสามารถสร้างแพ็กเก็ตที่สร้างขึ้นเป็นพิเศษสำหรับการค้นหาโฮสต์และการตรวจจับระบบปฏิบัติการ[ 4 ] การตรวจ สอบลายนิ้วมือแบบพาสซีฟมีประโยชน์ในสภาพแวดล้อมที่การสร้างทราฟฟิกเพิ่มเติมไม่เป็นที่พึงประสงค์ ไม่น่าเชื่อถือ หรือมีแนวโน้มที่จะทำให้เกิดสัญญาณเตือน[ 1 ]
นอกจาก การระบุลายนิ้วมือ ของระบบปฏิบัติการแล้ว p0f ยังสามารถรายงานลักษณะเครือข่ายอื่นๆ ได้อีกด้วย เช่น ระยะทางโดยประมาณ เวลาทำงานของระบบ ประเภทลิงก์ และสัญญาณของNAT การปรับสมดุลโหลดหรือพร็อกซีระดับแอปพลิเคชัน[ 1 ]เวอร์ชัน 3 ยังรวมถึงการสนับสนุนการระบุลายนิ้วมือระดับแอปพลิเคชันสำหรับทราฟฟิกHTTP ด้วย [ 1 ]
ประวัติศาสตร์
p0f เวอร์ชันแรกได้รับการประกาศใน รายชื่อผู้รับจดหมาย Bugtraqในปี 2000 ในฐานะเครื่องมือสร้างลายนิ้วมือระบบปฏิบัติการแบบพาสซีฟ[ 5 ]เวอร์ชัน 3 เป็นการเขียนโค้ดใหม่ครั้งใหญ่ของโค้ดเบสก่อนหน้า และได้แนะนำการสร้างลายนิ้วมือ TCP ที่ได้รับการปรับปรุง การสนับสนุน IPv6การตรวจสอบการรับส่งข้อมูลแบบมีสถานะ โมดูลการสร้างลายนิ้วมือระดับแอปพลิเคชัน และ API ภายในที่ได้รับการออกแบบใหม่[ 1 ]
การใช้งาน
p0f มักจะทำงานจากบรรทัดคำสั่งมันสามารถฟังบนอินเทอร์เฟซเครือข่าย ที่ใช้งานอยู่ หรืออ่านแพ็กเก็ตจากไฟล์จับภาพpcap ที่บันทึกไว้ [ 1 ]โปรแกรมยังสามารถทำงานเป็นเดมอนและเขียนข้อสังเกตลงในไฟล์บันทึก หรือเปิดเผยข้อมูลผ่านซ็อกเก็ต API ในพื้นที่เพื่อให้โปรแกรมอื่นใช้งานได้[ 1 ]
ลายเซ็นที่ใช้โดย p0f จะถูกจัดเก็บไว้ในไฟล์ฐานข้อมูลลายนิ้วมือแบบข้อความธรรมดา ซึ่งโดยปกติจะตั้งชื่อว่าp0f.fp[ 1 ] ผู้ใช้สามารถจัดเตรียมไฟล์ลายนิ้วมือที่แตกต่างกันได้ในระหว่างการทำงานทำให้สามารถอัปเดตหรือแก้ไขลายเซ็นได้โดยไม่ต้องคอมไพล์โปรแกรมใหม่[ 1 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ