修复校验和计算异常
This commit is contained in:
@@ -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]);
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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(),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user