国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

工程師奇技淫巧-IP段轉換CIDR(python篇)

betacat / 2147人閱讀

摘要:從個體小處如何減少機械性,重復性的工作,是切切實實提高個人幸福感的一件事。由于工作上的原因,經常需要給外包服務商開通訪問內部系統的白名單。

電商系統大考雙十一過去了,可以找點時間寫點東西了。

這次說說提升工作效率。講工程效率提升的文章有很多,我們先不看團隊的。從個體小處如何減少機械性,重復性的工作,是切切實實提高個人幸福感的一件事。

由于工作上的原因,經常需要給外包服務商開通訪問內部系統的白名單。我們知道根據網絡上通路到達web系統不同,大致上可以分為兩類訪問控制:

nginx上的七層訪問控制,完全由應用上的配置文件控制訪問IP,該方式的好處也是壞處,就是需要開發明確知道并維護nginx上的白名單配置文件,同樣的只要有了這份配置文件,理論上名單不會丟,應用基線可以保證多機房部署。

防火墻控制,此種方式對應用透明,應用開發不需要關心白名單控制,問題也是明顯的,防火墻ACL控制在跨機房時并不能跟隨,有幾個機房就要同時維護幾份白名單,對運維系統也有要求,同一份IP段要支持多機房下發。

故事的起點就在這,防火墻的ACL控制下發要求提供CIDR格式的規則。什么是CIDR格式?直接看自由的百科全書的解釋:

無類別域間路由(Classless Inter-Domain Routing、CIDR)是一個用于給用戶分配IP地址以及在互聯網上有效地路由IP數據包的對IP地址進行歸類的方法。

CIDR看起來就是這樣的: 208.130.29.0/24

比如有個需求就是208.130.29.30-35這個IP段換成CIDR格式,有幾個只學過基礎網絡知識的開發懂這個?

作為一個開發人員做這個換算是很費勁的,比如要去網上用類似以下這個巨難用的表格來做網段和CIDR格式的換算,還要搞清楚/32 /31 /29 這些似乎跟web開發沒有多大關系的知識。

在經歷了痛苦和挫折后,一個偶然的機會,發現python居然有現成的類庫支持此類網絡操作與換算。 將以上的需求翻譯成python只要幾行代碼搞定:

# 確定起始和結尾IP,無論多復雜都可以轉換
startip = "208.130.29.30"
endip = "208.130.29.35"
cidrs = netaddr.iprange_to_cidrs(startip, endip)
for k, v in enumerate(cidrs):
    iplist = v
    print iplist

輸出:
208.130.29.30/31
208.130.29.32/30

反過來,CIDR也能直接轉成IP地址段:

from netaddr import *

ip = IPNetwork("192.0.2.16/29")
ip_list = list(ip)
print(ip_list)

輸出:
[IPAddress("192.0.2.16"), IPAddress("192.0.2.17"), …, IPAddress("192.0.2.22"), IPAddress("192.0.2.23")]

感謝python大法!


文章來自微信平臺「麥芽面包」
微信公眾號「darkjune_think」轉載請注明。
如果覺得有趣,微信掃一掃關注公眾號。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/44267.html

相關文章

  • IP 范圍區間或者掩碼網地址解析成實際單個 IP

    摘要:首先要準備一個環境,安裝插件,本人用的是提取的輕量級環境,所以直接下載官網的源碼,解壓后找到文件夾復制到環境目錄的文件夾里即可。使用方法首先引入確定起始和結尾,無論多復雜都可以轉換運行后輸出結果 概述 兩種情況,一種給的是IP 范圍,給了一個區間例如參考:http://www.cnblogs.com/amaoxi... 64.233.196.0-64.233.196.25#將這個范圍內...

    tomener 評論0 收藏0
  • IP 范圍區間或者掩碼網地址解析成實際單個 IP

    摘要:首先要準備一個環境,安裝插件,本人用的是提取的輕量級環境,所以直接下載官網的源碼,解壓后找到文件夾復制到環境目錄的文件夾里即可。使用方法首先引入確定起始和結尾,無論多復雜都可以轉換運行后輸出結果 概述 兩種情況,一種給的是IP 范圍,給了一個區間例如參考:http://www.cnblogs.com/amaoxi... 64.233.196.0-64.233.196.25#將這個范圍內...

    spacewander 評論0 收藏0
  • 正則表達式

    摘要:最全正則表達式總結驗證號手機號中文郵編身份證地址等是正則表達式的縮寫,作用是對字符串執行模式匹配。學習目標了解正則表達式語法在中使用正則表達式在中使 JS高級技巧 本篇是看的《JS高級程序設計》第23章《高級技巧》做的讀書分享。本篇按照書里的思路根據自己的理解和經驗,進行擴展延伸,同時指出書里的一些問題。將會討論安全的類型檢測、惰性載入函數、凍結對象、定時器等話題。1. 安全的類型檢測...

    yibinnn 評論0 收藏0
  • 9000字加圖文 | 帶你了解IP地址劃分、子網掩碼的作用、實際中IP地址規劃是怎么樣的

    摘要:字加圖文帶你了解地址劃分子網掩碼的作用實際中地址規劃是怎么樣的子網在用同樣的方法,,第三個子網網段用了,還三個可以繼續使用,使用最小的,,計算出財務部門。 作者:一天 首發公眾號:網絡之路博客(ID:NetworkBlog)?(1)子網掩碼之所以出現大量地址浪費,在于早期的地址分類采用的是固定的網絡位與主機位的長度,不能靈...

    番茄西紅柿 評論0 收藏2637

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<