ฉันคิดว่าสิ่งที่คุณต้องการสำหรับการบันทึกทางนิติเวชดูลิงค์นี้: http://httpd.apache.org/docs/current/mod/mod_log_forensic.html
ข้อมูลโค้ด:
รูปแบบบันทึกทางนิติวิทยาศาสตร์:
คำขอแต่ละรายการจะถูกบันทึกสองครั้ง ครั้งแรกก่อนที่จะดำเนินการต่อไป (นั่นคือหลังจากได้รับส่วนหัว) รายการบันทึกที่สองจะถูกเขียนหลังจากการประมวลผลคำขอในเวลาเดียวกันที่เกิดการบันทึกปกติ
เพื่อระบุแต่ละคำขอจะมีการกำหนด ID คำขอที่ไม่ซ้ำกัน ID นิติวิทยาศาสตร์นี้สามารถข้ามได้ในบันทึกการถ่ายโอนปกติโดยใช้สตริงรูปแบบ% {forensic-id} n n หากคุณใช้ mod_unique_id ระบบจะใช้ ID ที่สร้างขึ้น
บรรทัดแรกจะบันทึก ID ทางนิติเวชบรรทัดคำขอและส่วนหัวที่ได้รับทั้งหมดคั่นด้วยอักขระไพพ์ (|) บรรทัดตัวอย่างมีลักษณะดังต่อไปนี้ (ทั้งหมดในหนึ่งบรรทัด):
+ yQtJf8CoAB4AAFNXBIEAAAAA | GET / manual/de/images/down.gif HTTP / 1.1 | โฮสต์: localhost% 3a8080 | ตัวแทนผู้ใช้: Mozilla / 5.0 (X11; U; Linux i686; en-US; rv% 3a1.6) / 20040216 Firefox / 0.8 | ยอมรับ: รูปภาพ / png, ฯลฯ ...
อักขระเครื่องหมายบวกที่จุดเริ่มต้นบ่งชี้ว่านี่เป็นบรรทัดบันทึกแรกของคำขอนี้ บรรทัดที่สองมีอักขระลบและ ID อีกครั้ง:
-yQtJf8CoAB4AAFNXBIEAAAAA
สคริปต์ check_forensic ใช้เป็นอาร์กิวเมนต์ชื่อของ logfile มันจะค้นหาคู่ +/- ID เหล่านั้นและบ่นว่าคำขอไม่เสร็จสมบูรณ์