mirror of
https://github.com/wlynxg/NetHive.git
synced 2025-10-02 13:52:06 +08:00
fix: 修复 IPv4 头部解析错误
This commit is contained in:
@@ -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:
|
||||
|
@@ -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),
|
||||
|
Reference in New Issue
Block a user