相信不只我乙個人有過這樣的想法:只要ip的前三段相同,就是在同一網段了。真相不是這樣的。
ip位址根據網路id的不同分為5種型別,a類位址、b類位址、c類位址、d類位址和e類位址。
那麼如何判斷兩個ip是否在同一網段呢?
如:ip:192.168.0.1 子網掩碼:255.255.255.0
將兩者4段對位做與運算(&),得到192.168.0.0(網路標識),
相同做法,將另乙個ip也做這樣的操作,得到另乙個網路標識,若兩個網路標識是相等的,那麼,這兩個ip就屬於同乙個網段的ip,否則不是同網段。
知道了具體操作了,所以寫**來實現吧。別急,python的庫這麼強大,能不寫好麼?
# 包:py2-ipaddress==3.4.1
import ipaddress
a = ipaddress.ipv4address('192.168.1.2')
b = ipaddress.ipv4network('192.168.1.0/24')
a in b
true
# ip位址a,在b網段中
如何判斷兩個IP是否在同一網段
下來舉例說明,如何去判斷a和b兩個ip是否在同一網段。a ip 202.194.128.9 b ip 202.194.128.14 子網掩碼 255.255.255.0 1.把a和b的位址轉換為二進位制的 a 1100 1010.1100 0010.1000 0000.0000 1001 b 110...
如何判斷IP位址是否為同一網段
一 名詞解析 ip 不同計算機的 號碼 主要在網路層。第三層 mac 不同計算機的身份證號 主要在資料鏈路層。第二層 dns 從網域名稱到ip位址的解析 子網掩碼 將某個ip位址劃分為網路位址和主機位址 閘道器 傳輸層 定義 乙個網路通向另乙個網路的ip位址 二 區分網段 區分網段需要用到兩個概念,...
如何確定IP在同一網段
我們將ip位址分為了 a b 五大類,但是d和e不對民用組織開放,所以我們能使用ip位址的只有abc三類。判斷四組ip的第乙個陣列來確定是哪類。注意 127.0.0.1不再裡面,是因為它代表當前計算機自己 1.a類ip用第乙個數字來表示不同網段。例如 1.0.0.0和2.0.0.0是不同的網路。不同...