Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 108.162.241.156
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
dns /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
rdtypes
[ DIR ]
drwxr-xr-x
__init__.py
1.56
KB
-rw-r--r--
_asyncbackend.py
1.53
KB
-rw-r--r--
_asyncio_backend.py
4.34
KB
-rw-r--r--
_curio_backend.py
3.33
KB
-rw-r--r--
_immutable_attr.py
2.92
KB
-rw-r--r--
_immutable_ctx.py
2.4
KB
-rw-r--r--
_trio_backend.py
3.68
KB
-rw-r--r--
asyncbackend.py
3
KB
-rw-r--r--
asyncquery.py
17.4
KB
-rw-r--r--
asyncresolver.py
8.71
KB
-rw-r--r--
dnssec.py
19.19
KB
-rw-r--r--
e164.py
3.6
KB
-rw-r--r--
edns.py
10.72
KB
-rw-r--r--
entropy.py
4.07
KB
-rw-r--r--
enum.py
2.75
KB
-rw-r--r--
exception.py
5.13
KB
-rw-r--r--
flags.py
2.58
KB
-rw-r--r--
grange.py
2.04
KB
-rw-r--r--
immutable.py
1.97
KB
-rw-r--r--
inet.py
4.74
KB
-rw-r--r--
ipv4.py
1.93
KB
-rw-r--r--
ipv6.py
5.92
KB
-rw-r--r--
message.py
52.73
KB
-rw-r--r--
name.py
31.54
KB
-rw-r--r--
namedict.py
3.83
KB
-rw-r--r--
node.py
6.42
KB
-rw-r--r--
opcode.py
2.58
KB
-rw-r--r--
py.typed
0
B
-rw-r--r--
query.py
40.46
KB
-rw-r--r--
rcode.py
3.9
KB
-rw-r--r--
rdata.py
24.32
KB
-rw-r--r--
rdataclass.py
2.81
KB
-rw-r--r--
rdataset.py
14.54
KB
-rw-r--r--
rdatatype.py
6.64
KB
-rw-r--r--
renderer.py
8.59
KB
-rw-r--r--
resolver.py
59.29
KB
-rw-r--r--
reversename.py
3.65
KB
-rw-r--r--
rrset.py
7.44
KB
-rw-r--r--
serial.py
3.53
KB
-rw-r--r--
set.py
7.64
KB
-rw-r--r--
tokenizer.py
21.86
KB
-rw-r--r--
transaction.py
16.93
KB
-rw-r--r--
tsig.py
10.93
KB
-rw-r--r--
tsigkeyring.py
2.43
KB
-rw-r--r--
ttl.py
2.58
KB
-rw-r--r--
update.py
10.55
KB
-rw-r--r--
version.py
1.55
KB
-rw-r--r--
versioned.py
15.91
KB
-rw-r--r--
wire.py
2.48
KB
-rw-r--r--
xfr.py
11.61
KB
-rw-r--r--
zone.py
34.25
KB
-rw-r--r--
zonefile.py
15.25
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : inet.py
# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license # Copyright (C) 2003-2017 Nominum, Inc. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose with or without fee is hereby granted, # provided that the above copyright notice and this permission notice # appear in all copies. # # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """Generic Internet address helper functions.""" import socket import dns.ipv4 import dns.ipv6 # We assume that AF_INET and AF_INET6 are always defined. We keep # these here for the benefit of any old code (unlikely though that # is!). AF_INET = socket.AF_INET AF_INET6 = socket.AF_INET6 def inet_pton(family, text): """Convert the textual form of a network address into its binary form. *family* is an ``int``, the address family. *text* is a ``str``, the textual address. Raises ``NotImplementedError`` if the address family specified is not implemented. Returns a ``bytes``. """ if family == AF_INET: return dns.ipv4.inet_aton(text) elif family == AF_INET6: return dns.ipv6.inet_aton(text, True) else: raise NotImplementedError def inet_ntop(family, address): """Convert the binary form of a network address into its textual form. *family* is an ``int``, the address family. *address* is a ``bytes``, the network address in binary form. Raises ``NotImplementedError`` if the address family specified is not implemented. Returns a ``str``. """ if family == AF_INET: return dns.ipv4.inet_ntoa(address) elif family == AF_INET6: return dns.ipv6.inet_ntoa(address) else: raise NotImplementedError def af_for_address(text): """Determine the address family of a textual-form network address. *text*, a ``str``, the textual address. Raises ``ValueError`` if the address family cannot be determined from the input. Returns an ``int``. """ try: dns.ipv4.inet_aton(text) return AF_INET except Exception: try: dns.ipv6.inet_aton(text, True) return AF_INET6 except Exception: raise ValueError def is_multicast(text): """Is the textual-form network address a multicast address? *text*, a ``str``, the textual address. Raises ``ValueError`` if the address family cannot be determined from the input. Returns a ``bool``. """ try: first = dns.ipv4.inet_aton(text)[0] return first >= 224 and first <= 239 except Exception: try: first = dns.ipv6.inet_aton(text, True)[0] return first == 255 except Exception: raise ValueError def is_address(text): """Is the specified string an IPv4 or IPv6 address? *text*, a ``str``, the textual address. Returns a ``bool``. """ try: dns.ipv4.inet_aton(text) return True except Exception: try: dns.ipv6.inet_aton(text, True) return True except Exception: return False def low_level_address_tuple(high_tuple, af=None): """Given a "high-level" address tuple, i.e. an (address, port) return the appropriate "low-level" address tuple suitable for use in socket calls. If an *af* other than ``None`` is provided, it is assumed the address in the high-level tuple is valid and has that af. If af is ``None``, then af_for_address will be called. """ address, port = high_tuple if af is None: af = af_for_address(address) if af == AF_INET: return (address, port) elif af == AF_INET6: i = address.find('%') if i < 0: # no scope, shortcut! return (address, port, 0, 0) # try to avoid getaddrinfo() addrpart = address[:i] scope = address[i + 1:] if scope.isdigit(): return (addrpart, port, 0, int(scope)) try: return (addrpart, port, 0, socket.if_nametoindex(scope)) except AttributeError: # pragma: no cover (we can't really test this) ai_flags = socket.AI_NUMERICHOST ((*_, tup), *_) = socket.getaddrinfo(address, port, flags=ai_flags) return tup else: raise NotImplementedError(f'unknown address family {af}')
Close