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.go
// Copyright 2012 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 provides basic functions for the manipulation of // messages used in the Internet Control Message Protocols, // ICMPv4 and ICMPv6. // // ICMPv4 and ICMPv6 are defined in RFC 792 and RFC 4443. // Multi-part message support for ICMP is defined in RFC 4884. // ICMP extensions for MPLS are defined in RFC 4950. // ICMP extensions for interface and next-hop identification are // defined in RFC 5837. // PROBE: A utility for probing interfaces is defined in RFC 8335. package icmp // import "golang.org/x/net/icmp" import ( "encoding/binary" "errors" "net" "runtime" "golang.org/x/net/internal/iana" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" ) // BUG(mikio): This package is not implemented on JS, NaCl and Plan 9. var ( errInvalidConn = errors.New("invalid connection") errInvalidProtocol = errors.New("invalid protocol") errMessageTooShort = errors.New("message too short") errHeaderTooShort = errors.New("header too short") errBufferTooShort = errors.New("buffer too short") errInvalidBody = errors.New("invalid body") errNoExtension = errors.New("no extension") errInvalidExtension = errors.New("invalid extension") errNotImplemented = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH) ) func checksum(b []byte) uint16 { csumcv := len(b) - 1 // checksum coverage s := uint32(0) for i := 0; i < csumcv; i += 2 { s += uint32(b[i+1])<<8 | uint32(b[i]) } if csumcv&1 == 0 { s += uint32(b[csumcv]) } s = s>>16 + s&0xffff s = s + s>>16 return ^uint16(s) } // A Type represents an ICMP message type. type Type interface { Protocol() int } // A Message represents an ICMP message. type Message struct { Type Type // type, either ipv4.ICMPType or ipv6.ICMPType Code int // code Checksum int // checksum Body MessageBody // body } // Marshal returns the binary encoding of the ICMP message m. // // For an ICMPv4 message, the returned message always contains the // calculated checksum field. // // For an ICMPv6 message, the returned message contains the calculated // checksum field when psh is not nil, otherwise the kernel will // compute the checksum field during the message transmission. // When psh is not nil, it must be the pseudo header for IPv6. func (m *Message) Marshal(psh []byte) ([]byte, error) { var mtype byte switch typ := m.Type.(type) { case ipv4.ICMPType: mtype = byte(typ) case ipv6.ICMPType: mtype = byte(typ) default: return nil, errInvalidProtocol } b := []byte{mtype, byte(m.Code), 0, 0} proto := m.Type.Protocol() if proto == iana.ProtocolIPv6ICMP && psh != nil { b = append(psh, b...) } if m.Body != nil && m.Body.Len(proto) != 0 { mb, err := m.Body.Marshal(proto) if err != nil { return nil, err } b = append(b, mb...) } if proto == iana.ProtocolIPv6ICMP { if psh == nil { // cannot calculate checksum here return b, nil } off, l := 2*net.IPv6len, len(b)-len(psh) binary.BigEndian.PutUint32(b[off:off+4], uint32(l)) } s := checksum(b) // Place checksum back in header; using ^= avoids the // assumption the checksum bytes are zero. b[len(psh)+2] ^= byte(s) b[len(psh)+3] ^= byte(s >> 8) return b[len(psh):], nil } var parseFns = map[Type]func(int, Type, []byte) (MessageBody, error){ ipv4.ICMPTypeDestinationUnreachable: parseDstUnreach, ipv4.ICMPTypeTimeExceeded: parseTimeExceeded, ipv4.ICMPTypeParameterProblem: parseParamProb, ipv4.ICMPTypeEcho: parseEcho, ipv4.ICMPTypeEchoReply: parseEcho, ipv4.ICMPTypeExtendedEchoRequest: parseExtendedEchoRequest, ipv4.ICMPTypeExtendedEchoReply: parseExtendedEchoReply, ipv6.ICMPTypeDestinationUnreachable: parseDstUnreach, ipv6.ICMPTypePacketTooBig: parsePacketTooBig, ipv6.ICMPTypeTimeExceeded: parseTimeExceeded, ipv6.ICMPTypeParameterProblem: parseParamProb, ipv6.ICMPTypeEchoRequest: parseEcho, ipv6.ICMPTypeEchoReply: parseEcho, ipv6.ICMPTypeExtendedEchoRequest: parseExtendedEchoRequest, ipv6.ICMPTypeExtendedEchoReply: parseExtendedEchoReply, } // ParseMessage parses b as an ICMP message. // The provided proto must be either the ICMPv4 or ICMPv6 protocol // number. func ParseMessage(proto int, b []byte) (*Message, error) { if len(b) < 4 { return nil, errMessageTooShort } var err error m := &Message{Code: int(b[1]), Checksum: int(binary.BigEndian.Uint16(b[2:4]))} switch proto { case iana.ProtocolICMP: m.Type = ipv4.ICMPType(b[0]) case iana.ProtocolIPv6ICMP: m.Type = ipv6.ICMPType(b[0]) default: return nil, errInvalidProtocol } if fn, ok := parseFns[m.Type]; !ok { m.Body, err = parseRawBody(proto, b[4:]) } else { m.Body, err = fn(proto, m.Type, b[4:]) } if err != nil { return nil, err } return m, nil }
Close