首页 > 编程语言 >python winpcap

python winpcap

时间:2022-11-13 08:45:46浏览次数:44  
标签:python IP .% packet dpkt import print winpcap

from winpcapy import WinPcapDevices
from winpcapy import WinPcapUtils

import dpkt
import time
import datetime

# list_device = WinPcapDevices.list_devices()
# print(list_device)


def packet_callback(win_pcap, param, header, pkt_data):
    eth = dpkt.ethernet.Ethernet(pkt_data)
    # # 判断是否为IP数据报
    if not isinstance(eth.data, dpkt.ip.IP):
        print("Non IP packet type not supported ", eth.data.__class__.__name__)
        return
    # 抓IP数据包
    packet = eth.data
    # 取出分片信息
    df = bool(packet.off & dpkt.ip.IP_DF)
    mf = bool(packet.off & dpkt.ip.IP_MF)
    offset = packet.off & dpkt.ip.IP_OFFMASK

    # 输出数据包信息:time,src,dst,protocol,length,ttl,df,mf,offset,checksum
    output1 = {'time':time.strftime('%Y-%m-%d %H:%M:%S',(time.localtime()))}
    output2 = {'src':'%d.%d.%d.%d'%tuple(packet.src) , 'dst':'%d.%d.%d.%d'%tuple(packet.dst)}
    output3 = {'protocol':packet.p, 'len':packet.len, 'ttl':packet.ttl}
    output4 = {'df':df, 'mf':mf, 'offset':offset, 'checksum':packet.sum}
    print()
    print(output1)
    print(output2)
    print(output3)
    print(output4)

#WinPcapUtils.capture_on(pattern="Realtek PCIe GBE Family Controller", callback=packet_callback)
WinPcapUtils.capture_on(pattern="Intel(R) Dual Band Wireless-AC 3165", callback=packet_callback)

 

标签:python,IP,.%,packet,dpkt,import,print,winpcap
From: https://www.cnblogs.com/xkdn/p/16885385.html

相关文章

  • python-pillow图像处理
    一、图像处理pillow是pythonimaginglibrary的简称。常见的尺寸/格式/色彩/旋转等处理。引用是为fromPILimportImage。PIL库安装目录在/Library/Frameworks/Python.fr......
  • HMM算法python实现
    基础介绍,后5项为基础5元素Q=['q0','q1','q2','q3']#状态集合States,共N种状态V=['v0','v1']#观测集合Observatio......
  • python监听串口双方收发消息内容
    使用说明使用VSPD建立一组虚拟串口查看MCU的端口号与波特率并修改python程序配置,运行即可看到双方收发的效果通过串口助手连接到虚拟串口并向其发送消息即Python显示......
  • python的垃圾回收机制
    python对内存回收引用几个概念计数器:当python程序运行时,会根据数据类型的不同找到相对应的结构体,根据结构体中的字段来进行创建相关的数据。然后将对象添加到refchain双向......
  • python学习笔记(一)
    一、前言要开始准备明年的数学建模比赛了,第一次弄这个比赛先从python学习开始吧,正好学了c语言,感觉大部分都差不多。 二、基础语法有三个非常基础的语法,据我所知c中并......
  • python的深浅拷贝
    在python中,对象的赋值就是简单的引用,a=[1,2,3],b=a,在上述情况下,a和b是一样的,他们指向同一片内存,b不过是a的别名,是引用,我们可以使用bisa去判断,返回Trueb......
  • Python_解决脚本执行过程中,文件被多次读取的问题
    今天在封装pandas过程中,发现封装脚本的执行耗时明显高于未封装的脚本复盘问题importtimeclassDemo:defmock_read_excel(self):print("读取文件")......
  • Python程序流程控制
    Python程序流程控制1.*程序流程概述在现实生活中,我们看到的流程是多种多样的,如汽车在道路上行驶,要顺序地沿道路前进,碰到交叉路口时,驾驶员就需要判断是转弯还是直行,在环......
  • 万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
    众所周知,Python3.11版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!作者:Bes......
  • 30分钟学完Python基础语法
    30分钟学完Python基础语法,有一门面向对象语言的基础,30分钟足够看一遍Python的基础了。基础语法#缩进取代大括号#用换行取代分号,也可以使用分号,无所谓#输出print();#输......