原创 windows下使用winpcap-1.環境安裝

winpcap是 Windows下一個能忽略操作系統直接工作在網絡上的工具,爲什麼要使用呢,因爲在WindowsXP以後,因爲權限的問題,有些東西我們不能直接使用,例如,我會在接下來的文章裏說的實現端口掃描器中,其中像ARP掃描活動主機,

原创 ICMP掃描

icmp(Internet control message protocol),是一種網絡上用來傳遞錯誤報文的協議,根據類型和代碼,可以分爲很多類型的,爲了實現icmp掃描,我們這裏只需要用到請求回顯(type=8,code=0)和回顯應

原创 OpenStack源碼調試之路(4)——setup_backends

上篇我們調試了configure,這篇我們開始服務器啓動最核心的部分setup_backends。進入這章之前,請一定先學習WSGI和python paste(可以在我關於OpenStack調試的第一篇文章中找到),這樣才能理解這部分代碼

原创 OpenStack源碼調試之路(1)——apache與keystone

由於openstack版本迭代的太快,很多上一個版本還能用的東西,下個版本又不能用了,我開始接觸的時候是M版,等我上手之後,P版已經成熟,Q版也可以使用了。因爲我需要對keystone的架構重寫,所以我首先要解決的問題就是調試源代碼,雖然

原创 OpenStack源碼調試之路(0)——pycharm遠程調試OpenStack

要閱讀一個源碼,最好的方法是調試代碼,一步步跟蹤,會使你對整個過程的理解更加透徹,對於OpenStack也是如此,雖然看過很多分析源碼的書,但總是覺得對不上號,加上有需求,所以覺得自己對源碼進行一番調試。最開始試過python的pdb調試

原创 python WSGI中loadapp源碼分析

WSGI是python網絡標準,這篇文章主要將分析WSGI中一個重要的函數——loadapp,此函數用戶構建application。 直接放一個代碼結構圖,我用百度腦圖畫的,由於太大了,直接放圖片看不清,所以這裏大家可以直接打開對比百度腦

原创 python Crypto包中DSA簽名的源碼分析(2)——簽名與驗證簽名

DSA簽名過程如下: 計算和,其中p、q、g是第一步生成的全局公鑰,k是的隨機數或者僞隨機數,H是雜湊函數,M是待簽名的信息 Crypto中DSA簽名關鍵源碼如下: inv_k = inverse(k, self.q)

原创 python Crypto中DSA簽名的源碼分析(1)——密鑰生成

DSA需要的密鑰有三種,分別是全局公開鑰:p、q、g;私鑰x;公鑰y,具體要求如下:     -全局公鑰p:滿足的大素數,其中512≤L≤1024且L是64的倍數;     -全局公鑰q:p-1的素因子,滿足,即q一定是160bit;  

原创 OpenStack源碼調試之路(2)——initialize_application模塊概括

通過上一篇我們知道了keystone的調試入口,現在我們就跟蹤下去,看看在服務啓動起來的時候,openstack到底做了一些什麼事。首先說明,因爲我採用手動apt安裝的方式,所以openstack代碼均在/usr/lib/python2.

原创 Django學習2-使用模板

  上次簡單看了一下Django的使用,現在繼續,沿用上一篇寫好的東西,我們來看看它怎麼使用已經寫好的html模板吧(一定要按照上一篇講的把工程、app等建好,setting等設置好),首先,你需要有一個模板,隨便點吧,我這裏用的這個,名

原创 OpenStack源碼調試之路(3)——配置文件(configure)

上一篇我們講到了initialize_application主要完成四個工作,現在我們進入第一個,也就是common.configure。這個模塊在/keystone/server/common.py中def configure(vers

原创 Django學習7—數據庫使用2—使用api增刪改查

繼續上一次,我們已經可以連接mysql數據庫了,而數據庫最重要的操作,無非就是增刪改查,Django提供了一系列api,用於增刪改查,這樣可以不使用sql語句來完成數據庫操作。 增: 即向數據庫插入數據,這裏我們在交互式python中來學

原创 Django學習6-mysql數據庫使用1-安裝與連接

從這篇開始,我們要開始有趣的部分了,哈哈,數據庫。這裏我使用的mysql,對於Django和python的版本不同,這裏會有很多想不到的麻煩,那麼開始吧,遇到再說。 不多bb,至少先搞個mysql撒,Ubuntu下: apt-get in

原创 Django學習4-模板表達式

這個東西怎麼說呢,我覺得,實際應用中還是不要使用吧,把邏輯代碼放到html裏寫,這樣感覺不好吧,包括變量的使用,我也這樣覺得,但既然有這個功能,我們還是說一下。 這裏我只是簡單舉個例子,剩下的,大家可以去點擊打開鏈接官方文檔裏查看用法。

原创 linux雙網卡同時訪問外網

配置步驟: 1.ip route adddefault via 192.168.X.1(擴展網卡網關) dev eth1 table default  ---在default表中添加路由 2.ip rule addfrom 192.168