摘要:需求在某應(yīng)用中,需要根據(jù)一定的規(guī)則生成隨機(jī)的地址,規(guī)則類似于這樣的形式給出。實(shí)現(xiàn)經(jīng)過(guò)艱苦卓絕的調(diào)試,下面的代碼是可以用的生成的結(jié)果如備注這一用法,目的在于消除上位以上的高位數(shù)據(jù)。因此,在使用之前,需要利用清除高位。
需求
在某應(yīng)用中,需要根據(jù)一定的規(guī)則生成隨機(jī)的IP地址,規(guī)則類似于192.168.11.0/24這樣的CIDR形式給出。
實(shí)現(xiàn)經(jīng)過(guò)艱苦卓絕的調(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ù)。這一問(wèn)題在mask取反之后比較明顯。由于mask是一個(gè)32位以上的數(shù)(有可能是64位),取反之后,高位全部為1,計(jì)算的結(jié)果就不正確了。因此,在使用之前,需要利用(mask & 0xffffffff)清除高位。
供各位讀者參考。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37571.html
摘要:爬蟲(chóng)實(shí)戰(zhàn)二爬取西刺代理的代理對(duì)于剛?cè)腴T(mén)的同學(xué)來(lái)說(shuō),本次實(shí)戰(zhàn)稍微有點(diǎn)難度,但是簡(jiǎn)單的爬取圖片文本之類的又沒(méi)營(yíng)養(yǎng),所以這次我選擇了爬取西刺代理的地址,爬取的代理也能在以后的學(xué)習(xí)中用到本次實(shí)戰(zhàn)用的主要知識(shí)很多,其中包括自動(dòng)保存利用抓包工具獲取和匹 爬蟲(chóng)實(shí)戰(zhàn)(二):爬取西刺代理的代理ip 對(duì)于剛?cè)腴T(mén)的同學(xué)來(lái)說(shuō),本次實(shí)戰(zhàn)稍微有點(diǎn)難度,但是簡(jiǎn)單的爬取圖片、文本之類的又沒(méi)營(yíng)養(yǎng),所以這次我選擇了爬...
摘要:可以將稱為追蹤服務(wù)器或調(diào)度服務(wù)器。實(shí)際保存文件分為多個(gè)組,每個(gè)組之間保存的文件是不同的。文件索引信息包括組名,虛擬磁盤(pán)路徑,數(shù)據(jù)兩級(jí)目錄,文件名。虛擬磁盤(pán)路徑配置的虛擬路徑,與磁盤(pán)選項(xiàng)對(duì)應(yīng)。 分布式圖片服務(wù)器FastDFS 1 什么是FastDFS FastDFS 是用 c 語(yǔ)言編寫(xiě)的一款開(kāi)源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等...
摘要:總的來(lái)說(shuō)有兩種反爬策略,要么驗(yàn)證身份,把蟲(chóng)子踩死在門(mén)口要么在網(wǎng)站植入各種反爬機(jī)制,讓爬蟲(chóng)知難而退。本節(jié)內(nèi)容就著這兩種反爬策略提出一些對(duì)策。內(nèi)嵌反爬很靈活,沒(méi)有什么固定的代碼格式,要花時(shí)間去分析出來(lái)。 ??之前提到過(guò),有些網(wǎng)站是防爬蟲(chóng)的。其實(shí)事實(shí)是,凡是有一定規(guī)模的網(wǎng)站,大公司的網(wǎng)站,或是盈利性質(zhì)比較強(qiáng)的網(wǎng)站,都是有高級(jí)的防爬措施的??偟膩?lái)說(shuō)有兩種反爬策略,要么驗(yàn)證身份,把蟲(chóng)子踩死在門(mén)口...
摘要:部分來(lái)自網(wǎng)絡(luò),適用于學(xué)習(xí),維護(hù)網(wǎng)絡(luò)安全,做合法公民一和不同,沒(méi)有面向連接的機(jī)制,其是一種不可靠的協(xié)議,沒(méi)有確認(rèn)機(jī)制。 部分來(lái)自網(wǎng)絡(luò),適用于學(xué)習(xí),維護(hù)網(wǎng)絡(luò)安全,做合法公民 一、UDP 和TCP不同,UDP沒(méi)有面向連接的機(jī)制,其是一種不可靠的協(xié)議,沒(méi)有確認(rèn)機(jī)制。也就是說(shuō)只要其端口開(kāi)放,有數(shù)據(jù)需要交互時(shí)直接進(jìn)行數(shù)據(jù)交互,也不需要TCP的三次握手。這樣的話,基于UDP的攻擊比基于TCP的攻擊需...
閱讀 3247·2021-11-22 12:07
閱讀 1887·2021-10-12 10:11
閱讀 1051·2019-08-30 15:44
閱讀 2951·2019-08-30 12:45
閱讀 2215·2019-08-29 16:41
閱讀 1646·2019-08-29 16:35
閱讀 2637·2019-08-29 12:57
閱讀 1158·2019-08-26 13:51