sniff,截取外部發送到你機器上的IP數據包.

sniff,截取外部發送到你機器上的IP數據包.

sniffer 這類型的軟件多了去了,都是大同小異的,我簡單的實現了一個..下面描述下工作原理吧.

這樣的小程序是在應用層通過套接字直接獲取留進網卡的IP數據包,注意是流進的,同時獲取到的是

原封的IP數據包,只有這樣纔可以對數據包進行分析來源和協議.

 

sniff不是直接通過調用底層的API,所以無法直接控制網卡的信息,如果要獲取本機發出的包,或者說獲取更底

層的協議的數據,就必須要從網卡驅動下手了,很多的網絡防火牆就是這樣做的.對這個我也不大瞭解,也是剛看了

別人的文章.沒怎麼深入,要了解的自己百度.

 

 

這幾個是重要的數據結構,從socket中獲得ip數據包後,你就可以進行分析

要記得的一點是:

IP包首部長度,這個值以4字節爲單位.IP協議首部的固定長度爲20個字節,如果IP包沒有選項,那麼這個值爲5.
TCP包頭呢貌似是以1/4字節爲單位的-_-!

破空間不支持上傳文件哦!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章