Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包
當(dāng)一臺(tái)計(jì)算機(jī)上有多個(gè)網(wǎng)卡時(shí),需要選擇對(duì)應(yīng)IP地址的網(wǎng)卡進(jìn)行發(fā)送數(shù)據(jù)包或者接受數(shù)據(jù)包。
1、選擇網(wǎng)卡發(fā)包(應(yīng)用scapy):
plface=conf.route.route("××.××.××.××")[0] #××.××.××.××為對(duì)應(yīng)網(wǎng)卡網(wǎng)絡(luò)中存在設(shè)備的IP地址。不能是需要發(fā)送數(shù)據(jù)包的網(wǎng)卡的IP地址(會(huì)報(bào)“result too large”) pkt=conf.L2socket(plface) pack_ip,pack_udp,pack_ether=self.udp_pack() t= str(pack_ether/pack_ip/pack_udp/udp_packdata) udp_pack = Ether(t) pkt.send(udp_pack)
2、選擇網(wǎng)卡進(jìn)行包的接收
1)如下方法,只能獲得一個(gè)網(wǎng)卡的ip地址(選擇哪個(gè)網(wǎng)卡,優(yōu)先級(jí)未知)
socket.getaddrinfo(socket.gethostname(),None)[-1][4][0]
2)如下方法,可根據(jù)ip地址確定網(wǎng)卡:
HOST = socket.gethostbyname(socket.gethostname()) s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP) s.bind((HOST,0))
host可以直接用網(wǎng)卡ip地址代替,這樣就可以選擇網(wǎng)卡進(jìn)行包的接受了
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Python 使用指定的網(wǎng)卡發(fā)送HTTP請(qǐng)求的實(shí)例
- python 的 scapy庫,實(shí)現(xiàn)網(wǎng)卡收發(fā)包的例子
- Python簡單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】
- Python獲取本機(jī)所有網(wǎng)卡ip,掩碼和廣播地址實(shí)例代碼
- Linux服務(wù)器網(wǎng)卡流量查看方法 shell和Python各一枚
- python使用WMI檢測(cè)windows系統(tǒng)信息、硬盤信息、網(wǎng)卡信息的方法
- Python腳本實(shí)現(xiàn)網(wǎng)卡流量監(jiān)控
- python監(jiān)控網(wǎng)卡流量并使用graphite繪圖的示例
- python 獲取計(jì)算機(jī)的網(wǎng)卡信息
相關(guān)文章
用Python進(jìn)行行為驅(qū)動(dòng)開發(fā)的入門教程
這篇文章主要介紹了用Python進(jìn)行行為驅(qū)動(dòng)開發(fā)的入門教程,本文也對(duì)BDD的概念做了詳細(xì)的解釋,需要的朋友可以參考下2015-04-04python?實(shí)現(xiàn)syslog?服務(wù)器的詳細(xì)過程
這篇文章主要介紹了python?實(shí)現(xiàn)syslog服務(wù)器的詳細(xì)過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08Python?NumPy教程之?dāng)?shù)組的創(chuàng)建詳解
這篇文章主要為大家詳細(xì)介紹了Python?NumPy中數(shù)組的創(chuàng)建方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-08-08Python實(shí)現(xiàn)解壓當(dāng)天創(chuàng)建的ZIP文件到指定文件夾中
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)解壓當(dāng)天創(chuàng)建的ZIP文件到指定文件夾中,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下2024-03-03Python復(fù)制Excel表格中指定數(shù)據(jù)若干次的方法
本文介紹基于Python語言,讀取Excel表格文件數(shù)據(jù),并基于其中某一列數(shù)據(jù)的值,將這一數(shù)據(jù)處于指定范圍的那一行加以復(fù)制,并將所得結(jié)果保存為新的Excel表格文件的方法,需要的朋友可以參考下2024-02-02Python把csv數(shù)據(jù)寫入list和字典類型的變量腳本方法
今天小編就為大家分享一篇Python把csv數(shù)據(jù)寫入list和字典類型的變量腳本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06