Làm cách nào để kiểm tra địa chỉ ip trong python?

Trong hướng dẫn này, chúng ta sẽ học cách xác thực địa chỉ IP trong Python bằng một số cách. Nó rất hữu ích khi chúng ta viết các chương trình cấp hệ điều hành. Nếu chúng tôi đang phát triển một số ứng dụng web trong Django hoặc Flask, chúng tôi có thể cần xác định xem địa chỉ IP của người dùng có hợp lệ hay không. Xác thực địa chỉ IP là điều cần thiết để ngăn chặn gian lận, cung cấp dịch vụ vị trí được nhắm mục tiêu cho người dùng và hơn thế nữa

Hãy giới thiệu ngắn gọn về địa chỉ IP

Địa chỉ IP [Giao thức Internet] là gì?

IP là viết tắt của giao thức internet; . Nó đề cập đến một bộ quy tắc chi phối một phần cách dữ liệu được gửi trên internet. Nó kết hợp phân giải DNS và truyền thông tin từ máy tính này sang máy tính khác

Có hai phiên bản địa chỉ IP chủ yếu - IPv4 và IPv6

IPv4 so với IPv6

Địa chỉ IPv4 mà chúng ta có lẽ đã quen thuộc. Một IPv4 bao gồm bốn số [mỗi số từ 0 đến 255] được phân tách bằng dấu chấm. Định dạng địa chỉ IP là một địa chỉ số 32 bit được viết dưới dạng bốn số thập phân được gọi là [bát phân]. Nó cung cấp sự kết hợp cho 4. 3 tỷ địa chỉ duy nhất

Thí dụ -

IPv6

Đây là phiên bản mới hơn và hơi khác so với phiên bản trước. Nó trông giống như dưới đây

Nó sử dụng sự kết hợp của các ký tự chữ và số. Nó có số lượng không gian có sẵn mà một địa chỉ IPv4 bao gồm ba lần. Đó là không gian địa chỉ 128 bit kết hợp 2128 địa chỉ duy nhất, trong khi IPv4 cho phép 4. 3 tỷ địa chỉ không gian duy nhất. Đó là số lượng địa chỉ gấp 1028 lần so với IPv4

Tại sao chúng ta cần IPv6?

Mặc dù IPv4 được gọi là "phiên bản 4", đây là phiên bản IP đầu tiên được tạo ra và đã xuất hiện kể từ khi phát minh ra internet. Vào thời điểm đó, các kỹ sư không thể ngờ rằng 4. 3 tỷ địa chỉ IP sẽ không đủ đáp ứng yêu cầu. Năm 2022, khoảng 4. 29 tỷ địa chỉ đã được sử dụng bởi nhiều điện thoại thông minh, máy tính xách tay và máy tính bảng khác nhau

Cách xác thực địa chỉ IP trong Python

Trong phần này, chúng ta sẽ thấy nhiều cách khác nhau để xác thực địa chỉ IP

Phương pháp - 1 Sử dụng phương thức đếm[]

Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

Giải trình

Trong đoạn mã trên, chúng ta đã sử dụng phương thức count[] để đếm. [dấu chấm] dấu phân cách. Nếu số lượng dấu tách nhỏ hơn 3, địa chỉ IP đã nhập không hợp lệ. Sau đó, chúng tôi kiểm tra phạm vi của từng số giữa các khoảng thời gian. Nếu điều kiện được thỏa mãn nghĩa là IP đã nhập hợp lệ

Đây là một ví dụ dễ dàng xác thực địa chỉ IP

Phương pháp - 2. Sử dụng một tập hợp[]

Hãy hiểu ví dụ sau -

Thí dụ -

đầu ra

Giải trình -

Trong mã, chúng tôi đã khởi tạo biến đếm đếm số lượng. dấu chấm từ địa chỉ IP. Nếu số lượng dấu phân cách nhỏ hơn 3, thì địa chỉ IP đã nhập không hợp lệ và nếu điều kiện là đúng, hãy khởi tạo set_val dưới dạng một tập hợp. Trong set_val, chúng tôi đã thêm các số dưới dạng chuỗi trong khoảng từ 0 đến 256. Sau đó, chúng tôi đã khởi tạo lại biến đếm và tạm thời dưới dạng một chuỗi rỗng. Vòng lặp for lặp lại và kiểm tra xem chuỗi có khác dấu chấm không; . Mặt khác, chúng tôi kiểm tra xem chuỗi đã có trong set_val chưa;

Sau đó, chúng tôi xác minh số đếm;

Phương pháp - 3. Sử dụng mô-đun ipadpress[]

Python đi kèm với một mô-đun tiện dụng được gọi là ipaddress có thể được sử dụng để xác thực địa chỉ IP và thực hiện một số phép tính số học cơ bản trên địa chỉ IP. Nó không đánh giá địa chỉ IP một cách rõ ràng rằng một địa chỉ là một địa chỉ IP hợp lệ, nhưng chúng ta cần sử dụng một số logic để làm điều đó

Nó cung cấp cách mạnh mẽ và an toàn nhất để xác định địa chỉ IP hợp lệ. Nó hỗ trợ cả địa chỉ IPv4 và IPv6

Để sử dụng mô-đun này, chúng ta cần nhập nó vào mã Python

Hãy hiểu ví dụ sau

Thí dụ -

đầu ra

The IP address '127.0.0.2.4' is not valid
The IP address 127.0.0.0 is valid

Ưu điểm của việc sử dụng mô-đun này là nó có thể xác thực địa chỉ IPv4 và IPv6

đầu ra

The IP address 2001:db8:75a2::8a2e:340:5625 is valid

Xác thực IP bằng Regex

Trong phương pháp này, chúng tôi sẽ sử dụng biểu thức chính quy tùy chỉnh để kiểm tra hình dạng của chuỗi IP được cung cấp. Python cung cấp thư viện re, được sử dụng để phân tích cú pháp và so khớp Regex

Phương pháp này không hiệu quả và mạnh mẽ hơn mô-đun ipaddress; . Chúng ta cũng phải viết hai logic để kiểm tra địa chỉ IPv4 và IPv6

Để xác thực IPv4, chúng tôi tạo chuỗi Regex khớp với địa chỉ IPv4. Hãy hiểu Regex sau đây

"[0-9]{1,3}\. [0-9]{1,3}\. [0-9]{1,3}\. [0-9]{1,3}"

Hãy hiểu từng thành phần của nó

  • [0-9] - Nó chỉ ra rằng chúng tôi đang tìm kiếm một ký tự số từ 0 đến 9
  • {1,3} - Nó chỉ ra rằng chúng tôi đang tìm kiếm ít nhất là một hoặc nhiều nhất là ba phiên bản của bộ ký tự trước đó
  • \. - Nó yêu cầu trình phân tích cú pháp kiểm tra. tính cách. Trong Regex, chúng ta cần sử dụng \ escape để xác định rằng chúng ta đang tìm kiếm một ký tự đặc biệt

Ba thành phần đó tạo thành một byte của địa chỉ IP [Ví dụ 255. ] Bây giờ chúng tôi lặp lại các thành phần này bốn lần

Chúng ta cần nhập mô-đun re để sử dụng Regex trong Python. Tiếp theo, chúng ta sẽ sử dụng hàm match[] để kiểm tra đầu vào so với Biểu thức chính quy

Thí dụ -

đầu ra

Bây giờ hãy triển khai chức năng xác thực hoàn chỉnh

Thí dụ -

đầu ra

The IP address 127.0.0.1 is valid

Sự kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu về nhiều cách khác nhau để xác thực địa chỉ IP, bao gồm mô-đun ipaddress tích hợp sẵn. Chúng tôi đã tìm hiểu xem IPv4 khác với địa chỉ IPv6 như thế nào và tại sao chúng tôi yêu cầu địa chỉ IPv6. Bạn có thể dễ dàng tìm thấy địa chỉ IP hiện tại trên hệ thống của mình. Mở cài đặt thiết bị rồi mở Tùy chọn hệ thống > Mạng > Chọn WiFi hoặc Ethernet, tùy thuộc vào kết nối của bạn

Python xác minh địa chỉ IP như thế nào?

Phương thức - 1 Sử dụng phương thức đếm[] .
xác thực hợp lệ_ip [s]
# kiểm tra số tiết
nếu s. đếm['. ']. = 3
trả về 'Địa chỉ IP không hợp lệ'
ip_list = danh sách [bản đồ [str, s. tách ra['. .
# kiểm tra phạm vi của từng số giữa các khoảng thời gian
cho phần tử trong ip_list
nếu int[phần tử] < 0 hoặc int[phần tử] > 255 hoặc [phần tử[0]=='0' và len[phần tử]. =1]

Địa chỉ IP trong Python là gì?

IP [Giao thức Internet] -Địa chỉ là khái niệm cơ bản cơ bản của mạng máy tính cung cấp khả năng gán địa chỉ cho mạng . Python cung cấp mô-đun ipaddress được sử dụng để xác thực và phân loại địa chỉ IP theo loại của chúng [IPv4 hoặc IPv6].

Làm cách nào để phát hiện địa chỉ IP?

Đối với kết nối Wi-Fi .
Chọn Bắt đầu > Cài đặt > Mạng & internet > Wi-Fi rồi chọn mạng Wi-Fi mà bạn đã kết nối
Trong Thuộc tính, hãy tìm địa chỉ IP của bạn được liệt kê bên cạnh địa chỉ IPv4

Chủ Đề