摘要:需求在某應(yīng)用中,需要根據(jù)一定的規(guī)則生成隨機(jī)的地址,規(guī)則類似于這樣的形式給出。實(shí)現(xiàn)經(jīng)過艱苦卓絕的調(diào)試,下面的代碼是可以用的生成的結(jié)果如備注這一用法,目的在于消除上位以上的高位數(shù)據(jù)。因此,在使用之前,需要利用清除高位。
需求
在某應(yīng)用中,需要根據(jù)一定的規(guī)則生成隨機(jī)的IP地址,規(guī)則類似于192.168.11.0/24這樣的CIDR形式給出。
實(shí)現(xiàn)經(jīng)過艱苦卓絕的調(diào)試,下面的代碼是可以用的:
RANDOM_IP_POOL=["192.168.10.222/0"] def __get_random_ip(): str_ip = RANDOM_IP_POOL[random.randint(0,len(RANDOM_IP_POOL) - 1)] str_ip_addr = str_ip.split("/")[0] str_ip_mask = str_ip.split("/")[1] ip_addr = struct.unpack(">I",socket.inet_aton(str_ip_addr))[0] mask = 0x0 for i in range(31, 31 - int(str_ip_mask), -1): mask = mask | ( 1 << i) ip_addr_min = ip_addr & (mask & 0xffffffff) ip_addr_max = ip_addr | (~mask & 0xffffffff) return socket.inet_ntoa(struct.pack(">I", random.randint(ip_addr_min, ip_addr_max)))
生成的結(jié)果如:
192.168.10.175 192.168.10.29 192.168.10.30 192.168.10.207 192.168.10.248 192.168.10.145 192.168.10.168 192.168.10.223 192.168.10.66 192.168.10.138 192.168.10.99 192.168.10.136 192.168.10.147 192.168.10.244 192.168.10.73 192.168.10.180備注
(mask & 0xffffffff)這一用法,目的在于消除mask上32位以上的高位數(shù)據(jù)。由于mask是IPv4的掩碼,所以不需要32位以上的數(shù)據(jù)。這一問題在mask取反之后比較明顯。由于mask是一個32位以上的數(shù)(有可能是64位),取反之后,高位全部為1,計算的結(jié)果就不正確了。因此,在使用之前,需要利用(mask & 0xffffffff)清除高位。
供各位讀者參考。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/37571.html
摘要:爬蟲實(shí)戰(zhàn)二爬取西刺代理的代理對于剛?cè)腴T的同學(xué)來說,本次實(shí)戰(zhàn)稍微有點(diǎn)難度,但是簡單的爬取圖片文本之類的又沒營養(yǎng),所以這次我選擇了爬取西刺代理的地址,爬取的代理也能在以后的學(xué)習(xí)中用到本次實(shí)戰(zhàn)用的主要知識很多,其中包括自動保存利用抓包工具獲取和匹 爬蟲實(shí)戰(zhàn)(二):爬取西刺代理的代理ip 對于剛?cè)腴T的同學(xué)來說,本次實(shí)戰(zhàn)稍微有點(diǎn)難度,但是簡單的爬取圖片、文本之類的又沒營養(yǎng),所以這次我選擇了爬...
摘要:總的來說有兩種反爬策略,要么驗證身份,把蟲子踩死在門口要么在網(wǎng)站植入各種反爬機(jī)制,讓爬蟲知難而退。本節(jié)內(nèi)容就著這兩種反爬策略提出一些對策。內(nèi)嵌反爬很靈活,沒有什么固定的代碼格式,要花時間去分析出來。 ??之前提到過,有些網(wǎng)站是防爬蟲的。其實(shí)事實(shí)是,凡是有一定規(guī)模的網(wǎng)站,大公司的網(wǎng)站,或是盈利性質(zhì)比較強(qiáng)的網(wǎng)站,都是有高級的防爬措施的??偟膩碚f有兩種反爬策略,要么驗證身份,把蟲子踩死在門口...
摘要:部分來自網(wǎng)絡(luò),適用于學(xué)習(xí),維護(hù)網(wǎng)絡(luò)安全,做合法公民一和不同,沒有面向連接的機(jī)制,其是一種不可靠的協(xié)議,沒有確認(rèn)機(jī)制。 部分來自網(wǎng)絡(luò),適用于學(xué)習(xí),維護(hù)網(wǎng)絡(luò)安全,做合法公民 一、UDP 和TCP不同,UDP沒有面向連接的機(jī)制,其是一種不可靠的協(xié)議,沒有確認(rèn)機(jī)制。也就是說只要其端口開放,有數(shù)據(jù)需要交互時直接進(jìn)行數(shù)據(jù)交互,也不需要TCP的三次握手。這樣的話,基于UDP的攻擊比基于TCP的攻擊需...
閱讀 3305·2021-11-22 12:07
閱讀 1973·2021-10-12 10:11
閱讀 1100·2019-08-30 15:44
閱讀 3005·2019-08-30 12:45
閱讀 2303·2019-08-29 16:41
閱讀 1688·2019-08-29 16:35
閱讀 2718·2019-08-29 12:57
閱讀 1214·2019-08-26 13:51