Hướng dẫn get ipv6 address python - lấy địa chỉ ipv6 python
Mã nguồn: lib/ipaddress.py Lib/ipaddress.py Show
>>> 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 khả năng để tạo, thao tác và vận hành trên các địa chỉ và mạng IPv4 và IPv6. Các chức năng và lớp trong mô -đun này giúp 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ó trên cùng một mạng con hay không Địa chỉ IP hoặc định nghĩa mạng, v.v. Đây là tham chiếu API mô -đun đầy đủ để biết tổng quan và giới thiệu, xem phần giới thiệu về mô -đun iPaddress.An introduction to the ipaddress module. Mới trong phiên bản 3.3. Các chức năng nhà máy tiện lợiMô -đ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 của nhà máy để tạo thuận tiện các địa chỉ IP, mạng và giao diện: ipaddress.ip_address (địa chỉ) ¶ip_address(address)¶ 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')9 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'0 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; Số nguyên nhỏ hơ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'1 sẽ được coi là IPv4 theo mặc định. 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'2 được nêu ra 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::')ipaddress.ip_network (địa chỉ, nghiêm ngặt = true) ¶ip_network(address, strict=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'3 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'4 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; Số nguyên nhỏ hơ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'1 sẽ được coi là IPv4 theo mặc định. nghiêm ngặt được chuyể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'3 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'4. 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'2 được nêu ra 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 có các bit máy chủ được đặt. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')ipaddress.ip_interface (địa chỉ) ¶ip_interface(address)¶ 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'9 hoặc >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'0 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; Số nguyên nhỏ hơ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'1 sẽ được coi là IPv4 theo mặc định. 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'2 được nêu ra 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à 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 don don biết liệu định dạng IPv4 hay IPv6 có được dự định hay không. Báo cáo lỗi chi tiết hơn có thể được lấy bằng cách gọi trực tiếp các trình xây dựng lớp cụ thể phiên bản thích hợp. Các địa chỉ IP¶Địa chỉ đối tượng lorCác đố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')9 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'0 chia sẻ rất nhiều thuộc tính phổ biến. Một số thuộc tính chỉ có ý nghĩa đối với các địa chỉ IPv6 cũng được triển khai bởi các đố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')9, để dễ dàng ghi mã xử lý chính xác cả hai phiên bản IP. 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.hashable, so they can be used as keys in dictionaries. classipaddress.ipv4address (địa chỉ) ¶ ipaddress.IPv4Address(address)¶ Xây dựng một địa chỉ IPv4. Một >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'6 được nâng lên nếu địa chỉ không phải là địa chỉ IPv4 hợp lệ. Sau đây tạo thành một địa chỉ IPv4 hợp 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') Thay đổi trong phiên bản 3.8: Các số không hàng đầu được dung thứ, ngay cả trong các trường hợp mơ hồ trông giống như ký hiệu bát phân.Leading zeros are tolerated, even in ambiguous cases that look like octal notation. Thay đổi trong phiên bản 3.10: Các số không hàng đầu không còn được dung nạp và được coi là một lỗi. Các chuỗi địa chỉ IPv4 hiện được phân tích nghiêm ngặt như glibc >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'9. Thay đổi trong phiên bản 3.9.5: Thay đổi trên cũng được bao gồm trong Python 3.9 bắt đầu với phiên bản 3.9.5.The above change was also included in Python 3.9 starting with version 3.9.5. Đã thay đổi trong phiên bản 3.8.12: Thay đổi trên cũng được bao gồm trong Python 3.8 bắt đầu với phiên bản 3.8.12.The above change was also included in Python 3.8 starting with version 3.8.12. phiên bản¶¶Số phiên bản thích hợp: >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')0 cho IPv4, >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')1 cho IPv6. max_prefixlen¶¶ Tổng số bit trong biểu diễn địa chỉ cho phiên bản này: >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')2 cho IPv4, >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')3 cho IPv6. Tiền tố xác định số lượng bit hàng đầu trong một địa chỉ được so sánh để xác định xem một địa chỉ có phải là một phần của mạng hay không. nén Exploded Explod đ㶠exploded¶Các biểu diễn chuỗi trong ký hiệu thập phân chấm. Các số 0 hàng đầu không bao giờ được bao gồm trong đại diện. Vì IPv4 không xác định ký hiệu tốc ký 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.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')4 cho các địa chỉ IPv4. Việc hiển thị các thuộc tính này giúp ghi mã hiển thị dễ dàng hơn có thể xử lý cả địa chỉ IPv4 và IPv6. đóng gói¶ Biểu diễn nhị phân của địa chỉ này - một đối tượng >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'8 có độ dài thích hợp (đầu tiên là octet đáng kể nhất). Đây là 4 byte cho IPv4 và 16 byte cho IPv6. Reverse_pulum¶¶ Tên của bản ghi PTR DNS ngược cho địa chỉ IP, 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' Đây là tên có thể được sử dụng để thực hiện tra cứu PTR, chứ không phải chính tên máy chủ được giải quyết. Mới trong phiên bản 3.5. is_multicast¶¶>>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu địa chỉ được dành riêng cho sử dụng phát đa hướng. Xem RFC 3171 (cho IPv4) hoặc RFC 2373 (cho IPv6).RFC 3171 (for IPv4) or RFC 2373 (for IPv6). là riêng tư¶¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu địa chỉ được phân bổ cho các mạng riêng. Xem IANA-IPV4-Special-Registry (cho IPv4) hoặc IANA-IPV6-Special-Registry (cho IPv6). is_global¶¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu địa chỉ được phân bổ cho các mạng công cộng. Xem IANA-IPV4-Special-Registry (cho IPv4) hoặc IANA-IPV6-Special-Registry (cho IPv6). Mới trong phiên bản 3.4. is_unspecified¶¶>>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 nếu địa chỉ không xác định. Xem RFC 5735 (cho IPv4) hoặc RFC 2373 (cho IPv6).RFC 5735 (for IPv4) or RFC 2373 (for IPv6). is_reserved¶¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 nếu địa chỉ khác được bảo lưu IETF. is_loopback¶¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu đây là địa chỉ loopback. Xem RFC 3330 (cho IPv4) hoặc RFC 2373 (cho IPv6).RFC 3330 (for IPv4) or RFC 2373 (for IPv6). is_link_local¶¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu địa chỉ được dành riêng cho việc sử dụng liên kết-local. Xem RFC 3927.RFC 3927. IPv4Address .__ Định dạng __ (FMT) ¶__format__(fmt)¶ Trả về một biểu diễn chuỗi của địa chỉ IP, được điều khiển 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: >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 13, tùy chọn mặc định, tương đương với >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 14, >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 15 cho chuỗi nhị phân không được đệm, >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 16 hoặc >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 17 cho biểu diễn hexadcal chữ hoa hoặc chữ thường, hoặc >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 18 >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 17 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 >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True1 và tùy chọn nhóm >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True2 có sẵn. >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True3 được sử dụng bởi >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True4, >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True5 và F-String. >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000' Mới trong phiên bản 3.9. classipaddress.ipv6address (địa chỉ) ¶ ipaddress.IPv6Address(address)¶Xây dựng một địa chỉ IPv6. Một >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'6 được nâng lên nếu địa chỉ không phải là địa chỉ IPv6 hợp lệ. Sau đây tạo thành một địa chỉ IPv6 hợp lệ:
>>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')nén¶¶ Hình thức ngắn của biểu diễn địa chỉ, với các số 0 hàng đầu trong các nhóm bị bỏ qua và chuỗi các nhóm dài nhất bao gồm hoàn toàn các số 0 bị sụp đổ thành một nhóm trống duy nhất. Đây cũng là giá trị được trả về bởi >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')4 cho các địa chỉ IPv6. phát nổ¶ Hình thức dài của biểu diễn địa chỉ, với tất cả các số 0 và nhóm hàng đầu bao gồm hoàn toàn các số 0 bao gồm. Đối với 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.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')9: Đóng gói Reverse_Pulum¶ Phiên bản Max_PrefixLen¶ IS_Multicast¶ is_private¶ is_global¶ is_unspecified¶ is_reserved¶ is_loopback¶ is_link_local¶¶ reverse_pointer¶ version¶ max_prefixlen¶ is_multicast¶ is_private¶ is_global¶ is_unspecified¶ is_reserved¶ is_loopback¶ is_link_local¶ Mới trong phiên bản 3.4: IS_Globalis_global is_site_local¶¶>>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu địa chỉ được dành riêng cho việc sử dụng địa điểm địa điểm. Lưu ý rằng không gian địa chỉ địa điểm trang web đã được RFC 3879. sử dụng >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "7 để kiểm tra xem địa chỉ này có nằm trong không gian của các địa chỉ địa phương duy nhất được định nghĩa bởi RFC 4193 hay không.RFC 3879. Use >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "7 to test if this address is in the space of unique local addresses as defined by RFC 4193. ipv4_mapped¶¶ Đối với các địa chỉ dường như là địa chỉ được ánh xạ IPv4 (bắt đầu bằng >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "8), thuộc tính này sẽ báo cáo địa chỉ IPv4 nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9. scope_id¶¶ Đối với các địa chỉ phạm vi theo định nghĩa của RFC 4007, thuộc tính này xác định vùng cụ thể của phạm vi địa chỉ mà địa chỉ thuộc về, dưới dạng chuỗi. Khi không có vùng phạm vi nào được chỉ định, thuộc tính này sẽ là >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9.RFC 4007, this property identifies the particular zone of the address’s scope that the address belongs to, as a string. When no scope zone is specified, this property will be >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9. SixtoFour¶ Đối với các địa chỉ dường như là 6to4 địa chỉ (bắt đầu với >>> list(ip_network('192.0.2.0/29').hosts()) [IPv4Address('192.0.2.1'), IPv4Address('192.0.2.2'), IPv4Address('192.0.2.3'), IPv4Address('192.0.2.4'), IPv4Address('192.0.2.5'), IPv4Address('192.0.2.6')] >>> list(ip_network('192.0.2.0/31').hosts()) [IPv4Address('192.0.2.0'), IPv4Address('192.0.2.1')] >>> list(ip_network('192.0.2.1/32').hosts()) [IPv4Address('192.0.2.1')]1) theo định nghĩa của RFC 3056, thuộc tính này sẽ báo cáo địa chỉ IPv4 nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9.RFC 3056, this property will report the embedded IPv4 address. For any other address, this property will be >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9. teredo¶¶ Đối với các địa chỉ dường như là địa chỉ Teredo (bắt đầu bằng >>> list(ip_network('192.0.2.0/29').hosts()) [IPv4Address('192.0.2.1'), IPv4Address('192.0.2.2'), IPv4Address('192.0.2.3'), IPv4Address('192.0.2.4'), IPv4Address('192.0.2.5'), IPv4Address('192.0.2.6')] >>> list(ip_network('192.0.2.0/31').hosts()) [IPv4Address('192.0.2.0'), IPv4Address('192.0.2.1')] >>> list(ip_network('192.0.2.1/32').hosts()) [IPv4Address('192.0.2.1')]3) theo định nghĩa của RFC 4380, thuộc tính này sẽ báo cáo cặp địa chỉ IP >>> list(ip_network('192.0.2.0/29').hosts()) [IPv4Address('192.0.2.1'), IPv4Address('192.0.2.2'), IPv4Address('192.0.2.3'), IPv4Address('192.0.2.4'), IPv4Address('192.0.2.5'), IPv4Address('192.0.2.6')] >>> list(ip_network('192.0.2.0/31').hosts()) [IPv4Address('192.0.2.0'), IPv4Address('192.0.2.1')] >>> list(ip_network('192.0.2.1/32').hosts()) [IPv4Address('192.0.2.1')]4 nhúng. Đối với bất kỳ địa chỉ nào khác, tài sản này sẽ là >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9.RFC 4380, this property will report the embedded >>> list(ip_network('192.0.2.0/29').hosts()) [IPv4Address('192.0.2.1'), IPv4Address('192.0.2.2'), IPv4Address('192.0.2.3'), IPv4Address('192.0.2.4'), IPv4Address('192.0.2.5'), IPv4Address('192.0.2.6')] >>> list(ip_network('192.0.2.0/31').hosts()) [IPv4Address('192.0.2.0'), IPv4Address('192.0.2.1')] >>> list(ip_network('192.0.2.1/32').hosts()) [IPv4Address('192.0.2.1')]4 IP address pair. For any other address, this property will be >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File "9. IPv6Address .__ Định dạng __ (FMT) ¶__format__(fmt)¶ Tham khảo tài liệu phương thức 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')9. Mới trong phiên bản 3.9. classipaddress.ipv6address (địa chỉ) ¶Xây dựng một địa chỉ IPv6. Một >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'6 được nâng lên nếu địa chỉ không phải là địa chỉ IPv6 hợp lệ. >>> str(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> int(ipaddress.IPv4Address('192.168.0.1')) 3232235521 >>> str(ipaddress.IPv6Address('::1')) '::1' >>> int(ipaddress.IPv6Address('::1')) 1 Lưu ý rằng các địa chỉ phạm vi IPv6 được chuyển đổi thành số nguyên không có ID vùng phạm vi. Người điều khiển trongĐối tượng địa chỉ hỗ trợ một số toán tử. Trừ khi có quy định khác, các toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích (nghĩa là 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ùng một địa chỉ IPv6 với ID vùng phạm vi khác nhau không bằng nhau. Vài ví dụ: >>> IPv4Address('127.0.0.2') > IPv4Address('127.0.0.1') True >>> IPv4Address('127.0.0.2') == IPv4Address('127.0.0.1') False >>> IPv4Address('127.0.0.2') != IPv4Address('127.0.0.1') True >>> IPv6Address('fe80::1234') == IPv6Address('fe80::1234%1') False >>> IPv6Address('fe80::1234%1') != IPv6Address('fe80::1234%2') True Người vận hành số họcSố nguyên có thể được thêm vào hoặc trừ khỏi các đối tượng địa chỉ. Vài ví dụ: >>> IPv4Address('127.0.0.2') + 3 IPv4Address('127.0.0.5') >>> IPv4Address('127.0.0.2') - 3 IPv4Address('126.255.255.255') >>> IPv4Address('255.255.255.255') + 1 Traceback (most recent call last): File " Định nghĩa mạng IPCá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'3 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'4 cung cấp một cơ chế để xác định và kiểm tra các định nghĩa mạng IP. Một định nghĩa mạng bao gồm một mặt nạ và địa chỉ mạng và như vậy định nghĩa một loạt các địa chỉ IP bằng địa chỉ mạng khi bị che dấu (nhị phân và) với mặt nạ. Ví dụ: định nghĩa mạng với mặt nạ >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')01 và địa chỉ mạng >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')02 bao gồm các địa chỉ IP trong phạm vi bao gồm >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')02 đến >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')04. Tiền tố, mặt nạ net và mặt nạ chủCó một số cách tương đương để chỉ định mặt nạ mạng IP. Tiền tố >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')05 là một ký hiệu biểu thị có bao nhiêu bit bậc cao được đặt trong mặt nạ mạng. Mặt nạ NET là địa chỉ IP với một số bit thứ tự cao được đặt. Do đó, tiền tố >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')06 tương đương với mặt nạ Net >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')01 trong IPv4 hoặc >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')08 trong IPv6. Ngoài ra, mặt nạ chủ là nghịch đảo logic của mặt nạ NET 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.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')06 trong IPv4 là >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')10. Đối tượng mạngTấ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'3 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'4, 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'3. 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.hashable, so they can be used as keys in dictionaries. classipaddress.ipv4network (địa chỉ, nghiêm ngặt = true) ¶ipaddress.IPv4Network(address, strict=True)¶ Xây dựng một định nghĩa mạng IPv4. Địa chỉ có thể là một trong những điều sau đây:
Một >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'6 được nâng lên nếu địa chỉ không phải là địa chỉ IPv4 hợp lệ. Một >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')24 được nâng lên nếu mặt nạ không có giá trị đối với địa chỉ IPv4. Nếu nghiêm ngặt là >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 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'2 sẽ được nâng lên. Mặt khác, các bit máy chủ được che ra để 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.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')27 nếu phiên bản IP của đối số không tương thích với >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')28. Đã thay đổi trong phiên bản 3.5: Đã thêm biểu mẫu hai tuple cho tham số Constructor địa chỉ.Added the two-tuple form for the address constructor parameter. 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')9. is_multicast¶ is_private¶ is_unspecified¶ is_reserved¶ is_loopback¶ is_link_local¶¶ is_private¶ is_unspecified¶ is_reserved¶ is_loopback¶ is_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ỉ phát sóng. đị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. phát sóng_address¶¶Địa chỉ phát sóng cho mạng. Các gói được gửi đến địa chỉ phát sóng nên được nhận bởi mỗi máy chủ trên mạng. hostmask¶¶Mặt nạ chủ, như 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')9. Netmask¶¶ Mặt nạ Net, như 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')9. với_prefixlen¶ nén Exploded¶¶ compressed¶ exploded¶ 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.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')32 và >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')33 luôn giống như >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')34. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')35 sử dụng biểu mẫu bùng nổ địa chỉ mạng. với_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ạ. với_hostmask¶¶Một biểu diễn chuỗi của mạng, với mặt nạ trong ký hiệu mặt nạ chủ. num_addresses¶¶Tổng số địa chỉ trong mạng. PrefixLen¶¶Độ dài của tiền tố mạng, tính bằng bit. máy chủ () ¶()¶Trả về một trình lặp qua các máy chủ có thể sử dụng 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ỉ phát sóng mạng. Đối với các mạng có chiều dài mặt nạ là 31, địa chỉ mạng và địa chỉ phát sóng mạng cũng được bao gồm trong kết quả. Các mạng có mặt nạ 32 sẽ trả về danh sách chứa địa chỉ máy chủ duy nhất. >>> list(ip_network('192.0.2.0/29').hosts()) [IPv4Address('192.0.2.1'), IPv4Address('192.0.2.2'), IPv4Address('192.0.2.3'), IPv4Address('192.0.2.4'), IPv4Address('192.0.2.5'), IPv4Address('192.0.2.6')] >>> list(ip_network('192.0.2.0/31').hosts()) [IPv4Address('192.0.2.0'), IPv4Address('192.0.2.1')] >>> list(ip_network('192.0.2.1/32').hosts()) [IPv4Address('192.0.2.1')]sự chồng chéo (khác) ¶(other)¶ >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 Nếu mạng này được chứa một phần hoặc hoàn toàn trong khác hoặc khác hoàn toàn được chứa trong mạng này. Địa chỉ_exclude (mạng) ¶(network)¶ Tính toán các định nghĩa mạng do loại bỏ mạng đã cho ra khỏi mạng này. Trả về một trình lặp lại 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'2 nếu mạng không hoàn toàn chứa trong mạng này. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')0 Subnets (prefixlen_diff = 1, new_prefix = none) ¶(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ố. prefixlen_diff là số lượng tiền tố của chúng tôi phải được tăng lên. new_prefix là tiền tố mới mong muốn của các mạng con; Nó phải lớn hơn tiền tố của chúng tôi. Một và chỉ một trong số prefixlen_diff và new_prefix phải được đặt. Trả về một trình lặp lại của các đối tượng mạng. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')1 Supernet (prefixlen_diff = 1, new_prefix = none) ¶(prefixlen_diff=1, new_prefix=None)¶ Supernet chứa định nghĩa mạng này, tùy thuộc vào các giá trị đối số. prefixlen_diff là số lượng thời gian tiền tố của chúng tôi phải được giảm bởi. new_prefix là tiền tố mới mong muốn của Supernet; Nó phải nhỏ hơn tiền tố của chúng tôi. Một và chỉ một trong số prefixlen_diff và new_prefix phải được đặt. Trả về một đối tượng mạng duy nhất. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')2 subnet_of (khác) ¶(other)¶ Trả về >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 nếu mạng này là mạng con của khác. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')3 Mới trong phiên bản 3.7. Supernet_of (khác) ¶(other)¶Trả về >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 nếu mạng này là siêu mạng khác. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')4 Mới trong phiên bản 3.7. Supernet_of (khác) ¶(other)¶Trả về >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 nếu mạng này là siêu mạng khác. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')5 compare_networks (khác) ¶It uses the same ordering and comparison algorithm as “<”, “==”, and “>” So sánh mạng này với khác. Trong so sánh này, chỉ có các địa chỉ mạng được xem xét; Bit chủ aren. Trả về>>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')40, >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')41 hoặc >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')42.ipaddress.IPv6Network(address, strict=True)¶ Đã không dùng
Một số nguyên được đóng gói vào một đối tượng >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'8 có độ dài 16, lớn. Việc giải thích tương tự như một địa chỉ số nguyên. Một phần hai của mô tả địa chỉ và netmask, 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 IPv6Address hiện có; và NetMask là một số nguyên đại diện cho độ dài tiền tố. Một >>> ipaddress.IPv6Address('2001:db8::1000') IPv6Address('2001:db8::1000') >>> ipaddress.IPv6Address('ff02::5678%1') IPv6Address('ff02::5678%1')6 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'2 sẽ được nâng lên. Mặt khác, các bit máy chủ được che ra để xác định địa chỉ mạng thích hợp.¶ max_prefixlen¶ is_multicast¶ is_private¶ is_unspecified¶ is_reserved¶ is_loopback¶ is_link_local¶ network_address¶ broadcast_address¶ hostmask¶ netmask¶ with_prefixlen¶ compressed¶ exploded¶ with_netmask¶ with_hostmask¶ num_addresses¶ prefixlen¶ hosts()¶ Đã thay đổi trong phiên bản 3.5: Đã thêm biểu mẫu hai tuple cho tham số Constructor địa chỉ. chồng chéo (khác) ¶ address_exclude (mạng) SubSets (prefixlen_diff = 1, new_prefix = none) ¶ Supernet (prefixlen_diff = 1, new_prefix = none)(other)¶ 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'3. is_site_local¶¶ Các 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ỉ phát sóng. Người điều khiển trongĐối tượng mạng hỗ trợ một số nhà khai thác. Trừ khi có quy định khác, các toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích (nghĩa là IPv4 với IPv4, IPv6 với IPv6). Người vận hành logicCá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 đặt hàng đầu tiên theo địa chỉ mạng, sau đó bằng mặt nạ. Sự lặp lạiCá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. Đối với phép lặp, tất cả các máy chủ được trả lại, bao gồm các máy chủ không thể sử dụng (đối với máy chủ có thể sử dụng, sử dụng phương thức >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')54). Một ví dụ: >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')6 Mạng như các thùng chứa địa chỉĐối tượng mạng có thể hoạt động như các thùng chứa địa chỉ. Vài ví dụ: >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')7 Đối tượng giao diệnCá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.hashable, so they can be used as keys in dictionaries. classipaddress.ipv4interface (địa chỉ) ¶ipaddress.IPv4Interface(address)¶Xây dựng giao diện IPv4. Ý nghĩa của địa chỉ là 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'3, ngoại trừ các địa chỉ máy chủ tùy ý luôn được chấp nhậ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'9 là một lớp con của >>> 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')9, vì vậy nó kế thừa tất cả các thuộc tính từ lớp đó. Ngoài ra, các thuộc tính sau có sẵn: ip¶¶ Địa 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')9) mà không có thông tin mạng. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')8 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'3) giao diện này thuộc về. >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')9 với_prefixlen¶¶ Một biểu diễn chuỗi 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 với_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 với_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 classipaddress.ipv6interface (địa chỉ) ¶ ipaddress.IPv6Interface(address)¶ Xây dựng giao diện IPv6. Ý nghĩa của địa chỉ là 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. >>> format(ipaddress.IPv4Address('192.168.0.1')) '192.168.0.1' >>> '{:#b}'.format(ipaddress.IPv4Address('192.168.0.1')) '0b11000000101010000000000000000001' >>> f'{ipaddress.IPv6Address("2001:db8::1000"):s}' '2001:db8::1000' >>> format(ipaddress.IPv6Address('2001:db8::1000'), '_X') '2001_0DB8_0000_0000_0000_0000_0000_1000' >>> '{:#_n}'.format(ipaddress.IPv6Address('2001:db8::1000')) '0x2001_0db8_0000_0000_0000_0000_0000_1000'0 là một lớp con 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'0, vì vậy nó kế thừa tất cả các thuộc tính từ lớp đó. Ngoài ra, các thuộc tính sau có sẵn: IP¶ Network¶ with_prefixlen¶ with_netmask¶ with_hostmask¶¶ network¶ with_prefixlen¶ with_netmask¶ with_hostmask¶ 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'9. Người điều khiển trongĐối tượng mạng hỗ trợ một số nhà khai thác. Trừ khi có quy định khác, các toán tử chỉ có thể được áp dụng giữa các đối tượng tương thích (nghĩa là IPv4 với IPv4, IPv6 với IPv6). Người vận hành logicCá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 đặt hàng đầu tiên theo địa chỉ mạng, sau đó bằng mặt nạ. Sự lặp lại 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. Đối với phép lặp, tất cả các máy chủ được trả lại, bao gồm các máy chủ không thể sử dụng (đối với máy chủ có thể sử dụng, sử dụng phương thức >>> ipaddress.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')54). Một ví dụ: Mạng như các thùng chứa địa chỉĐối tượng mạng có thể hoạt động như các thùng chứa địa chỉ. Vài ví dụ: Đối tượng giao diệnv4_int_to_packed(address)¶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. >>> 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 classipaddress.ipv4interface (địa chỉ) ¶v6_int_to_packed(address)¶ Xây dựng giao diện IPv4. Ý nghĩa của địa chỉ là 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'3, ngoại trừ các địa chỉ máy chủ tùy ý luôn được chấp nhậ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'9 là một lớp con của >>> 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')9, vì vậy nó kế thừa tất cả các thuộc tính từ lớp đó. Ngoài ra, các thuộc tính sau có sẵn:summarize_address_range(first, last)¶ ip¶ >>> 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ỉ ( >>> 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')9) mà không có thông tin mạng.collapse_addresses(addresses)¶ 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')5 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'3) giao diện này thuộc về.get_mixed_type_key(obj)¶ Trả về một khóa phù hợp để sắp xếp giữa các mạng và địa chỉ.Địa chỉ và đối tượng mạng không thể sắp xếp theo mặc định;Họ khác nhau về cơ bản, vì vậy biểu hiệ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')6 Doesn có ý nghĩa.Tuy nhiên, có một số lần, nơi bạn có thể muốn 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')7 sắp xếp những thứ này.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.ip_network('192.168.0.0/28') IPv4Network('192.168.0.0/28')82. OBJ là một mạng hoặc đối tượng địa chỉ. Ngoại lệ tùy chỉnh OrĐể hỗ trợ báo cáo lỗi cụ thể hơn từ các trình xây dựng lớp, mô -đun xác định các ngoại lệ sau: ExceptionIpAddress.AddressValueError (valueError) ¶ ipaddress.AddressValueError(ValueError)¶Bất kỳ lỗi giá trị liên quan đến địa chỉ. ExceptionIpAddress.NetmaskValueError (valueError) ¶ ipaddress.NetmaskValueError(ValueError)¶Bất kỳ lỗi giá trị liên quan đến mặt nạ mạng. |