Làm cách nào để kiểm tra địa chỉ IP hợp lệ trong python?

Giả sử chúng ta có một chuỗi;

Các địa chỉ IPv4 được biểu diễn theo quy tắc dưới dạng ký hiệu thập phân chấm, bao gồm bốn số thập phân, mỗi số nằm trong khoảng từ 0 đến 255, được phân tách bằng dấu chấm [". "], Ví dụ: 192. 168. 254. 1; . Ví dụ: địa chỉ 192. 168. 254. 01 không hợp lệ

Các địa chỉ IPv6 được biểu diễn dưới dạng tám nhóm gồm bốn chữ số thập lục phân, mỗi nhóm biểu thị 16 bit. Các nhóm được phân tách bằng dấu hai chấm [". "]. Ví dụ: giả sử địa chỉ là 2001. 0db8. 85a3. 0000. 0000. 8a2e. 0370. 7334 là một địa chỉ hợp lệ. Ngoài ra, chúng ta có thể bỏ một số số 0 đứng đầu trong số bốn chữ số thập lục phân và một số ký tự chữ thường trong địa chỉ thành chữ hoa, vì vậy 2001. db8. 85a3. 0. 0. 8A2E. 0370. 7334 địa chỉ này cũng hợp lệ

Tuy nhiên, chúng tôi không thay thế một nhóm liên tiếp có giá trị bằng 0 bằng một nhóm trống duy nhất bằng cách sử dụng hai dấu hai chấm liên tiếp [. ] theo đuổi sự đơn giản. Vì vậy, ví dụ, năm 2001. 0db8. 85a3. 8A2E. 0370. 7334 là địa chỉ IPv6 không hợp lệ. Ngoài ra, thêm các số 0 đứng đầu trong IPv6 cũng không hợp lệ. Địa chỉ 02001. 0db8. 85a3. 0000. 0000. 8a2e. 0370. 7334 không hợp lệ

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Xác định một phương thức checkv4[x], điều này sẽ kiểm tra xem x có nằm trong phạm vi từ 0 đến 255 hay không, sau đó là true, nếu không thì là false

    IP là viết tắt của giao thức internet, một địa chỉ duy nhất được gán cho mọi máy tính được kết nối với internet. Có hai phiên bản địa chỉ IP có tên là IPv4IPv6

    IPv4 được biểu diễn bằng ký hiệu thập phân chấm và bao gồm bốn octet, với mỗi octet chứa một số nằm trong khoảng từ 0 đến 255. Địa chỉ IPv6 chứa tám nhóm bốn chữ số thập lục phân, mỗi chữ số đại diện cho 16 bit

    Dấu hai chấm phân tách các nhóm [

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    0]. Trong hướng dẫn này, chúng tôi sẽ xác thực địa chỉ IPv4

    Xác thực địa chỉ IP có nghĩa là kiểm tra xem IP đầu vào có hợp lệ hay không

    Ví dụ

    Input: 192.168.52.124
    Output: Valid IP address
    
    Input: 656.1.2.3
    Output: Invalid IP address
    

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    1 là một mô-đun trong Python được sử dụng để kiểm tra và phân loại địa chỉ IP dựa trên loại của chúng [IPv4 hoặc IPv6]. Nó cũng thực hiện các phép toán khác nhau như phép toán số học, so sánh, v.v.

    Mô-đun này có một phương thức tên là

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    2 xác thực địa chỉ IP. Hàm này lấy một chuỗi IP làm đầu vào và nếu nó có thể chuyển đổi thành công chuỗi IP thành một đối tượng của địa chỉ IPv4 hoặc IPv6, điều đó có nghĩa là địa chỉ IP đầu vào hợp lệ

    Nếu không, nó sẽ phát sinh lỗi giá trị rằng IP dường như không phải là địa chỉ IPv4 hoặc IPv6. Chúng tôi đã nhập mô-đun

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    1 trong đoạn mã sau và viết toàn bộ mã trong khối
    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    4

    Nếu IP hợp lệ, sẽ không có ngoại lệ nào tăng lên và nếu không, ngoại lệ lỗi giá trị sẽ được xử lý bởi khối

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    5

    Trường hợp 1. Đối với địa chỉ IP hợp lệ

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    

    đầu ra

    ________số 8_______

    trường hợp 2. Đối với địa chỉ IP không hợp lệ

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["992.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    

    đầu ra

    #Python 3.x
    Invalid IP Address
    

    Một cách khác để xác thực địa chỉ IP là khớp nó với mẫu được xác định trước của địa chỉ IP hợp lệ thông qua biểu thức chính quy. Chúng tôi đã xác thực địa chỉ IP trong đoạn mã sau bằng cách gọi phương thức

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    6 của mô-đun
    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    7 và chuyển biểu thức chính quy và IP làm đối số

    Phương thức này trả về

    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    8 nếu IP hợp lệ. Ngược lại, nó trả về
    #Python 3.x
    import ipaddress
    try:
        ip = ipaddress.ip_address["192.168.1.1"]
        print["Valid IP Address"]
    except ValueError:
        print["Invalid IP Address"]
    
    9

    Mã ví dụ

    #Python 3.x
    import re
    ip = "192.168.2.3"
    regex = "^[[25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]]\.]{3}[25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9]]$"
    if[re.search[regex, ip]]:
        print["Valid IP Address"]
    else:
        print["Invalid IP Address"]
    

    đầu ra

    ________số 8_______

    Chúng tôi có thể xác thực địa chỉ IP mà không cần bất kỳ biểu thức chính quy thư viện tích hợp nào. Chúng tôi đã tạo một chức năng xác thực địa chỉ IP bằng cách kiểm tra ba điều kiện này trong đoạn mã sau

    Làm cách nào để biết địa chỉ IP hợp lệ hay không hợp lệ trong Python?

    Sử dụng mô-đun ipaddress. Mô-đun ipaddress trong Python cung cấp các lớp để làm việc với địa chỉ IP và mạng. Nó có thể được sử dụng để kiểm tra xem một địa chỉ IP nhất định có hợp lệ hay không bằng cách sử dụng hàm ip_address và bắt bất kỳ trường hợp ngoại lệ nào có thể xảy ra.

    Làm cách nào để xác thực địa chỉ IP bằng biểu thức chính quy trong Python?

    Địa chỉ IP sử dụng xác thực sau. .
    255 ---> 250-255
    249 ---> 200-249
    199 ---> 100-199
    99 ---> 10-99
    9 ---> 1-9 nhập lại k = 0 trong khi k < 5. i = input["\nNhập địa chỉ IP. "] ip = lại. trận đấu["^[[1][0-9][0-9]. ^[2][5][0-5]. ^[2][0-4][0-9]. ^[1][0-9][0-9]. ^[0-9][0-9]. ^[0-9]

    Làm cách nào để tìm địa chỉ IP từ chuỗi trong Python?

    Hãy để chúng tôi xem cách trích xuất địa chỉ IP từ một tệp bằng Python. .
    Nhập mô-đun lại cho biểu thức chính quy
    Mở tệp bằng hàm open[]
    Đọc tất cả các dòng trong tệp và lưu trữ chúng trong danh sách
    Khai báo mẫu cho địa chỉ IP. Mẫu regex là

    Lệnh cho địa chỉ IP hợp lệ là gì?

    Lệnh ipconfig hiển thị thông tin địa chỉ IP cơ bản cho từng giao diện mạng trên hệ thống Windows.

Chủ Đề