เปิดตัวสาขาเสถียรใหม่ของตัววิเคราะห์เครือข่าย 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