Chuyển đổi ip sang python nhị phân

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
7 cung cấp khả năng tạo, thao tác và vận hành trên các mạng và địa chỉ IPv4 và IPv6

Các chức năng và lớp trong mô-đun này giúp dễ dàng xử lý các tác vụ khác nhau liên quan đến địa chỉ IP, bao gồm kiểm tra xem hai máy chủ có nằm trên cùng một mạng con hay không, lặp qua tất cả các máy chủ trong một mạng con cụ thể, kiểm tra xem một chuỗi có đại diện cho một mạng con hợp lệ hay không.

Đây là tài liệu tham khảo đầy đủ về API mô-đun—để biết tổng quan và giới thiệu, hãy xem Giới thiệu về mô-đun ipaddress .

Mới trong phiên bản 3. 3

Chức năng nhà máy tiện lợi¶

Mô-đun

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
7 cung cấp các chức năng xuất xưởng để thuận tiện tạo địa chỉ IP, mạng và giao diện

địa chỉ ipad. ip_address[địa chỉ]

Trả về một đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
1 tùy thuộc vào địa chỉ IP được truyền dưới dạng đối số. Địa chỉ IPv4 hoặc IPv6 có thể được cung cấp; . Một
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu địa chỉ không đại diện cho địa chỉ IPv4 hoặc IPv6 hợp lệ

>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']

địa chỉ ipad. ip_network[địa chỉ , nghiêm ngặt=True]

Trả về một đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5 tùy thuộc vào địa chỉ IP được truyền dưới dạng đối số. địa chỉ là một chuỗi hoặc số nguyên đại diện cho mạng IP. Mạng IPv4 hoặc IPv6 có thể được cung cấp; . nghiêm ngặt được truyền cho hàm tạo
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5. Một
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu địa chỉ không đại diện cho địa chỉ IPv4 hoặc IPv6 hợp lệ hoặc nếu mạng đã đặt bit máy chủ

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
3

địa chỉ ipad. ip_interface[địa chỉ]

Trả về một đối tượng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
40 hoặc
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
41 tùy thuộc vào địa chỉ IP được truyền dưới dạng đối số. địa chỉ là một chuỗi hoặc số nguyên đại diện cho địa chỉ IP. Địa chỉ IPv4 hoặc IPv6 có thể được cung cấp; . Một
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu địa chỉ không đại diện cho địa chỉ IPv4 hoặc IPv6 hợp lệ

Một nhược điểm của các chức năng tiện lợi này là nhu cầu xử lý cả định dạng IPv4 và IPv6 có nghĩa là các thông báo lỗi cung cấp thông tin tối thiểu về lỗi chính xác, vì các chức năng không biết liệu định dạng IPv4 hay IPv6 được dự định. Có thể thu được báo cáo lỗi chi tiết hơn bằng cách gọi trực tiếp các hàm tạo lớp cụ thể của phiên bản thích hợp

Các địa chỉ IP¶

Đối tượng địa chỉ¶

Các đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0 và
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
1 có nhiều thuộc tính chung. Một số thuộc tính chỉ có ý nghĩa đối với địa chỉ IPv6 cũng được triển khai bởi các đối tượng
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0, để giúp viết mã xử lý chính xác cả hai phiên bản IP dễ dàng hơn. Các đối tượng địa chỉ có thể băm , vì vậy chúng có thể được sử dụng làm khóa trong từ điển.

lớp địa chỉ ipad. Địa chỉ IPv4[địa chỉ]

Xây dựng địa chỉ IPv4. Một

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
47 được nâng lên nếu địa chỉ không phải là địa chỉ IPv4 hợp lệ

Những điều sau đây cấu thành một địa chỉ IPv4 hợp lệ

  1. Một chuỗi ký hiệu dấu chấm thập phân, bao gồm bốn số nguyên thập phân trong phạm vi bao gồm 0–255, được phân tách bằng dấu chấm [e. g.

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    48]. Mỗi số nguyên đại diện cho một octet [byte] trong địa chỉ. Không chấp nhận các số 0 đứng đầu để tránh nhầm lẫn với ký hiệu bát phân

  2. Một số nguyên phù hợp với 32 bit

  3. Một số nguyên được đóng gói trong một đối tượng

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    49 có độ dài 4 [octet quan trọng nhất đầu tiên]

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']

Đã thay đổi trong phiên bản 3. 8. Các số 0 đứng đầu được chấp nhận, ngay cả trong các trường hợp mơ hồ trông giống như ký hiệu bát phân.

Đã thay đổi trong phiên bản 3. 10. Số 0 ở đầu không còn được chấp nhận và được coi là lỗi. Các chuỗi địa chỉ IPv4 hiện được phân tích cú pháp nghiêm ngặt như glibc

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
50.

Đã thay đổi trong phiên bản 3. 9. 5. Thay đổi trên cũng được đưa vào Python 3. 9 bắt đầu với phiên bản 3. 9. 5.

Đã thay đổi trong phiên bản 3. 8. 12. Thay đổi trên cũng được đưa vào Python 3. 8 bắt đầu với phiên bản 3. 8. 12.

phiên bản

Số phiên bản phù hợp.

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
51 cho IPv4,
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
52 cho IPv6

max_prefixlen

Tổng số bit trong biểu diễn địa chỉ cho phiên bản này.

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
53 cho IPv4,
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
54 cho IPv6

Tiền tố xác định số lượng bit dẫn đầu trong một địa chỉ được so sánh để xác định địa chỉ đó có phải là một phần của mạng hay không

nénnổ

Biểu diễn chuỗi trong ký hiệu thập phân chấm. Các số 0 đứng đầu không bao giờ được đưa vào biểu diễn

Vì IPv4 không xác định ký hiệu viết tắt cho các địa chỉ có octet được đặt thành 0, hai thuộc tính này luôn giống như

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
55 cho các địa chỉ IPv4. Việc hiển thị các thuộc tính này giúp viết mã hiển thị có thể xử lý cả địa chỉ IPv4 và IPv6 dễ dàng hơn

được đóng gói

Biểu diễn nhị phân của địa chỉ này - một đối tượng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
49 có độ dài phù hợp [octet quan trọng nhất trước tiên]. Đây là 4 byte cho IPv4 và 16 byte cho IPv6

reverse_pointer

Tên của bản ghi DNS PTR đảo ngược cho địa chỉ IP, e. g

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'

Đây là tên có thể được sử dụng để thực hiện tra cứu PTR, không phải tên máy chủ đã giải quyết

Mới trong phiên bản 3. 5

is_multicast

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được dành riêng cho việc sử dụng phát đa hướng. Xem RFC 3171 [đối với IPv4] hoặc RFC 2373 [đối với IPv6]

is_private

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được phân bổ cho các mạng riêng. Xem iana-ipv4-special-registry [đối với IPv4] hoặc iana-ipv6-special-registry [đối với IPv6]

is_global

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được phân bổ cho các mạng công cộng. Xem iana-ipv4-special-registry [đối với IPv4] hoặc iana-ipv6-special-registry [đối với IPv6]

Mới trong phiên bản 3. 4

is_unspecified

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ không xác định. Xem RFC 5735 [đối với IPv4] hoặc RFC 2373 [đối với IPv6]

is_reserve

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được dành riêng cho IETF

is_loopback

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu đây là địa chỉ loopback. Xem RFC 3330 [đối với IPv4] hoặc RFC 2373 [đối với IPv6]

is_link_local

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được dành riêng cho việc sử dụng liên kết cục bộ. Xem RFC 3927

Địa chỉ IPv4. __format__[fmt]

Trả về một chuỗi đại diện của địa chỉ IP, được kiểm soát bởi một chuỗi định dạng rõ ràng. fmt có thể là một trong những điều sau đây.

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
04, tùy chọn mặc định, tương đương với
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
05,
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
06 cho chuỗi nhị phân không đệm,
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
07 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
08 cho biểu diễn thập lục phân chữ hoa hoặc chữ thường, hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
09, tương đương với
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
06 cho địa chỉ IPv4 và
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
08 cho IPv6. Đối với các biểu diễn nhị phân và thập lục phân, công cụ xác định biểu mẫu
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
82 và tùy chọn nhóm
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
83 có sẵn.
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
84 được sử dụng bởi
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
85,
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
86 và chuỗi f

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
4

Mới trong phiên bản 3. 9

lớp địa chỉ ipad. Địa chỉ IPv6[địa chỉ]

Xây dựng địa chỉ IPv6. Một

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
47 được nâng lên nếu địa chỉ không phải là địa chỉ IPv6 hợp lệ

Những điều sau đây cấu thành một địa chỉ IPv6 hợp lệ

  1. Một chuỗi bao gồm tám nhóm bốn chữ số thập lục phân, mỗi nhóm đại diện cho 16 bit. Các nhóm cách nhau bởi dấu hai chấm. Điều này mô tả một ký hiệu bùng nổ [viết tay]. Chuỗi cũng có thể được nén [ký hiệu viết tắt] bằng nhiều cách khác nhau. Xem RFC 4291 để biết chi tiết. Ví dụ:

    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    88 có thể được nén thành
    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    89

    Theo tùy chọn, chuỗi cũng có thể có ID vùng phạm vi, được biểu thị bằng hậu tố

    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    70. Nếu có, ID phạm vi phải không trống và không được chứa
    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    71. Xem RFC 4007 để biết chi tiết. Ví dụ:
    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    72 có thể xác định địa chỉ
    >>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
    '1.0.0.127.in-addr.arpa'
    >>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
    '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
    
    73 trên liên kết đầu tiên của nút

  2. Một số nguyên phù hợp với 128 bit

  3. Một số nguyên được đóng gói trong một đối tượng

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    49 có độ dài 16, big-endian

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5

đã nén

Dạng ngắn của biểu diễn địa chỉ, với các số 0 đứng đầu trong các nhóm bị bỏ qua và chuỗi dài nhất của các nhóm bao gồm toàn các số 0 được thu gọn thành một nhóm trống duy nhất

Đây cũng là giá trị được trả về bởi

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
55 cho các địa chỉ IPv6

đã nổ

Dạng dài của biểu diễn địa chỉ, bao gồm tất cả các số 0 đứng đầu và các nhóm bao gồm toàn các số 0

Để biết các thuộc tính và phương thức sau, hãy xem tài liệu tương ứng của lớp

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

được đóng góireverse_pointerphiên bảnmax_prefixlenis_multicastis_privateis_globalis_unspecifiedis_reservedis_loopbackis_link_local

Mới trong phiên bản 3. 4. is_global

is_site_local

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu địa chỉ được dành riêng cho việc sử dụng trang web cục bộ. Lưu ý rằng không gian địa chỉ site-local đã bị RFC 3879 phản đối. Sử dụng
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
78 để kiểm tra xem địa chỉ này có nằm trong không gian của các địa chỉ cục bộ duy nhất như được xác định bởi RFC 4193 không

ipv4_mapped

Đối với các địa chỉ có vẻ là địa chỉ được ánh xạ IPv4 [bắt đầu bằng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
79], thuộc tính này sẽ báo cáo địa chỉ IPv4 được nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là
>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
80

scope_id

Đối với các địa chỉ có phạm vi như được xác định bởi RFC 4007, thuộc tính này xác định vùng cụ thể của phạm vi địa chỉ chứa địa chỉ đó, dưới dạng một chuỗi. Khi không có vùng phạm vi nào được chỉ định, thuộc tính này sẽ là

>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
80

sixtofour

Đối với các địa chỉ có vẻ là địa chỉ 6to4 [bắt đầu bằng

>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
82] như được xác định bởi RFC 3056, thuộc tính này sẽ báo cáo địa chỉ IPv4 được nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là
>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
80

teredo

Đối với các địa chỉ có vẻ là địa chỉ Teredo [bắt đầu bằng

>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
84] như được xác định bởi RFC 4380, thuộc tính này sẽ báo cáo cặp địa chỉ IP
>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
85 được nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là
>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
80

Địa chỉ IPv6. __format__[fmt]

Tham khảo tài liệu phương pháp tương ứng trong

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

Mới trong phiên bản 3. 9

Chuyển đổi sang chuỗi và số nguyên¶

Để tương tác với các giao diện mạng như mô-đun ổ cắm, địa chỉ phải được chuyển đổi thành chuỗi hoặc số nguyên. Điều này được xử lý bằng cách sử dụng các hàm dựng sẵn

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
05 và
>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
89

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

Lưu ý rằng các địa chỉ trong phạm vi IPv6 được chuyển đổi thành số nguyên không có ID vùng phạm vi

Toán tử¶

Các đối tượng địa chỉ hỗ trợ một số toán tử. Trừ khi có quy định khác, toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích [i. e. IPv4 với IPv4, IPv6 với IPv6]

Toán tử so sánh¶

Các đối tượng địa chỉ có thể được so sánh với tập hợp các toán tử so sánh thông thường. Các địa chỉ IPv6 giống nhau với ID vùng phạm vi khác nhau không bằng nhau. Vài ví dụ

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
8

Toán tử số học¶

Các số nguyên có thể được thêm vào hoặc bớt đi từ các đối tượng địa chỉ. Vài ví dụ

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
7

Định nghĩa mạng IP¶

Các đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 và
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5 cung cấp cơ chế xác định và kiểm tra định nghĩa mạng IP. Định nghĩa mạng bao gồm mặt nạ và địa chỉ mạng và như vậy xác định một dải địa chỉ IP bằng địa chỉ mạng khi được che [nhị phân AND] với mặt nạ. Ví dụ: định nghĩa mạng có mặt nạ
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
302 và địa chỉ mạng
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
303 bao gồm các địa chỉ IP trong phạm vi bao gồm
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
303 đến
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
305

Tiền tố, mặt nạ mạng và mặt nạ máy chủ¶

Có một số cách tương đương để chỉ định mặt nạ mạng IP. Tiền tố

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
306 là ký hiệu cho biết có bao nhiêu bit bậc cao được đặt trong mặt nạ mạng. Mặt nạ mạng là một địa chỉ IP với một số bit bậc cao được đặt. Do đó, tiền tố
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
307 tương đương với mặt nạ mạng
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
302 trong IPv4 hoặc
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
309 trong IPv6. Ngoài ra, mặt nạ máy chủ là nghịch đảo logic của mặt nạ mạng và đôi khi được sử dụng [ví dụ: trong danh sách kiểm soát truy cập của Cisco] để biểu thị mặt nạ mạng. Mặt nạ máy chủ tương đương với
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
307 trong IPv4 là
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
311

Đối tượng mạng¶

Tất cả các thuộc tính được triển khai bởi các đối tượng địa chỉ cũng được triển khai bởi các đối tượng mạng. Ngoài ra, các đối tượng mạng thực hiện các thuộc tính bổ sung. Tất cả những điều này là phổ biến giữa

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 và
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5, vì vậy để tránh trùng lặp, chúng chỉ được ghi lại cho
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4. Các đối tượng mạng có thể băm , vì vậy chúng có thể được sử dụng làm khóa trong từ điển.

lớp địa chỉ ipad. Mạng IPv4[địa chỉ , nghiêm ngặt=True]

Xây dựng định nghĩa mạng IPv4. địa chỉ có thể là một trong những điều sau đây

  1. Một chuỗi bao gồm địa chỉ IP và mặt nạ tùy chọn, được phân tách bằng dấu gạch chéo [

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    315]. Địa chỉ IP là địa chỉ mạng và mặt nạ có thể là một số duy nhất, có nghĩa là đó là tiền tố hoặc biểu thị chuỗi của địa chỉ IPv4. Nếu là trường hợp thứ hai, mặt nạ được hiểu là mặt nạ mạng nếu nó bắt đầu bằng trường khác 0 hoặc là mặt nạ máy chủ nếu nó bắt đầu bằng trường 0, với ngoại lệ duy nhất là mặt nạ toàn không được coi là . Nếu không cung cấp mặt nạ, nó được coi là
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    316

    Ví dụ: các thông số kỹ thuật địa chỉ sau đây là tương đương.

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    317,
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    318 và
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    319

  2. Một số nguyên phù hợp với 32 bit. Điều này tương đương với mạng đơn địa chỉ, với địa chỉ mạng là địa chỉ và mặt nạ là

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    316

  3. Một số nguyên được đóng gói trong một đối tượng

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    49 có độ dài 4, big-endian. Việc giải thích tương tự như một địa chỉ số nguyên

  4. Hai bộ mô tả địa chỉ và mặt nạ mạng, trong đó mô tả địa chỉ là một chuỗi, số nguyên 32 bit, số nguyên được đóng gói 4 byte hoặc đối tượng Địa chỉ IPv4 hiện có; . g.

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    322] hoặc một chuỗi đại diện cho mặt nạ tiền tố [e. g.
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    302]

Một

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
47 được nâng lên nếu địa chỉ không phải là địa chỉ IPv4 hợp lệ. Một
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
325 được nâng lên nếu mặt nạ không hợp lệ đối với địa chỉ IPv4

Nếu nghiêm ngặt là

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 và các bit máy chủ được đặt trong địa chỉ được cung cấp, thì
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên. Mặt khác, các bit máy chủ được che đi để xác định địa chỉ mạng thích hợp

Trừ khi có quy định khác, tất cả các phương thức mạng chấp nhận các đối tượng mạng/địa chỉ khác sẽ tăng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
328 nếu phiên bản IP của đối số không tương thích với
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
329

Đã thay đổi trong phiên bản 3. 5. Đã thêm dạng hai bộ cho tham số hàm tạo địa chỉ.

phiên bảnmax_prefixlen

Tham khảo tài liệu thuộc tính tương ứng trong

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

is_multicastis_privateis_unspecifiedis_reservedis_loopbackis_link_local

Các thuộc tính này đúng với toàn bộ mạng nếu chúng đúng với cả địa chỉ mạng và địa chỉ quảng bá

địa_chỉ_mạng

Địa chỉ mạng cho mạng. Địa chỉ mạng và độ dài tiền tố cùng nhau xác định duy nhất một mạng

broadcast_address

Địa chỉ quảng bá cho mạng. Các gói được gửi đến địa chỉ quảng bá sẽ được nhận bởi mọi máy chủ trên mạng

mặt nạ máy chủ

Mặt nạ máy chủ, như một đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

mặt nạ mạng

Mặt nạ lưới, như một đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0

with_prefixlenđược nénđã phát nổ

Một biểu diễn chuỗi của mạng, với mặt nạ trong ký hiệu tiền tố

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
333 và
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
334 luôn giống như
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
335.
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
336 sử dụng dạng bùng nổ địa chỉ mạng

with_netmask

Một biểu diễn chuỗi của mạng, với mặt nạ trong ký hiệu mặt nạ mạng

with_hostmask

Biểu diễn chuỗi của mạng, với mặt nạ trong ký hiệu mặt nạ máy chủ

num_addresses

Tổng số địa chỉ trong mạng

tiền tố

Độ dài của tiền tố mạng, tính bằng bit

máy chủ[]

Trả về một trình vòng lặp trên các máy chủ có thể sử dụng được trong mạng. Các máy chủ có thể sử dụng là tất cả các địa chỉ IP thuộc về mạng, ngoại trừ chính địa chỉ mạng và địa chỉ quảng bá mạng. Đối với các mạng có độ dài mặt nạ là 31, địa chỉ mạng và địa chỉ quảng bá mạng cũng được đưa vào kết quả. Các mạng có mặt nạ là 32 sẽ trả về một danh sách chứa địa chỉ máy chủ duy nhất

>>> ipaddress.ip_address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.ip_address['2001:db8::']
IPv6Address['2001:db8::']
8

chồng chéo[khác]

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu mạng này được chứa một phần hoặc toàn bộ trong mạng khác hoặc mạng khác được chứa hoàn toàn trong mạng này

address_exclude[mạng]

Tính toán các định nghĩa mạng do xóa mạng đã cho khỏi mạng này. Trả về một iterator của các đối tượng mạng. Tăng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 nếu mạng không được chứa hoàn toàn trong mạng này

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
30

mạng con[prefixlen_diff=1, new_prefix=None]

Các mạng con tham gia để tạo định nghĩa mạng hiện tại, tùy thuộc vào các giá trị đối số. tiền tốlen_diff là số lượng độ dài tiền tố của chúng tôi sẽ được tăng thêm. new_prefix là tiền tố mới mong muốn của các mạng con; . Phải đặt một và chỉ một trong số prefixlen_diff và new_prefix. Trả về một iterator của các đối tượng mạng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
31

siêu mạng[prefixlen_diff=1, new_prefix=None]

Siêu mạng chứa định nghĩa mạng này, tùy thuộc vào các giá trị đối số. tiền tốlen_diff là số lượng độ dài tiền tố của chúng tôi sẽ giảm đi. new_prefix là tiền tố mới mong muốn của siêu mạng; . Phải đặt một và chỉ một trong số prefixlen_diff và new_prefix. Trả về một đối tượng mạng duy nhất

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
32

subnet_of[other]

Trả về

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu mạng này là mạng con của mạng khác

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
33

Mới trong phiên bản 3. 7

supernet_of[other]

Trả về

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 nếu mạng này là siêu mạng của mạng khác

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
34

Mới trong phiên bản 3. 7

so_mạng[khác]

So sánh mạng này với mạng khác. Trong so sánh này, chỉ các địa chỉ mạng được xem xét; . Trả về

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
341,
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
342 hoặc
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
343

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
35

Không dùng nữa kể từ phiên bản 3. 7. Nó sử dụng thuật toán sắp xếp và so sánh giống như “

lớp địa chỉ ipad. Mạng IPv6[địa chỉ , nghiêm ngặt=True]

Xây dựng định nghĩa mạng IPv6. địa chỉ có thể là một trong những điều sau đây

  1. Một chuỗi bao gồm địa chỉ IP và độ dài tiền tố tùy chọn, được phân tách bằng dấu gạch chéo [

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    315]. Địa chỉ IP là địa chỉ mạng và độ dài tiền tố phải là một số duy nhất, tiền tố. Nếu không cung cấp độ dài tiền tố, nó được coi là
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    345

    Lưu ý rằng mặt nạ mạng mở rộng hiện tại không được hỗ trợ. Điều đó có nghĩa là

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    346 là một đối số hợp lệ trong khi
    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    347 thì không

  2. Một số nguyên phù hợp với 128 bit. Điều này tương đương với mạng một địa chỉ, với địa chỉ mạng là địa chỉ và mặt nạ là

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    345

  3. Một số nguyên được đóng gói trong một đối tượng

    >>> ipaddress.IPv4Address['192.168.0.1']
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[3232235521]
    IPv4Address['192.168.0.1']
    >>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
    IPv4Address['192.168.0.1']
    
    49 có độ dài 16, big-endian. Việc giải thích tương tự như một địa chỉ số nguyên

  4. Một bộ hai mô tả địa chỉ và mặt nạ mạng, trong đó mô tả địa chỉ là một chuỗi, số nguyên 128 bit, số nguyên được đóng gói 16 byte hoặc đối tượng Địa chỉ IPv6 hiện có;

Một

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
47 được nâng lên nếu địa chỉ không phải là địa chỉ IPv6 hợp lệ. Một
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
325 được nâng lên nếu mặt nạ không hợp lệ đối với địa chỉ IPv6

Nếu nghiêm ngặt là

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
57 và các bit máy chủ được đặt trong địa chỉ được cung cấp, thì
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên. Mặt khác, các bit máy chủ được che đi để xác định địa chỉ mạng thích hợp

Đã thay đổi trong phiên bản 3. 5. Đã thêm dạng hai bộ cho tham số hàm tạo địa chỉ.

phiên bảnmax_prefixlenis_multicastis_privateis_unspecifiedis_reservedis_loopbackis_link_localnetwork_addressbroadcast_addresshostmasknetmaskwith_prefixlencompressedexplodedwith_netmaskwith_hostmasknum_addressesprefixlenhosts[]

Trả về một trình vòng lặp trên các máy chủ có thể sử dụng được trong mạng. Các máy chủ có thể sử dụng là tất cả các địa chỉ IP thuộc về mạng, ngoại trừ địa chỉ Subnet-Router anycast. Đối với các mạng có độ dài mặt nạ là 127, địa chỉ anycast của Bộ định tuyến con cũng được đưa vào kết quả. Các mạng có mặt nạ 128 sẽ trả về một danh sách chứa địa chỉ máy chủ duy nhất

chồng chéo[khác]address_exclude[network]subnets[prefixlen_diff=1, new_prefix=None]supernet[prefixlen_diff=1, new_prefix=None]subnet_of[other]supernet_of[other]compare_networks[other]

Tham khảo tài liệu thuộc tính tương ứng trong

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4

is_site_local

Thuộc tính này đúng với toàn bộ mạng nếu nó đúng với cả địa chỉ mạng và địa chỉ quảng bá

Toán tử¶

Các đối tượng mạng hỗ trợ một số toán tử. Trừ khi có quy định khác, toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích [i. e. IPv4 với IPv4, IPv6 với IPv6]

Toán tử logic¶

Các đối tượng mạng có thể được so sánh với tập hợp các toán tử logic thông thường. Các đối tượng mạng được sắp xếp trước theo địa chỉ mạng, sau đó theo mặt nạ mạng

Vòng lặp¶

Các đối tượng mạng có thể được lặp lại để liệt kê tất cả các địa chỉ thuộc về mạng. Để lặp lại, tất cả các máy chủ được trả về, bao gồm cả các máy chủ không sử dụng được [đối với các máy chủ có thể sử dụng được, hãy sử dụng phương thức

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
355]. Một ví dụ

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
36

Mạng dưới dạng vùng chứa địa chỉ¶

Các đối tượng mạng có thể hoạt động như các thùng chứa địa chỉ. Vài ví dụ

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
37

Đối tượng giao diện¶

Các đối tượng giao diện có thể băm , vì vậy chúng có thể được sử dụng làm khóa trong từ điển.

lớp địa chỉ ipad. Giao diện IPv4[địa chỉ]

Xây dựng giao diện IPv4. Ý nghĩa của địa chỉ giống như trong hàm tạo của

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4, ngoại trừ các địa chỉ máy chủ tùy ý luôn được chấp nhận

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
40 là lớp con của lớp
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0 nên nó kế thừa tất cả các thuộc tính của lớp đó. Ngoài ra, các thuộc tính sau đây có sẵn

ip

Địa chỉ [

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0] không có thông tin mạng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
38

mạng

Mạng [

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4] giao diện này thuộc về

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
39

with_prefixlen

Một chuỗi đại diện của giao diện với mặt nạ trong ký hiệu tiền tố

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
0

with_netmask

Biểu diễn chuỗi của giao diện với mạng dưới dạng mặt nạ mạng

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
1

with_hostmask

Biểu diễn chuỗi của giao diện với mạng dưới dạng mặt nạ máy chủ

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
2

lớp địa chỉ ipad. Giao diện IPv6[địa chỉ]

Xây dựng giao diện IPv6. Ý nghĩa của địa chỉ giống như trong hàm tạo của

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5, ngoại trừ các địa chỉ máy chủ tùy ý luôn được chấp nhận

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
41 là lớp con của lớp
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
1 nên nó kế thừa tất cả các thuộc tính của lớp đó. Ngoài ra, các thuộc tính sau đây có sẵn

ipmạngwith_prefixlenwith_netmaskwith_hostmask

Tham khảo tài liệu thuộc tính tương ứng trong

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
40

Toán tử¶

Các đối tượng giao diện hỗ trợ một số toán tử. Trừ khi có quy định khác, toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích [i. e. IPv4 với IPv4, IPv6 với IPv6]

Toán tử logic¶

Các đối tượng giao diện có thể được so sánh với tập hợp các toán tử logic thông thường

Để so sánh bình đẳng [

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
365 và
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
366], cả địa chỉ IP và mạng phải giống nhau để các đối tượng bằng nhau. Một giao diện sẽ không so sánh bằng bất kỳ địa chỉ hoặc đối tượng mạng nào

Để đặt hàng [

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
367,
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
368, v.v.], các quy tắc sẽ khác. Có thể so sánh các đối tượng giao diện và địa chỉ có cùng phiên bản IP và các đối tượng địa chỉ sẽ luôn sắp xếp trước các đối tượng giao diện. Hai đối tượng giao diện trước tiên được so sánh bởi các mạng của chúng và nếu chúng giống nhau thì theo địa chỉ IP của chúng

Các chức năng cấp mô-đun khác¶

Mô-đun này cũng cung cấp các chức năng cấp mô-đun sau

địa chỉ ipad. v4_int_to_packed[địa chỉ]

Biểu thị một địa chỉ dưới dạng 4 byte được đóng gói theo thứ tự mạng [big-endian]. địa chỉ là một biểu diễn số nguyên của địa chỉ IP IPv4. Một

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu số nguyên âm hoặc quá lớn để trở thành địa chỉ IP IPv4

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
3

địa chỉ ipad. v6_int_to_packed[địa chỉ]

Biểu thị một địa chỉ dưới dạng 16 byte được đóng gói theo thứ tự mạng [big-endian]. địa chỉ là một biểu diễn số nguyên của địa chỉ IP IPv6. Một

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu số nguyên âm hoặc quá lớn để trở thành địa chỉ IP IPv6

địa chỉ ipad. summarize_address_range[đầu tiên , cuối cùng]

Trả về một trình vòng lặp của phạm vi mạng được tóm tắt với địa chỉ IP đầu tiên và cuối cùng. đầu tiên là

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
1 đầu tiên trong phạm vi và cuối cùng là
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
0 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
1 cuối cùng trong phạm vi. Một
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
328 được nâng lên nếu đầu tiên hoặc cuối cùng không phải là địa chỉ IP hoặc không cùng phiên bản. Một
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
3 được nâng lên nếu cuối cùng không lớn hơn đầu tiên hoặc nếu phiên bản địa chỉ đầu tiên không phải là 4 hoặc 6

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
4

địa chỉ ipad. collapse_addresses[địa chỉ]

Trả về một iterator của các đối tượng

>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5 đã được thu gọn. địa chỉ là một vòng lặp của các đối tượng
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
4 hoặc
>>> ipaddress.ip_address["127.0.0.1"].reverse_pointer
'1.0.0.127.in-addr.arpa'
>>> ipaddress.ip_address["2001:db8::1"].reverse_pointer
'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'
5. Một
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
328 được nâng lên nếu các địa chỉ chứa các đối tượng phiên bản hỗn hợp

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
5

địa chỉ ipad. get_mixed_type_key[obj]

Trả lại khóa phù hợp để sắp xếp giữa các mạng và địa chỉ. Các đối tượng Địa chỉ và Mạng không thể sắp xếp theo mặc định;

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
6

không có ý nghĩa. Tuy nhiên, có một số lúc, bạn có thể muốn

>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
7 sắp xếp những thứ này bằng mọi cách. Nếu bạn cần làm điều này, bạn có thể sử dụng chức năng này làm đối số chính cho
>>> ipaddress.IPv4Address['192.168.0.1']
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[3232235521]
IPv4Address['192.168.0.1']
>>> ipaddress.IPv4Address[b'\xC0\xA8\x00\x01']
IPv4Address['192.168.0.1']
383

obj là một đối tượng mạng hoặc địa chỉ

Ngoại lệ tùy chỉnh¶

Để hỗ trợ báo cáo lỗi cụ thể hơn từ các hàm tạo của lớp, mô-đun xác định các ngoại lệ sau

Làm cách nào để chuyển đổi địa chỉ IP thành nhị phân trong Python?

Ví dụ – Chuyển đổi địa chỉ IPv4 sang định dạng nhị phân. .
# Chương trình Python ví dụ để chuyển đổi địa chỉ IP IPv4
# thành định dạng nhị phân đóng gói
ổ cắm nhập khẩu
địa chỉ ip = "127. 0. 0. 1";
nhị phânIP = ổ cắm. inet_pton[ổ cắm. AF_INET, địa chỉ IP];
print["Địa chỉ IP ở định dạng chuỗi. %s"%ipAddress];

Địa chỉ IP có thể là nhị phân không?

Địa chỉ IP là một số 32 bit như 11000000101010000000000100000001 ở dạng nhị phân hoặc 3232235777 ở dạng thập phân. Vì vậy, nó được viết thành 4 phần như 11000000. 10101000. 00000001. 00000001 ở dạng nhị phân và 192. 168. 1. 1 ở dạng thập phân.

Làm cách nào để chuyển đổi địa chỉ IP thành bát phân trong Python?

ip = '127. 0. 0. 1' bản in '. '. tham gia[[oct[int[x]+256][3. ] cho x trong ip.

Làm cách nào để chuyển đổi chuỗi thành Python nhị phân?

Để chuyển đổi một chuỗi thành nhị phân, trước tiên chúng ta nối các giá trị ASCII riêng lẻ của chuỗi vào một danh sách [ l ] bằng cách sử dụng hàm ord[_string]. This function gives the ASCII value of the string [i.e., ord[H] = 72 , ord[e] = 101]. Then, from the list of ASCII values we can convert them to binary using bin[_integer] .

Chủ Đề