原创 Linux下通過虛擬網卡實現局域網 轉發tcp/udp流量

linux下有tun/tap,可以虛擬出來一張網卡. 以下爲個人理解: 比如你的網卡ip爲192.169.8.138,當你的程序在監聽192.169.8.138:55555端口時,流量就會從這個網卡經過. 經過是什麼意思呢,tcp會有三次

原创 Linux下通過虛擬網卡實現vpn轉發tcp/udp

linux下有tun/tap,可以虛擬出來一張網卡. 以下爲個人理解: 比如你的網卡ip爲192.169.8.138,當你的程序在監聽192.169.8.138:55555端口時,流量就會從這個網卡經過. 經過是什麼意思呢,tcp會有三次

原创 Python 爬蟲 隊列

#!/usr/bin/env python #coding:utf8 #2014.3.9 #bug:1.下載文件夾未分,不能直接創建文件夾【/】 2.下載失敗503未重新下載【/】 #3.線程很奇怪【暫時不好說】 4.文件打開有時不能用

原创 SS(socks5)代理客戶端的實驗版實現

基本的上網通道。學習一下實現方法。簡單說起來就是:在本地,把流量發送到客戶端端口,經由本地運行的代理轉發到遠端。遠端執行轉發過來的請求。轉發過程中可以加密,因此中間節點難以識別報文的具體信息。可以看見,http報文承載於tcp,因此瀏覽器

原创 PyQt+matplotlib界面簡單實現

   又是好久之前寫的代碼了,不寫下來真的會忘光光的啊,罪過罪過 這個主要是因爲有三個文件,剛開始想實現在pyqt下面嵌入matplotlib的窗口,有點費力啊,查了好多前輩的代碼 簡單來說三個文件,第一個,定義程序界面,第二個,定義插

原创 基於樹莓派的四軸[僅基本功能]

github:https://github.com/Nonikka/Quadcopter 博客的文章地址:http://futuregazer.me/artical/5 上位機是Python 下位機是C,CPP #include <wir

原创 51單片機初學(二)液晶屏時鐘,並保存數據

可能有未知的BUG 有些東西要看着才能寫下來,那些時序什麼的記不住啊 代碼有郭天祥的影子=-= 畢竟是他教的 /* Nonikka 2014-5-24 */ #include<reg52.h> #define uchar unsign

原创 SS(socks5)代理服務端的實驗版實現

花了一下午,其實也就是改了點代碼,複用客戶端的實現。不過在buffer加密解密這方面似乎有問題,例如淘寶這種複雜的網站就打不開了....日誌顯得太亂了,需要修改其實socks5在瀏覽器應用的這種場景下,只跟瀏覽器運行的服務端有關係。協議只

原创 簡單後綴表達式轉nfa 正則匹配 Python

簡單學習了狀態機的知識 先記錄下來 global stack class State: #counter = 0 def __init__(self,c,out = None,out1 = None):

原创 一個3D引擎Demo 源碼

http://blog.csdn.net/cppyin/article/category/780767 代碼手寫了一遍,在他的基礎上加了光照,其實也就是計算下反射... 代碼:http://download.csdn.net/detai

原创 [LeetCode] 199. Binary Tree Right Side View

這題的意思就是人站在一棵二叉樹右邊 1 <--- / \ 2 3 <--- \ \ 5 4 <--- 先是自己瞎想提交了好幾次都不對,然後網上看

原创 51單片機初學(一)流水燈,中斷定時器,顯像管初步顯示

學習的進度實在不怎麼樣,因爲接下來可能要學習單片機,所以先自己開始學習了。 對於Python實在是慚愧,想寫GUI可是不知從何下手。 單片機理論倒是挺多的,不記下來的話,自己動手根本不知從哪開始。 這圖片上傳真是蛋疼呵...

原创 Python小玩具:BMP轉字符畫(多線程?)

  起初是在網上看見了字符動畫,所以開始查資料,發現BMP文件開頭是 具體數據舉例:如某BMP文件開頭:424D 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 01

原创 Python爬蟲初學(3)登陸武漢理工大學教務處

cookie還是不太懂,登陸了教務處主頁後,查成績用的另一個header,所以總是登陸超時 import urllib.parse,urllib.request,http.cookiejar,os #cookie處理,照抄 cook

原创 Python爬蟲初學(2)豆瓣電影top250評論數

#作者:Nonikka #版本:0.3 #2014年3月28日 import os,urllib.request,re try: douban250 = urllib.request.urlopen('http://movie.dou