日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python使用scapy模塊發(fā)包收包

瀏覽:27日期:2022-06-20 13:29:27
前言

眾所周知,我們每天上網(wǎng)都會(huì)有很多數(shù)據(jù)包需要發(fā)送,然后處理在接受在發(fā)送,這樣一個(gè)循環(huán)往復(fù)的過程

Python使用scapy模塊發(fā)包收包

這里就顯示了很多數(shù)據(jù)包的發(fā)送接收數(shù)據(jù),那什么是包呢?下面一起看看

包( packet )是網(wǎng)絡(luò)通信傳輸中的數(shù)據(jù)單位,一般稱之為數(shù)據(jù)包,其主要由源地址,目標(biāo)地址,凈載數(shù)據(jù)組成

它包括包頭和包體,包頭是固定長度,包體長度不變

簡單了解下包的定義,下面我們來看看發(fā)包利器 scapy 的用法吧

一、常用命令

1、ls():顯示所有支持的數(shù)據(jù)包對象,可帶參數(shù)也可不帶,參數(shù)可以是任意具體的包

Python使用scapy模塊發(fā)包收包

可以看出,它包含了全部的內(nèi)容,如果我們想詳細(xì)查看某個(gè)模塊中的內(nèi)容,比如說我想查看 ARP ,tcp 的話了,可以這樣:

Python使用scapy模塊發(fā)包收包

在這里要告訴大家的是,我們必須要注意大小寫,ls(ARP)這樣才可以得出正確結(jié)果,ls(arp)是錯(cuò)誤的。

2、lsc():列出所有函數(shù)

Python使用scapy模塊發(fā)包收包

滿屏的英文,我頭都是大的,不知道大家此時(shí)此刻是什么樣的心情,哈哈哈哈

3、hide_defaults():用來刪除一些用戶提供的那些和 default value 相同的項(xiàng)目

a=IP()print(a.hide_defaults())

4.display():可以簡單查看當(dāng)前 packet 的各個(gè)參數(shù)的取值情況,

a=IP()a.display()

5.更多命令

命令 作用show_interfaces() 顯示網(wǎng)卡信息str(pkt) 組裝數(shù)據(jù)包hexdump(pkt)十六進(jìn)制轉(zhuǎn)儲(chǔ)ls(pkt) 顯示出字段值的列表pkt.summary()一行摘要pkt.show() 針對數(shù)據(jù)包的展開視圖pkt.show2() 顯示聚合的數(shù)據(jù)包(例如,計(jì)算好了的校驗(yàn)和)pkt.sprintf() 用數(shù)據(jù)包字段填充格式字符串pkt.decode_payload_as() 改變payload的decode方式pkt.psdump()繪制一個(gè)解釋說明的PostScript圖表pkt.pdfdump() 繪制一個(gè)解釋說明的PDFpkt.command() 返回可以生成數(shù)據(jù)包的Scapy命令nsummary() 同上,但規(guī)定了數(shù)據(jù)包數(shù)量conversations() 顯示一個(gè)會(huì)話圖表filter() 返回一個(gè)lambda過濾后的數(shù)據(jù)包列表hexdump() 返回所有數(shù)據(jù)包的一個(gè)hexdumpimport_hexcap() 將hexdump重新導(dǎo)入到Scapy中hexraw() 返回所有數(shù)據(jù)包Raw layer的hexdumppadding() 返回一個(gè)帶填充的數(shù)據(jù)包的hexdumpnzpadding() 返回一個(gè)具有非零填充的數(shù)據(jù)包的hexdumpplot() 規(guī)劃一個(gè)應(yīng)用到數(shù)據(jù)包列表的lambda函數(shù)make table() 根據(jù)lambda函數(shù)來顯示表格traceroute('baidu.com') 查看IP路徑的traceroute功能export_object() 數(shù)據(jù)包轉(zhuǎn)換成base64編碼的Python數(shù)據(jù)結(jié)構(gòu)import_object() 可以將輸出重新導(dǎo)入save_session() 保存所有的session變量load_session() 讀取保存的sessionfuzz() 更改一些默認(rèn)的不被計(jì)算的值(比如校驗(yàn)和checksums),更改的值是隨機(jī)的,但是是符合字段的值的。二、嗅探數(shù)據(jù)包

from scapy.all import *pkt = sniff(iface = 'Realtek PCIe GBE Family Controller',count = 3 ,filter=’tcp’,prn = lambda x: x.sprintf(’{IP:%IP.src%->%IP.dst%n}{Raw:%Raw.load%n}’))filter:過濾條件iface:網(wǎng)卡接口名稱count:數(shù)據(jù)包數(shù)量prn:回調(diào)函數(shù),通常與lambda搭配使用sprintf()函數(shù)控制輸入信息抓取源地址為192.168.3.3的端口為80的tcp報(bào)文:sniff(filter='ip src 192.168.3.3 and tcp and tcp port 80', prn=lambda x:x.summary())抓取目的地址網(wǎng)段為192.168.3.3/24的報(bào)文:sniff(filter='dst net 192.168', prn=lambda x:x.summary())抓取非ICMP的報(bào)文:sniff(filter='not icmp', prn=lambda x:x.summary())將抓取到的報(bào)文的summary打印出來:sniff(filter='icmp', prn=lambda x:x.summary(), count=10)將所有IP報(bào)文的源地址打印出來:sniff(filter='icmp', prn=lambda x:x[IP].src, count=10)三、構(gòu)造數(shù)據(jù)包

pkt= Ether()/IP(dst=’192.168.1.2’)/TCP(dport=80)

提到數(shù)據(jù)包,不得不說各個(gè)協(xié)議了,提到協(xié)議,又自然而然想到了 osi 七層模型

OSI 七層網(wǎng)絡(luò)模型 TCP/IP 四層概念模型 對應(yīng)網(wǎng)絡(luò)協(xié)議 應(yīng)用層(Application) 應(yīng)用層 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示層(Presentation) 應(yīng)用層 Telnet, Rlogin, SNMP, Gopher 會(huì)話層(Session) 應(yīng)用層 SMTP, DNS 傳輸層(Transport) 傳輸層 TCP, UDP 網(wǎng)絡(luò)層(Network) 網(wǎng)絡(luò)層 IP, ICMP, ARP, RARP, AKP, UUCP 數(shù)據(jù)鏈路層(Data Link) 數(shù)據(jù)鏈路層 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP 物理層(Physical) 數(shù)據(jù)鏈路層 IEEE 802.1A, IEEE 802.2到IEEE 802.11

以上便是各個(gè)網(wǎng)絡(luò)協(xié)議對應(yīng)的 osi 模型,那么各個(gè)協(xié)議的用法是怎樣的了,下面我們一起來看下

四、各個(gè)協(xié)議用法

1、構(gòu)造一個(gè) IP 包,并傳入一些參數(shù)

#構(gòu)造一個(gè) IP 包,并傳入一些參數(shù)pkt = IP(dst='192.168.1.2',ttl=10)ls(pkt) version:版本號(hào)ihl:頭長度tos:服務(wù)類型len:IP數(shù)據(jù)包總長id:標(biāo)識(shí)符flags:標(biāo)記flag:片偏移ttl:生存時(shí)間proto:協(xié)議類型chksum:頭部校驗(yàn)src:源IP地址dst:目的IP地址options:可選項(xiàng)

2、構(gòu)造ARP包

#構(gòu)造ARP包ARP(op=1, hwdst='ff:ff:ff:ff:ff:ff', pdst=ip_address)#arp類的構(gòu)造函數(shù)列表:ls(ARP)hwtype : XShortField = (1) 值為1表示以太網(wǎng)地址,其它還可能表示令牌環(huán)地址ptype : XShortEnumField = (2048) 0x0800表示IP地址,其它還可能是ICMP/IGMPhwlen : ByteField = (6) ARP報(bào)文中,它的值為6plen : ByteField = (4) ARP報(bào)文中,它的值為4op : ShortEnumField = (1) 取值為1或者2,代表ARP請求或者響應(yīng)包。1.ARP請求,2.ARP應(yīng)答,3.RARP請求,4.RARP應(yīng)答 hwsrc : ARPSourceMACField = (None) 發(fā)送方Mac地址。psrc : SourceIPField= (None) 發(fā)送方IP地址。hwdst : MACField = (’00:00:00:00:00:00’) 目標(biāo)Mac地址。pdst : IPField = (’0.0.0.0’) 目標(biāo)IP地址。

3、構(gòu)造Ether

#構(gòu)造EtherEther(dst='ff:ff:ff:ff:ff:ff')ls(Ether)dst: DestMACField = (None) 目的MACsrc: SourceMACField = (None) 源MACtype : XShortEnumField = (36864)構(gòu)造一個(gè)以太網(wǎng)數(shù)據(jù)包通常需要指定目標(biāo)和源MAC地址,如果不指定,默認(rèn)發(fā)出的就是廣播包ff:ff:ff:ff:ff:ff

4、構(gòu)造TCP包

#構(gòu)造TCP包sport : ShortEnumField = 20 (20) 目標(biāo)端口dport : ShortEnumField = 80 (80) 源端口seq: IntField = 0 (0)ack: IntField = 0 (0)dataofs : BitField (4 bits) = None (None)reserved : BitField (3 bits) = 0 (0)flags : FlagsField (9 bits) = <Flag 2 (S)> (<Flag 2 (S)>)window : ShortField = 8192 (8192)chksum : XShortField = None (None)urgptr : ShortField = 0 (0)options : TCPOptionsField = [] (b’’)五、發(fā)包,收包

可分為兩種情況,用法如下:

1、只發(fā)不收

send(pkt, inter=0, loop=0, count=1, iface=N) pkt:數(shù)據(jù)包inter:發(fā)包間隔時(shí)間count:發(fā)包數(shù)量iface:網(wǎng)卡接口名稱send(),在第三層發(fā)包,沒有接收功能;send(IP(dst='www.baidu.com',ttl=2)/ICMP())sendp(),在第二層發(fā)包,沒有接收功能。sr(Ether()/IP(dst=www.baidu.com))

2、發(fā)包且收包

sr()和sr1()都是在第三層發(fā)包,sr1表示只接收第一個(gè)回復(fù)。sr(IP(dst='www.baidu.com',ttl=(1,4))/TCP(dport=[21,23,80],flags='S')) 返回兩個(gè)值sr1(IP(dst='www.baidu.com',ttl=(1,4))/ICMP()) srloop(IP(dst='www.baidu.com',ttl=1)/ICMP()) #不停的ping百度srloop(IP(dst='www.baidu.com',ttl=1)/ICMP(),inter=3,count=2) #每隔3秒ping一次,一共執(zhí)行兩次#inter表示間隔,count記錄次數(shù)srp()和srp1()都是根據(jù)第二層發(fā)包,srp1表示只接收第一個(gè)回復(fù)srp(Ether()/IP(dst='www.baidu.com'))srp1(Ether()/IP(dst=www.baidu.com))六、SYN半開式掃描

當(dāng) TCP 鏈接指定端口時(shí),flags 參數(shù)設(shè)為 S 時(shí)則為半開式掃描,若此時(shí)該端口處于監(jiān)聽狀態(tài),返回 syn/ack,否則返回 rst/ack

sr1(IP(dst='192.168.1.2')/TCP(dport=80,flags='S'))七、數(shù)據(jù)包序列化,反序列化

序列化:將數(shù)據(jù)包對象保存為 pcap 文件

反序列化:讀取 pcap 文件中的內(nèi)容

pkt= Ether()/IP(dst=’192.168.1.2’)/TCP(dport=80)#將嗅探到的數(shù)據(jù)包內(nèi)容寫到pcap文件中 wrpcap('hw.pcap',pkt)#讀取pcap文件。read=rdpcap(’hw.pcap’)print(read[1])#打印嗅探到的包的數(shù)據(jù)八、數(shù)據(jù)包與字符串轉(zhuǎn)換

更加直觀清晰的分析數(shù)據(jù)。

zfc= str(pkts[0]) z= Ether(zfc)九、導(dǎo)入導(dǎo)出 base64 編碼

為了方便我們對數(shù)據(jù)進(jìn)行加密而發(fā)明的一種方式

export_object(str(pkts[0])) 導(dǎo)出數(shù)據(jù)包new_Pkt = import_object() #將上一步導(dǎo)出的字符串填入十、離線數(shù)據(jù)包的解析

如果我們捕獲到數(shù)據(jù)包,未聯(lián)網(wǎng)的情況下如何解析呢?

現(xiàn)在就可以使用我們的離線數(shù)據(jù)包分析數(shù)據(jù)了:

sniff(offline = 'hw.pcap')#離線數(shù)據(jù)包總結(jié)

通過上面的學(xué)習(xí),我們對 scapy 算是有了一個(gè)基礎(chǔ)性的認(rèn)識(shí)了,scapy 的確很強(qiáng)大,簡單的幾行命令就能實(shí)現(xiàn)發(fā)包收包,極大的節(jié)省了我們的開發(fā)時(shí)間

如果你深入學(xué)習(xí)它的每個(gè)命令,你會(huì)發(fā)現(xiàn)更多有趣的事情,當(dāng)然這么強(qiáng)大的工具可不要拿來做壞事哦!

以上就是Python使用scapy模塊發(fā)包收包的詳細(xì)內(nèi)容,更多關(guān)于Python用scapy模塊發(fā)包收包的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩在线麻豆| 亚洲精品一级| 麻豆中文一区二区| 久久精品一区二区国产| 亚洲影院天堂中文av色| 伊人精品久久| 视频一区中文字幕精品 | 成人啊v在线| 麻豆国产精品| 亚洲成人va| 亚洲欧美久久| 日韩高清不卡一区二区| 美女精品视频在线| 欧美国产91| 日韩一区精品| 国产精品一区免费在线| 国产精品主播| 精品国产精品久久一区免费式 | 午夜欧美视频| 免费在线视频一区| 国产精品一卡| 日韩成人亚洲| 亚洲精品一二三**| 国产精品99在线观看| 日韩一区二区免费看| 日本电影久久久| 日本va欧美va瓶| 首页欧美精品中文字幕| 亚洲精品四区| 国产精品黑丝在线播放| 好吊一区二区三区| 国产欧美日本| 精品在线播放| 91嫩草精品| 久久国产中文字幕| 日韩精品高清不卡| 精精国产xxxx视频在线播放 | 国产白浆在线免费观看| 久久亚洲色图| 国产不卡精品| 国产精品一区2区3区| 鲁鲁在线中文| 日本亚洲三级在线| 1024精品一区二区三区| 国产探花在线精品| 久久蜜桃精品| 国产精品www.| 国产精品毛片| 高清一区二区三区| 日韩国产欧美三级| 久久视频国产| 久久久夜夜夜| 国产毛片精品| 亚洲色诱最新| av最新在线| 国产经典一区| 三级欧美在线一区| 欧美一区二区三区高清视频| 国产日韩一区二区三免费高清| 久久人人99| 国产91欧美| 国产欧美日韩一区二区三区四区| 国产二区精品| 日韩av免费大片| 欧美片网站免费| 免费欧美日韩| 蜜桃av一区二区| 国产精品高颜值在线观看| 亚洲字幕久久| 婷婷激情综合| 亚洲精品在线影院| 免费日韩成人| 91大神在线观看线路一区| 亚洲一区二区毛片| 秋霞国产精品| a天堂资源在线| 高清日韩欧美| 日韩一区二区三区精品 | 欧美视频久久| 日韩欧美美女在线观看| av不卡在线看| 蜜桃国内精品久久久久软件9| 精品不卡一区| 免费精品一区| 国产视频网站一区二区三区| 天堂精品久久久久| 亚洲精品国模| 日韩综合小视频| 日韩一区二区三免费高清在线观看 | 免费日韩精品中文字幕视频在线| 在线观看精品| 成人污污视频| 韩国一区二区三区视频| 精品中文在线| 精品久久电影| 中文在线中文资源| 亚洲人www| 天堂va欧美ⅴa亚洲va一国产| 一区二区三区四区在线观看国产日韩| 91久久黄色| 快she精品国产999| 亚洲资源网站| 国产欧美日韩免费观看| 欧美成a人片免费观看久久五月天| 国产精品手机在线播放| 欧美日韩亚洲一区三区| 欧美一区二区三区久久精品| 欧美自拍一区| 精品视频97| 91精品国产调教在线观看| 激情久久五月| 丝袜国产日韩另类美女| 亚洲aa在线| 国产中文字幕一区二区三区| 国产精品v亚洲精品v日韩精品| 麻豆一区二区三区| 久久久精品日韩| 日韩影院精彩在线| 欧美日韩亚洲一区在线观看| 精品三级在线观看视频| 99精品在线| 午夜日韩在线| 日韩黄色在线观看| 精品三区视频| 黑丝一区二区三区| 日韩不卡一区| 另类激情亚洲| 欧美日韩夜夜| 精品欧美一区二区三区在线观看| 国产高清久久| 国产精品亚洲人成在99www| 都市激情国产精品| 国产精品社区| 国产精品宾馆| 亚洲国内欧美| 国产一卡不卡| 欧美天堂视频| 亚洲色图网站| 日韩电影免费网站| 日日摸夜夜添夜夜添国产精品| 久久精品国产久精国产| 精品一区在线| 日本v片在线高清不卡在线观看| 激情综合五月| 美女精品一区二区| 国产一区亚洲| 国产人成精品一区二区三| 国产调教精品| 亚洲福利久久| 国产精品videossex| 五月精品视频| 国产一区二区三区四区大秀| 久久久五月天| 欧美片第1页综合| 激情久久久久久| 久久免费精品| 亚洲香蕉视频| 日韩不卡视频在线观看| 欧美日韩99| 欧美91精品| 国产日韩精品视频一区二区三区| 亚洲特色特黄| 日韩精品亚洲专区| 免费国产自线拍一欧美视频| 中文字幕一区二区av| 国产美女视频一区二区| 毛片不卡一区二区| 丝袜亚洲精品中文字幕一区| 欧美日韩国产一区二区在线观看| 欧美日本不卡| 免费视频久久| 国产一区二区三区不卡视频网站| 欧美天堂亚洲电影院在线观看| 欧美一级网站| 免费成人在线影院| 亚洲欧洲午夜| 日本美女一区| 免费一二一二在线视频| 天堂精品久久久久| 精品在线播放| 波多视频一区| 亚洲精品成人一区| 久久中文字幕av一区二区不卡| 国产精品麻豆成人av电影艾秋 | 国产调教一区二区三区| 亚洲免费婷婷| 欧美亚洲激情| 五月激情久久| 美女福利一区二区三区| 国产精品黄网站| 日韩欧美久久| 日韩影院免费视频| 国产农村妇女精品一二区| 久久三级福利| 激情黄产视频在线免费观看| 天堂av一区| 婷婷视频一区二区三区| 在线免费观看亚洲| 男女男精品网站| 亚洲三级观看|