修复校验和计算异常

This commit is contained in:
lubeilin
2023-07-26 21:31:07 +08:00
parent d937f392d3
commit a2d45da44d
3 changed files with 1 additions and 3 deletions
+1 -1
View File
@@ -103,9 +103,9 @@ pub fn ipv4_cal_checksum(
src_ip: &Ipv4Addr, src_ip: &Ipv4Addr,
dest_ip: &Ipv4Addr, dest_ip: &Ipv4Addr,
protocol: u8, protocol: u8,
length: u16,
) -> u16 { ) -> u16 {
use std::io::Cursor; use std::io::Cursor;
let length = buffer.len();
let mut sum = 0; let mut sum = 0;
let src_ip = src_ip.octets(); let src_ip = src_ip.octets();
sum += u32c(src_ip[0], src_ip[1]); sum += u32c(src_ip[0], src_ip[1]);
-1
View File
@@ -134,7 +134,6 @@ impl<B: AsRef<[u8]>> TcpPacket<B> {
&self.source_ip, &self.source_ip,
&self.destination_ip, &self.destination_ip,
6, 6,
self.buffer.as_ref().len() as u16,
) )
} }
pub fn urgent_pointer(&self) -> u16 { pub fn urgent_pointer(&self) -> u16 {
-1
View File
@@ -102,7 +102,6 @@ impl<B: AsRef<[u8]>> UdpPacket<B> {
&self.source_ip, &self.source_ip,
&self.destination_ip, &self.destination_ip,
17, 17,
self.length(),
) )
} }
} }