原创 Go語言用defer定義函數比較奇怪的地方

go來打印斐波那契前十項數列,使用defer實現: 可以看到"defer func() int {......}"後面還有個"()",沒理解爲什麼要寫成這樣,目前也只能當做是標準語法了。 後續如果理解了再更新。

原创 構造特定五元組的HTTP報文,和trace route

當懷疑網絡上特定路徑或機器有問題時,就需要構造特定五元組反覆抓包確認; 下面是使用nc構造特定五元組的HTTP GET: echo -en "GET / HTTP/1.0\r\n\r\n" | nc -p 59714 -w 2 x.x.

原创 用python的tkinter模塊寫了個查詢IP地址的小程序

網工會經常做一件事情,就是在排查網絡故障的時候,通過traceroute目的IP的方式,然後打開百度或者谷歌,查其中某一跳的IP地址屬於那個城市,ISP信息。 這個效率比較低,下面我通過淘寶IP地址庫提供的API封裝一個小工具,就可以

原创 169.254.0.0/16這段地址用途

一直困惑169.254.0.0/16是幹嘛的,每次筆記本dhcp獲取地址失敗後,就會隨機在這個B類地址段獲取一個地址; 今天抽空翻了下rfc,發現在 rfc5735 裏面有對所有特殊網絡地址說明; 以下引用rfc5735: 169

原创 python socket模塊遇到編碼問題

今天敲了書《Python基礎教程第二版》 14章網絡編程代碼14-1,如下,稍微修改了些: 客戶端: import socket s = socket.socket() host = '127.0.0.1' port = 1234

原创 Golang語言學習之佔位符“_”(下劃線)

不同 最近開始學習Golang,發現一個和其他語言很大不同的東西---佔位符“_”(下劃線) 之前學習C語言、python、java,都沒用見過有佔位符一說的 用處 佔位符可以作爲一個變量被賦值 那麼它和普通變量的區別是什

原创 ssh登錄linux服務器很慢的原因

linux下,ssh 1.2.3.4登錄Linux的時候會很慢,要過很久才顯示輸入密碼,其原因是sshd進程會根據ip去反解域名,再根據域名反解ip,然後纔去登錄; 如果ip對應物域名的話就很慢了,解決方案是關閉域名解析; 找到sshd配

原创 FCTRL - Factorial的python實現

題目說明 該題目來源於SPOJ:http://www.spoj.com/problems/FCTRL/ 大體意思是給定一個數n,求n的階乘有多少個0結尾。 由於n最大可以是1000000000,筆者初步的算法1,雖然相比整個n遍歷一次O(

原创 通過dropwatch定位系統內核丟包

背景: 網工面對業務反饋數據中心內部2臺Server之間丟包,首先會查端到端之間所有鏈路有無擁塞、端口CRC問題;確認沒有異常後,會開始懷疑是Server本身丟包,但我們知道,物理服務器一般會查下物理網卡有無丟包,但一般網卡丟包的可能

原创 Quagga裏面的宏定義

Quagga宏定義 以前在看Quagga源碼的時候,被裏面的宏定義搞殘了,根本看不懂啊,今天再回頭看了2小時多,還是不懂啊,就在要放棄的時候,我按照C語言宏的定義開始將這個宏一步步展開,發現居然被我搞定了,不容易。。。 DEFUN宏定義

原创 apache用cgi腳本碰到的錯誤

詭異錯誤 瀏覽器訪問腳本出錯,本地執行沒問題: [root@Sven cgi-bin]# ./simple2.cgi Content-type: text/plain Hello, world!錯誤詳情 url訪問腳本出現以下錯誤: I

原创 python字符串方法join

今天碰到一個問題,需要寫子網掩碼轉換,從/24這種轉換到255.255.255.0,或者反過來; 通常是把/24拆成4組數字或字符串,再用str('%s.%s.%s.%s')打印出來,但是發現字符串有個join方法比較好使,如: >>>

原创 菜鳥學習網絡協議軟件Quagga,修改ospfd vty端口和編譯安裝

TIP:筆者的系統是紅帽6U3,編譯安裝前記得把gcc各種依賴工具先安裝上,避免編譯出錯     本文目的是爲了學習如何編譯安裝開源軟件Quagga,並修改下OSPF模塊的vty登錄端口號,藉此熟悉下,它是一款網絡協議軟件,支持OSPF

原创 Quagga添加自己的命令

參考了王斌的文檔:http://down.51cto.com/data/621454 TIP:筆者使用的版本是0.99.20 需求:在接口模式下添加一條"ip ospf enable"的命令,什麼也不做,只輸出一些字符; Quagga內

原创 python線程池(threadpool)模塊使用

最近碰到個問題,需要telnet登錄上千臺機器去取主機名;其中有用戶名密碼交互部分,有需要延遲的部分,大概一次登錄一次到處理完要10s,1000臺機器串行處理就需要1000×10s,差不多三個小時,這是很難受的事情; 之前用thread的