最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python腳本生成隨機(jī)IP的簡單方法

 更新時間:2015年07月30日 12:07:52   作者:luqiuwen  
這篇文章主要介紹了使用Python腳本生成隨機(jī)IP的簡單方法,并且可以自己設(shè)定IP數(shù)值范圍,需要的朋友可以參考下


需求

在某應(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)清除高位。

供各位讀者參考。

相關(guān)文章

  • 分位數(shù)回歸模型quantile regeression應(yīng)用詳解及示例教程

    分位數(shù)回歸模型quantile regeression應(yīng)用詳解及示例教程

    這篇文章主要為大家介紹了介紹了分位數(shù)回歸quantile regeression的概念詳解及代碼示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Python開發(fā)如何在ubuntu 15.10 上配置vim

    Python開發(fā)如何在ubuntu 15.10 上配置vim

    這篇文章主要介紹了Python開發(fā)如何在ubuntu 15.10 上配置vim 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Python 實(shí)現(xiàn)數(shù)組相減示例

    Python 實(shí)現(xiàn)數(shù)組相減示例

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)數(shù)組相減示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python縮進(jìn)和冒號詳解

    Python縮進(jìn)和冒號詳解

    下面小編就為大家?guī)硪黄狿ython縮進(jìn)和冒號詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Python算法應(yīng)用實(shí)戰(zhàn)之棧詳解

    Python算法應(yīng)用實(shí)戰(zhàn)之棧詳解

    棧是什么,你可以理解為一種先入后出的數(shù)據(jù)結(jié)構(gòu)(First In Last Out),一種操作受限的線性表。下面這篇文章主要給大家介紹了Python中棧的應(yīng)用實(shí)戰(zhàn),文中給出了多個實(shí)例,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    pandas.loc 選取指定列進(jìn)行操作的實(shí)例

    今天小編就為大家分享一篇pandas.loc 選取指定列進(jìn)行操作的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 解決Keras 自定義層時遇到版本的問題

    解決Keras 自定義層時遇到版本的問題

    這篇文章主要介紹了解決Keras 自定義層時遇到版本的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python全棧之面向?qū)ο蠡A(chǔ)

    Python全棧之面向?qū)ο蠡A(chǔ)

    這篇文章主要為大家介紹了Python面向?qū)ο蠡A(chǔ),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Python獲取秒級時間戳與毫秒級時間戳的示例代碼

    Python獲取秒級時間戳與毫秒級時間戳的示例代碼

    這篇文章主要介紹了Python獲取秒級時間戳與毫秒級時間戳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Selenium(Python web測試工具)基本用法詳解

    Selenium(Python web測試工具)基本用法詳解

    這篇文章主要介紹了Selenium(Python web測試工具)基本用法,結(jié)合實(shí)例形式分析了Selenium的基本安裝、簡單使用方法及相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08

最新評論

忻州市| 宁夏| 禹城市| 湘西| 武宣县| 若羌县| 开远市| 保靖县| 平湖市| 新源县| 大安市| 鄂托克前旗| 西藏| 民权县| 兖州市| 那曲县| 达州市| 怀来县| 汤原县| 沈丘县| 腾冲县| 镇巴县| 保靖县| 舒城县| 永吉县| 渝中区| 博湖县| 夏邑县| 青铜峡市| 乐山市| 牙克石市| 密山市| 腾冲县| 开原市| 甘孜县| 寿宁县| 喀喇沁旗| 扎囊县| 南靖县| 普格县| 苏尼特左旗|