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

資訊專欄INFORMATION COLUMN

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

betacat / 2180人閱讀

摘要:從個(gè)體小處如何減少機(jī)械性,重復(fù)性的工作,是切切實(shí)實(shí)提高個(gè)人幸福感的一件事。由于工作上的原因,經(jīng)常需要給外包服務(wù)商開通訪問內(nèi)部系統(tǒng)的白名單。

電商系統(tǒng)大考雙十一過去了,可以找點(diǎn)時(shí)間寫點(diǎn)東西了。

這次說說提升工作效率。講工程效率提升的文章有很多,我們先不看團(tuán)隊(duì)的。從個(gè)體小處如何減少機(jī)械性,重復(fù)性的工作,是切切實(shí)實(shí)提高個(gè)人幸福感的一件事。

由于工作上的原因,經(jīng)常需要給外包服務(wù)商開通訪問內(nèi)部系統(tǒng)的白名單。我們知道根據(jù)網(wǎng)絡(luò)上通路到達(dá)web系統(tǒng)不同,大致上可以分為兩類訪問控制:

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

防火墻控制,此種方式對(duì)應(yīng)用透明,應(yīng)用開發(fā)不需要關(guān)心白名單控制,問題也是明顯的,防火墻ACL控制在跨機(jī)房時(shí)并不能跟隨,有幾個(gè)機(jī)房就要同時(shí)維護(hù)幾份白名單,對(duì)運(yùn)維系統(tǒng)也有要求,同一份IP段要支持多機(jī)房下發(fā)。

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

無類別域間路由(Classless Inter-Domain Routing、CIDR)是一個(gè)用于給用戶分配IP地址以及在互聯(lián)網(wǎng)上有效地路由IP數(shù)據(jù)包的對(duì)IP地址進(jìn)行歸類的方法。

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

比如有個(gè)需求就是208.130.29.30-35這個(gè)IP段換成CIDR格式,有幾個(gè)只學(xué)過基礎(chǔ)網(wǎng)絡(luò)知識(shí)的開發(fā)懂這個(gè)?

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

在經(jīng)歷了痛苦和挫折后,一個(gè)偶然的機(jī)會(huì),發(fā)現(xiàn)python居然有現(xiàn)成的類庫支持此類網(wǎng)絡(luò)操作與換算。 將以上的需求翻譯成python只要幾行代碼搞定:

# 確定起始和結(jié)尾IP,無論多復(fù)雜都可以轉(zhuǎn)換
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也能直接轉(zhuǎn)成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大法!


文章來自微信平臺(tái)「麥芽面包」
微信公眾號(hào)「darkjune_think」轉(zhuǎn)載請(qǐng)注明。
如果覺得有趣,微信掃一掃關(guān)注公眾號(hào)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/44267.html

相關(guān)文章

  • IP 范圍區(qū)間或者掩碼網(wǎng)地址解析成實(shí)際單個(gè) IP

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

    tomener 評(píng)論0 收藏0
  • IP 范圍區(qū)間或者掩碼網(wǎng)地址解析成實(shí)際單個(gè) IP

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

    spacewander 評(píng)論0 收藏0
  • 正則表達(dá)式

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

    yibinnn 評(píng)論0 收藏0
  • 9000字加圖文 | 帶你了解IP地址劃分、子網(wǎng)掩碼的作用、實(shí)際中IP地址規(guī)劃是怎么樣的

    摘要:字加圖文帶你了解地址劃分子網(wǎng)掩碼的作用實(shí)際中地址規(guī)劃是怎么樣的子網(wǎng)在用同樣的方法,,第三個(gè)子網(wǎng)網(wǎng)段用了,還三個(gè)可以繼續(xù)使用,使用最小的,,計(jì)算出財(cái)務(wù)部門。 作者:一天 首發(fā)公眾號(hào):網(wǎng)絡(luò)之路博客(ID:NetworkBlog)?(1)子網(wǎng)掩碼之所以出現(xiàn)大量地址浪費(fèi),在于早期的地址分類采用的是固定的網(wǎng)絡(luò)位與主機(jī)位的長度,不能靈...

    番茄西紅柿 評(píng)論0 收藏2637

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<