Wireshark 4.0 เปิดตัวตัววิเคราะห์เครือข่าย

เปิดตัวสาขาเสถียรใหม่ของตัววิเคราะห์เครือข่าย Wireshark 4.0 ได้รับการเผยแพร่แล้ว ให้เราระลึกว่าโครงการนี้ได้รับการพัฒนาครั้งแรกภายใต้ชื่อ Ethereal แต่ในปี 2006 เนื่องจากความขัดแย้งกับเจ้าของเครื่องหมายการค้า Ethereal นักพัฒนาจึงถูกบังคับให้เปลี่ยนชื่อโครงการ Wireshark รหัสโครงการได้รับการเผยแพร่ภายใต้ใบอนุญาต GPLv2

นวัตกรรมที่สำคัญใน Wireshark 4.0.0:

  • เค้าโครงขององค์ประกอบในหน้าต่างหลักมีการเปลี่ยนแปลง แผงข้อมูลแพ็คเก็ตเพิ่มเติมและไบต์ของแพ็คเก็ตจะอยู่เคียงข้างกันด้านล่างแผงรายการแพ็คเกจ
  • การออกแบบกล่องโต้ตอบ "การสนทนา" และ "จุดสิ้นสุด" มีการเปลี่ยนแปลง
    • เพิ่มตัวเลือกให้กับเมนูบริบทเพื่อปรับขนาดคอลัมน์ทั้งหมดและคัดลอกรายการ
    • มีความสามารถในการเลิกปักหมุดและแนบแท็บ
    • เพิ่มการรองรับการส่งออกในรูปแบบ JSON
    • เมื่อใช้ตัวกรอง คอลัมน์จะแสดงความแตกต่างระหว่างแพ็กเก็ตที่ตรงกันและที่ไม่ได้กรอง
    • การเรียงลำดับข้อมูลประเภทต่างๆ มีการเปลี่ยนแปลง
    • ตัวระบุจะแนบไปกับสตรีม TCP และ UDP และมีความสามารถในการกรองตามตัวระบุเหล่านั้น
    • อนุญาตให้ซ่อนกล่องโต้ตอบจากเมนูบริบท
  • ปรับปรุงการนำเข้าไฟล์ hex จากอินเทอร์เฟซ Wireshark และการใช้คำสั่ง text2pcap
    • text2pcap ให้ความสามารถในการบันทึกดัมพ์ในทุกรูปแบบที่ไลบรารี wiretap รองรับ
    • ใน text2pcap นั้น pcapng จะถูกตั้งค่าเป็นรูปแบบเริ่มต้น คล้ายกับยูทิลิตี้ editcap, mergecap และ tshark
    • เพิ่มการรองรับสำหรับการเลือกประเภทการห่อหุ้มรูปแบบเอาต์พุต
    • เพิ่มตัวเลือกใหม่สำหรับการบันทึก
    • ให้ความสามารถในการบันทึกส่วนหัว IP, TCP, UDP และ SCTP จำลองในดัมพ์เมื่อใช้ Raw IP, Raw IPv4 และ Raw IPv6 encapsulation
    • เพิ่มการรองรับการสแกนไฟล์อินพุตโดยใช้นิพจน์ทั่วไป
    • รับประกันการทำงานของยูทิลิตี้ text2pcap และอินเทอร์เฟซ "นำเข้าจาก Hex Dump" ใน Wireshark
  • ประสิทธิภาพของการกำหนดตำแหน่งโดยใช้ฐานข้อมูล MaxMind ได้รับการปรับปรุงอย่างมีนัยสำคัญ
  • มีการเปลี่ยนแปลงไวยากรณ์ของกฎการกรองการรับส่งข้อมูล:
    • เพิ่มความสามารถในการเลือกเลเยอร์เฉพาะของโปรโตคอลสแต็ก เช่น เมื่อห่อหุ้ม IP-over-IP เพื่อแยกที่อยู่จากแพ็กเก็ตภายนอกและแพ็กเก็ตที่ซ้อนกัน คุณสามารถระบุ “ip.addr#1 == 1.1.1.1” และ “ ip.addr#2 == 1.1.1.2. XNUMX".
    • ขณะนี้คำสั่งแบบมีเงื่อนไขรองรับตัวระบุปริมาณ "ใดๆ" และ "ทั้งหมด" เช่น "all tcp.port > 1024" เพื่อทดสอบช่อง tcp.port ทั้งหมด
    • มีไวยากรณ์ในตัวสำหรับระบุการอ้างอิงฟิลด์ - ${some.field} ซึ่งนำไปใช้โดยไม่ต้องใช้มาโคร
    • เพิ่มความสามารถในการใช้การดำเนินการทางคณิตศาสตร์ (“+”, “-“, “*”, “/”, “%”) ด้วยช่องตัวเลข โดยแยกนิพจน์ด้วยเครื่องหมายปีกกา
    • เพิ่มฟังก์ชัน max(), min() และ abs()
    • อนุญาตให้ระบุนิพจน์และเรียกใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์ของฟังก์ชัน
    • เพิ่มไวยากรณ์ใหม่เพื่อแยกตัวอักษรออกจากตัวระบุ - ค่าที่ขึ้นต้นด้วยจุดจะถือเป็นโปรโตคอลหรือฟิลด์โปรโตคอล และค่าภายในวงเล็บมุมจะถือเป็นตัวอักษร
    • เพิ่มตัวดำเนินการบิต “&” ตัวอย่างเช่น หากต้องการเปลี่ยนแต่ละบิต คุณสามารถระบุ “frame[0] & 0x0F == 3”
    • ขณะนี้ลำดับความสำคัญของตัวดำเนินการ AND แบบลอจิคัลนั้นสูงกว่าตัวดำเนินการ OR
    • เพิ่มการรองรับสำหรับการระบุค่าคงที่ในรูปแบบไบนารี่โดยใช้คำนำหน้า "0b"
    • เพิ่มความสามารถในการใช้ค่าดัชนีเชิงลบสำหรับการรายงานจากจุดสิ้นสุด เช่น ในการตรวจสอบสองไบต์สุดท้ายในส่วนหัว TCP คุณสามารถระบุ “tcp[-2:] == AA:BB”
    • ห้ามแยกองค์ประกอบของชุดด้วยการเว้นวรรค การใช้ช่องว่างแทนเครื่องหมายจุลภาคจะทำให้เกิดข้อผิดพลาดแทนที่จะเป็นคำเตือน
    • เพิ่มลำดับการหลีกเลี่ยงเพิ่มเติม: \a, \b, \f, \n, \r, \t, \v
    • เพิ่มความสามารถในการระบุอักขระ Unicode ในรูปแบบ \uNNNN และ \UNNNNNNNNN
    • เพิ่มตัวดำเนินการเปรียบเทียบใหม่ “===” (“all_eq”) ซึ่งใช้ได้เฉพาะเมื่อในนิพจน์ “a === b” ค่าทั้งหมดของ “a” ตรงกับ “b” นอกจากนี้ ยังมีการเพิ่มตัวดำเนินการย้อนกลับ "!==" ("any_ne") อีกด้วย
    • ตัวดำเนินการ "~=" เลิกใช้แล้ว และควรใช้ "!==" แทน
    • ห้ามมิให้ใช้ตัวเลขที่มีจุดเปิด เช่น ค่า ".7" และ "7" ขณะนี้ไม่ถูกต้องและควรแทนที่ด้วย "0.7" และ "7.0"
    • เอ็นจิ้นนิพจน์ทั่วไปในเอ็นจิ้นตัวกรองการแสดงผลถูกย้ายไปยังไลบรารี PCRE2 แทนที่จะเป็น GRegex
    • การจัดการไบต์ว่างที่ถูกต้องถูกนำไปใช้ในสตริงและเทมเพลตนิพจน์ทั่วไป ('\0' ในสตริงจะถือเป็นไบต์ว่าง)
    • นอกจาก 1 และ 0 แล้ว ค่าบูลีนยังสามารถเขียนเป็น True/TRUE และ False/FALSE ได้อีกด้วย
  • โมดูลตัวแยก HTTP2 ได้เพิ่มการสนับสนุนสำหรับการใช้ส่วนหัวจำลองเพื่อแยกวิเคราะห์ข้อมูลที่บันทึกโดยไม่มีแพ็กเก็ตก่อนหน้าที่มีส่วนหัว (ตัวอย่างเช่น เมื่อแยกวิเคราะห์ข้อความในการเชื่อมต่อ gRPC ที่สร้างไว้แล้ว)
  • เพิ่มการรองรับ Mesh Connex (MCX) ให้กับตัวแยกวิเคราะห์ IEEE 802.11
  • มีการจัดเก็บข้อมูลชั่วคราว (โดยไม่บันทึกลงดิสก์) ของรหัสผ่านในกล่องโต้ตอบ Extcap เพื่อไม่ให้ป้อนในระหว่างการเปิดตัวซ้ำ เพิ่มความสามารถในการตั้งรหัสผ่านสำหรับ extcap ผ่านทางยูทิลิตี้บรรทัดคำสั่ง เช่น tshark
  • ยูทิลิตี้ ciscodump ใช้ความสามารถในการจับภาพระยะไกลจากอุปกรณ์ที่ใช้ IOS, IOS-XE และ ASA
  • เพิ่มการรองรับโปรโตคอล:
    • การตรวจจับลูป Telesis ของพันธมิตร (AT LDF)
    • ออโตซาร์ I-PDU มัลติเพล็กเซอร์ (ออโตซาร์ I-PduM)
    • การรักษาความปลอดภัยโปรโตคอล DTN Bundle (BPSec)
    • DTN Bundle Protocol เวอร์ชัน 7 (BPv7)
    • DTN TCP บรรจบกันเลเยอร์โปรโตคอล (TCPCL)
    • ตารางข้อมูลการเลือก DVB (DVB SIT)
    • อินเทอร์เฟซการซื้อขายเงินสดที่ได้รับการปรับปรุง 10.0 (XTI)
    • อินเทอร์เฟซสมุดคำสั่งซื้อที่ได้รับการปรับปรุง 10.0 (EOBI)
    • อินเทอร์เฟซการซื้อขายที่ได้รับการปรับปรุง 10.0 (ETI)
    • โปรโตคอลการเข้าถึงการลงทะเบียนแบบดั้งเดิมของ FiveCo (5co-legacy)
    • โปรโตคอลการถ่ายโอนข้อมูลทั่วไป (GDT)
    • เว็บ gRPC (gRPC-เว็บ)
    • โปรโตคอลการกำหนดค่า IP โฮสต์ (HICP)
    • พันธะ Huawei GRE (GREbond)
    • โมดูลอินเทอร์เฟซการระบุตำแหน่ง (IDENT, การสอบเทียบ, ตัวอย่าง - IM1, ตัวอย่าง - IM2R0),
    • เมชคอนเน็กซ์ (MCX)
    • โปรโตคอลการควบคุมระยะไกลคลัสเตอร์ Microsoft (RCP)
    • เปิดโปรโตคอลควบคุมสำหรับ OCA/AES70 (OCP.1)
    • โปรโตคอลการตรวจสอบความถูกต้องแบบขยายที่ได้รับการป้องกัน (PEAP)
    • โปรโตคอลการทำให้เป็นอนุกรม REdis v2 (RESP)
    • รูน ดิสคัฟเวอรี่ (รูนดิสโก้),
    • โปรโตคอลการถ่ายโอนไฟล์ที่ปลอดภัย (sftp)
    • โปรโตคอลการกำหนดค่า IP โฮสต์ที่ปลอดภัย (SHICP)
    • โปรโตคอลการถ่ายโอนไฟล์ SSH (SFTP)
    • USB ที่แนบ SCSI (UASP)
    • ตัวประมวลผลร่วมเครือข่าย ZBOSS (ZB NCP)
  • ข้อกำหนดสำหรับสภาพแวดล้อมบิลด์ (CMake 3.10) และการขึ้นต่อกัน (GLib 2.50.0, Libgcrypt 1.8.0, Python 3.6.0, GnuTLS 3.5.8) เพิ่มขึ้น

ที่มา: opennet.ru

เพิ่มความคิดเห็น