Python選擇網卡發(fā)包及接收數(shù)據包
當一臺計算機上有多個網卡時,需要選擇對應IP地址的網卡進行發(fā)送數(shù)據包或者接受數(shù)據包。
1、選擇網卡發(fā)包(應用scapy):
plface=conf.route.route("××.××.××.××")[0] #××.××.××.××為對應網卡網絡中存在設備的IP地址。不能是需要發(fā)送數(shù)據包的網卡的IP地址(會報“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、選擇網卡進行包的接收
1)如下方法,只能獲得一個網卡的ip地址(選擇哪個網卡,優(yōu)先級未知)
socket.getaddrinfo(socket.gethostname(),None)[-1][4][0]
2)如下方法,可根據ip地址確定網卡:
HOST = socket.gethostbyname(socket.gethostname()) s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP) s.bind((HOST,0))
host可以直接用網卡ip地址代替,這樣就可以選擇網卡進行包的接受了
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
python?實現(xiàn)syslog?服務器的詳細過程
這篇文章主要介紹了python?實現(xiàn)syslog服務器的詳細過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08Python?NumPy教程之數(shù)組的創(chuàng)建詳解
這篇文章主要為大家詳細介紹了Python?NumPy中數(shù)組的創(chuàng)建方式,文中的示例代碼講解詳細,對我們學習Python有一定幫助,需要的可以參考一下2022-08-08Python實現(xiàn)解壓當天創(chuàng)建的ZIP文件到指定文件夾中
這篇文章主要為大家詳細介紹了Python如何實現(xiàn)解壓當天創(chuàng)建的ZIP文件到指定文件夾中,文中的示例代碼講解詳細,需要的小伙伴可以參考下2024-03-03Python復制Excel表格中指定數(shù)據若干次的方法
本文介紹基于Python語言,讀取Excel表格文件數(shù)據,并基于其中某一列數(shù)據的值,將這一數(shù)據處于指定范圍的那一行加以復制,并將所得結果保存為新的Excel表格文件的方法,需要的朋友可以參考下2024-02-02Python把csv數(shù)據寫入list和字典類型的變量腳本方法
今天小編就為大家分享一篇Python把csv數(shù)據寫入list和字典類型的變量腳本方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06