importosimportdpktimportsocketimportdatetimeimportuuidfrom scapy.sendrecv importsnifffrom scapy.utils importwrpcapdefget_local_ip():
hostname=socket.gethostname()#获取本机内网ip
local_ips = socket.gethostbyname_ex(hostname)[-1]returnlocal_ipsdefbody_transfer(body):
str_body=body.decode()
body_ls= str_body.split("&")for item inbody_ls:
key_, value_= item.split("=")print("%s: %s"%(key_, value_))defget_dpkt():
dpkt_= sniff(count = 100) #这里是针对单网卡的机子,多网卡的可以在参数中指定网卡,例:iface=Qualcomm QCA9377 802.11ac Wireless Adapter
_uuid =uuid.uuid1()
filename= f"{_uuid}.pcap"wrpcap(filename, dpkt_)returnfilenamedefprint_pcap(pcap):try:
local_ips=get_local_ip()for timestamp, buf inpcap:
eth= dpkt.ethernet.Ethernet(buf) #获得以太包,即数据链路层包
#print("ip layer:"+eth.data._