多个ip对应的是同一个mac_Python3+Scapy安装使用 + 查询本机对应网卡,IP,MAC代码...
生活随笔
收集整理的這篇文章主要介紹了
多个ip对应的是同一个mac_Python3+Scapy安装使用 + 查询本机对应网卡,IP,MAC代码...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
安裝
直接使用pip安裝
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scapy一些擴展功能,可選:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib pyx cryptography生成數據包
啟動scapy交互shell
切換到Python的Scripts文件夾下,直接使用scapy命令啟動(本質是scapy.bat)
scapy生成數據包
在scapy中,應用層之下的數據包,基本使用協議大寫對應的方法就可以直接生成。如:
from scapy.all import *# 使用Ether()方法生成一個以太網數據包eth_packet = Ether()# 使用IP()方法生成一個網絡層數據包ip_packet = IP()# 使用TCP()方法生成一個tcp數據包tcp_packet = TCP()# 使用UDP()方法生成一個udp數據包udp_packet = UDP()# 使用ICMP()方法生成一個icmp數據包icmp_packet = ICMP()print(eth_packet)print(ip_packet)print(tcp_packet)print(eth_packet)查詢本機對應網卡,IP,MAC代碼:
安裝:
C:\Users\ART\Desktop\demo\demo>pip install -i https://pypi.tuna.tsinghua.edu.cn/simple psutilpython3代碼如下:
import psutildef get_local(ifname): dic = psutil.net_if_addrs() for adapter in dic: if adapter == ifname: snicList = dic[adapter] mac = '無 mac 地址' ipv4 = '無 ipv4 地址' ipv6 = '無 ipv6 地址' for snic in snicList: if snic.family.name in {'AF_LINK', 'AF_PACKET'}: mac = snic.address elif snic.family.name == 'AF_INET': ipv4 = snic.address elif snic.family.name == 'AF_INET6': ipv6 = snic.address return (adapter,ipv4,mac)result = get_local('本地連接')print(result)總結
以上是生活随笔為你收集整理的多个ip对应的是同一个mac_Python3+Scapy安装使用 + 查询本机对应网卡,IP,MAC代码...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python加载dll函数失败_Pyth
- 下一篇: python csdn博客_利用Pyth