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

您的位置:首頁技術文章
文章詳情頁

Python使用scapy模塊發包收包

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

眾所周知,我們每天上網都會有很多數據包需要發送,然后處理在接受在發送,這樣一個循環往復的過程

Python使用scapy模塊發包收包

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

包( packet )是網絡通信傳輸中的數據單位,一般稱之為數據包,其主要由源地址,目標地址,凈載數據組成

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

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

一、常用命令

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

Python使用scapy模塊發包收包

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

Python使用scapy模塊發包收包

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

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

Python使用scapy模塊發包收包

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

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

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

4.display():可以簡單查看當前 packet 的各個參數的取值情況,

a=IP()a.display()

5.更多命令

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

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:網卡接口名稱count:數據包數量prn:回調函數,通常與lambda搭配使用sprintf()函數控制輸入信息抓取源地址為192.168.3.3的端口為80的tcp報文:sniff(filter='ip src 192.168.3.3 and tcp and tcp port 80', prn=lambda x:x.summary())抓取目的地址網段為192.168.3.3/24的報文:sniff(filter='dst net 192.168', prn=lambda x:x.summary())抓取非ICMP的報文:sniff(filter='not icmp', prn=lambda x:x.summary())將抓取到的報文的summary打印出來:sniff(filter='icmp', prn=lambda x:x.summary(), count=10)將所有IP報文的源地址打印出來:sniff(filter='icmp', prn=lambda x:x[IP].src, count=10)三、構造數據包

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

提到數據包,不得不說各個協議了,提到協議,又自然而然想到了 osi 七層模型

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

以上便是各個網絡協議對應的 osi 模型,那么各個協議的用法是怎樣的了,下面我們一起來看下

四、各個協議用法

1、構造一個 IP 包,并傳入一些參數

#構造一個 IP 包,并傳入一些參數pkt = IP(dst='192.168.1.2',ttl=10)ls(pkt) version:版本號ihl:頭長度tos:服務類型len:IP數據包總長id:標識符flags:標記flag:片偏移ttl:生存時間proto:協議類型chksum:頭部校驗src:源IP地址dst:目的IP地址options:可選項

2、構造ARP包

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

3、構造Ether

#構造EtherEther(dst='ff:ff:ff:ff:ff:ff')ls(Ether)dst: DestMACField = (None) 目的MACsrc: SourceMACField = (None) 源MACtype : XShortEnumField = (36864)構造一個以太網數據包通常需要指定目標和源MAC地址,如果不指定,默認發出的就是廣播包ff:ff:ff:ff:ff:ff

4、構造TCP包

#構造TCP包sport : ShortEnumField = 20 (20) 目標端口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’’)五、發包,收包

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

1、只發不收

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

2、發包且收包

sr()和sr1()都是在第三層發包,sr1表示只接收第一個回復。sr(IP(dst='www.baidu.com',ttl=(1,4))/TCP(dport=[21,23,80],flags='S')) 返回兩個值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一次,一共執行兩次#inter表示間隔,count記錄次數srp()和srp1()都是根據第二層發包,srp1表示只接收第一個回復srp(Ether()/IP(dst='www.baidu.com'))srp1(Ether()/IP(dst=www.baidu.com))六、SYN半開式掃描

當 TCP 鏈接指定端口時,flags 參數設為 S 時則為半開式掃描,若此時該端口處于監聽狀態,返回 syn/ack,否則返回 rst/ack

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

序列化:將數據包對象保存為 pcap 文件

反序列化:讀取 pcap 文件中的內容

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

更加直觀清晰的分析數據。

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

為了方便我們對數據進行加密而發明的一種方式

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

如果我們捕獲到數據包,未聯網的情況下如何解析呢?

現在就可以使用我們的離線數據包分析數據了:

sniff(offline = 'hw.pcap')#離線數據包總結

通過上面的學習,我們對 scapy 算是有了一個基礎性的認識了,scapy 的確很強大,簡單的幾行命令就能實現發包收包,極大的節省了我們的開發時間

如果你深入學習它的每個命令,你會發現更多有趣的事情,當然這么強大的工具可不要拿來做壞事哦!

以上就是Python使用scapy模塊發包收包的詳細內容,更多關于Python用scapy模塊發包收包的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩av在线播放中文字幕| 老牛国产精品一区的观看方式| 亚洲伊人精品酒店| 免费国产自线拍一欧美视频| 伊人久久亚洲热| 蜜桃av一区二区| 日韩美女国产精品| 欧美日韩一区自拍| 国产精品免费99久久久| 国产亚洲观看| 久久精品伊人| 国产理论在线| 久久精品播放| 丝瓜av网站精品一区二区| 亚洲精品成人一区| 久久99蜜桃| 国产精品毛片久久| 不卡中文字幕| 日韩精品电影一区亚洲| 欧美激情福利| 欧美亚洲日本精品| 黄色日韩在线| 日韩视频1区| 久久精品一区二区三区中文字幕| а√在线中文在线新版| 久久精品高清| 日韩欧美中文字幕在线视频| 国产欧美久久一区二区三区| 精品网站999| 激情欧美亚洲| 日韩精品亚洲专区| 国产精品一区三区在线观看| 91免费精品| 国产一区二区高清| 国产精品主播在线观看| 亚洲免费福利| 巨乳诱惑日韩免费av| 国产欧美丝祙| 久久高清免费| 亚洲免费专区| 高清精品久久| 亚洲欧美日韩国产综合精品二区| 欧美一区精品| 日韩久久精品网| 中文字幕一区二区三区日韩精品 | av免费不卡国产观看| 日韩亚洲在线| 捆绑调教美女网站视频一区| 91精品99| 国产福利亚洲| 欧美日韩国产一区精品一区| 欧美日韩亚洲一区二区三区在线| 日韩久久视频| 日韩国产欧美在线播放| 久久久精品午夜少妇| 日本欧美一区| 亚洲成人精品| 国产欧美精品久久| 一区三区视频| 久久香蕉网站| 亚洲乱码一区| 99久久亚洲精品| 国产精品一区二区精品| 九色精品91| 国产日韩亚洲欧美精品| 国产精品99免费看| 免费观看亚洲天堂| 水野朝阳av一区二区三区| a天堂资源在线| 青青国产精品| 99pao成人国产永久免费视频 | 久久亚洲电影| 97精品一区| 欧美精品三级在线| 国产精品日韩| 美腿丝袜亚洲三区| 日本在线不卡视频| 夜久久久久久| 色网在线免费观看| 国产乱子精品一区二区在线观看 | 伊人久久成人| 欧美激情另类| 国产精品www994| 在线观看一区| 激情91久久| 神马日本精品| 精品美女视频 | 亚洲精品日本| 免费黄色成人| 精品网站999| 国产精品久久久久久久久久久久久久久| 久久xxxx| 日韩亚洲在线| 一本一道久久a久久精品蜜桃| 91一区二区| 久久一区精品| 国产精品资源| 日本在线不卡视频| 在线观看亚洲精品福利片| 国产综合欧美| 久久久成人网| 日韩网站中文字幕| 日韩a一区二区| 久久精品二区亚洲w码| 欧美三级第一页| 日韩欧美激情电影| 中文字幕亚洲精品乱码| 国产精品日本| 美日韩精品视频| 亚洲综合电影一区二区三区| 免费污视频在线一区| 九九色在线视频| 精品三级在线观看视频| 免费视频一区二区三区在线观看 | 日本久久一区| 97精品资源在线观看| 日韩三级一区| 国产一卡不卡| 国产欧美一区| 欧美激情视频一区二区三区免费| 国产精品亚洲欧美日韩一区在线 | 97精品国产一区二区三区| 精品视频一区二区三区四区五区 | 国产丝袜一区| 国产精品极品在线观看| 国产精品综合| 麻豆国产精品一区二区三区 | 国产福利资源一区| 成人高清一区| 99热精品久久| 视频在线观看一区二区三区| 中文字幕中文字幕精品| 日韩精品乱码av一区二区| 日韩欧美三区| 欧美国产极品| 日韩成人综合| 丝袜av一区| 欧美中文日韩| 欧美综合精品| 精品国产美女a久久9999| а√天堂8资源中文在线| 成人精品中文字幕| 亚洲激情偷拍| 亚洲精品第一| 你懂的网址国产 欧美| 国产v日韩v欧美v| av亚洲在线观看| 日韩中文字幕区一区有砖一区| 亚洲欧洲免费| 国产三级一区| 天堂а√在线最新版中文在线| 日本一区二区高清不卡| 久久精品91| 蜜臀久久久99精品久久久久久| 日韩精品亚洲专区| 国产一区2区| 亚洲精品一二三区区别| 婷婷成人av| 国产a久久精品一区二区三区| 蜜桃成人av| 日韩手机在线| 亚洲黄色免费av| 在线免费观看亚洲| 国产精品99久久免费| 日韩免费一区| 亚洲一区av| 欧美黄页在线免费观看| 欧美中文字幕一区二区| 日韩精品高清不卡| 在线亚洲人成| 亚洲精品在线国产| 色婷婷亚洲mv天堂mv在影片| 最新日韩欧美| 国产福利一区二区三区在线播放| 99成人超碰| 日本精品一区二区三区在线观看视频| 国产一区国产二区国产三区| 日韩午夜在线| 久久香蕉网站| 麻豆亚洲精品| 91视频久久| 综合激情婷婷| 欧美好骚综合网| 亚洲不卡视频| 国产麻豆久久| 欧美一区二区三区久久精品| 中文字幕系列一区| 欧美精品国产一区| 久久一区二区中文字幕| 日韩国产在线观看| 99久久亚洲精品蜜臀| 国产精品嫩模av在线| 婷婷中文字幕一区| 久久精品人人| 亚洲精品高潮| 久久久久久久久99精品大| 日韩一区网站| 久久一区二区三区喷水| 麻豆国产欧美一区二区三区| 午夜在线视频观看日韩17c|