欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包

 更新時(shí)間:2019年04月04日 17:09:20   作者:hzliyaya  
今天小編就為大家分享一篇關(guān)于Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

當(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é)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論