免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

怎么使用Python實現windows下的抓包與解析-創新互聯

這篇文章將為大家詳細講解有關怎么使用Python實現windows下的抓包與解析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

為惠城等地區用戶提供了全套網頁設計制作服務,及惠城網站建設行業解決方案。主營業務為網站建設、成都網站設計、惠城網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

系統環境:windows7,選擇windows系統是因為我對自己平時日常機器上的流量比較感興趣

python環境:python2.7 ,這里不選擇python3的原因,是因為接下來要用到的scapy包在python3中安裝較于python2要麻煩得多。如果你習慣于用python3,數據包的分析完全可以放在3下面做,因為抓包和分析是兩個完全獨立的過程。

需要的python包:scapy和dpkt

抓包代碼:

from scapy.sendrecv import sniff
from scapy.utils import wrpcap
dpkt = sniff(count = 100)  #這里是針對單網卡的機子,多網卡的可以在參數中指定網卡
wrpcap("demo.pcap", dpkt)

你沒看錯,僅僅只需要兩行代碼就可以實現一個簡單的抓包功能。sniff函數負責嗅探數據包,而wrpcap函數將抓取到的數據包保存起來。

數據包的分析:

import dpkt
import socket
import datetime
def printPcap(pcap):
try:
for timestamp, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf) #獲得以太包,即數據鏈路層包
print("ip layer:"+eth.data.__class__.__name__) #以太包的數據既是網絡層包
print("tcp layer:"+eth.data.data.__class__.__name__) #網絡層包的數據既是傳輸層包
print("http layer:" + eth.data.data.data.__class__.__name__) #傳輸層包的數據既是應用層包
print('Timestamp: ',str(datetime.datetime.utcfromtimestamp(timestamp))) #打印出包的抓取時間
if not isinstance(eth.data, dpkt.ip.IP):
print('Non IP Packet type not supported %s' % eth.data.__class__.__name__)
continue
ip = eth.data
do_not_fragment =bool(ip.off & dpkt.ip.IP_DF)
more_fragments =bool(ip.off & dpkt.ip.IP_MF)
fragment_offset = ip.off & dpkt.ip.IP_OFFMASK
print('IP: %s -> %s (len=%d ttl=%d DF=%d MF=%d offset=%d)' % (socket.inet_ntoa(ip.src), socket.inet_ntoa(ip.dst), ip.len, ip.ttl, do_not_fragment, more_fragments,fragment_offset))
except:
pass
def main():
f =open('demo.pcap','rb')
pcap = dpkt.pcap.Reader(f)
printPcap(pcap)
if __name__ =='__main__':
main()

結果顯示:

這是我打開360的路由器衛士時抓取的數據包。這個軟件在打開時與路由器通信,獲得連接路由器的電腦和手機的列表。192.168.1.100是我的機器,192.168.1.1是路由器地址,其中可以看到windows發送的數據包的ttl值默認是128,其他的系統默認是64,與我們的理論常識是相符的。

TCP/IP五層分層的結構和封包過程,附圖二張:

怎么使用Python實現windows下的抓包與解析 怎么使用Python實現windows下的抓包與解析

關于“怎么使用Python實現windows下的抓包與解析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前題目:怎么使用Python實現windows下的抓包與解析-創新互聯
本文地址:http://m.newbst.com/article36/cogssg.html

成都網站建設公司_創新互聯,為您提供云服務器建站公司營銷型網站建設品牌網站設計網站設計移動網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計