fix: 修复 IPv4 头部解析错误

This commit is contained in:
lynx
2023-07-31 12:32:07 +08:00
parent a268ac47fe
commit a8de3afedf
2 changed files with 2 additions and 3 deletions

View File

@@ -160,8 +160,6 @@ func (e *Engine) RoutineTUNReader() {
e.errChan <- fmt.Errorf("[RoutineTUNReader]: %s", err)
return
}
fmt.Println(buff[:n])
ip, err := protocol.ParseIP(buff[:n])
if err != nil {
e.log.Warningf(e.ctx, "[RoutineRouteTableWriter] drop packet, because %s", err)
@@ -172,6 +170,7 @@ func (e *Engine) RoutineTUNReader() {
Dst: ip.Dst(),
}
copy(payload.Data, buff[:n])
fmt.Println(payload.Dst)
select {
case e.devReader <- payload:
default:

View File

@@ -25,7 +25,7 @@ func ParseIP(buff []byte) (IP, error) {
func ParseIPv4(buff []byte) (*IPv4, error) {
headerLength := (buff[0] & 0xF0) * 5
src := netip.AddrFrom4([4]byte{buff[12], buff[13], buff[14], buff[15]})
dst := netip.AddrFrom4([4]byte{buff[15], buff[16], buff[17], buff[18]})
dst := netip.AddrFrom4([4]byte{buff[16], buff[17], buff[18], buff[19]})
return &IPv4{
headerLength: int(headerLength),