首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏sktj

    python dpkt解析流量包

    /usr/bin/python coding=utf-8 import dpkt import socket def printPcap(pcap): # 遍历[timestamp, packet] 记录的数组 for (ts, buf) in pcap: try: # 获取以太网部分数据 eth = dpkt.ethernet.Ethernet(buf) # 获取IP层数据 ip = '[+] Src: ' + src + ' --> Dst: ' + dst except: pass def main(): f = open('geotest.pcap') pcap = dpkt.pcap.Reader

    3.6K30发布于 2019-07-31
  • 21.3 Python 使用DPKT分析数据包

    dpkt项目是一个Python模块,主要用于对网络数据包进行解析和操作。它可以处理多种协议,例如TCP、UDP、IP等,并提供了一些常用的网络操作功能,例如计算校验和、解析DNS数据包等。 由于其简单易用的特性,dpkt被广泛应用于网络安全领域,例如流量分析、漏洞利用、入侵检测等。使用该库可以快速解析通过各类抓包工具抓到的数据包,从而提取分析包内的参数。 安装DPKT工具:pip install dpkt在分析数据包之前我们需要抓取特定数据包并保存为*.pcap格式,通常情况下这种数据包格式可通过WireShark等工具抓取到,当然也可以使用上一篇提到的 图片当读者抓取到这些数据包之后,下一步则是解析这些数据包,解析的方法有许多可以使用DPKT解析,也可以使用scapy自带的工具解析,本章首先介绍如何使用Scapy工具实现解析数据包内的HTTP请求,并输出的功能 工具包也可以很好的完成,对于使用Dpkt解包而言,首先需要通过open()打开数据包,接着调用dpkt.pcap.Reader(fp)将文件内的字节转化为PCAP格式,最后调用自定义函数GetDpkt根据字段进行解析即可

    1.7K20编辑于 2023-10-20
  • Python 运用Dpkt库解析数据包

    dpkt项目是一个python模块,用于快速、简单的数据包解析,并定义了基本TCP/IP协议,使用该库可以快速解析通过各类抓包工具抓到的数据包,从而提取分析包内的参数。 使用Dpkt分析数据包: 使用Dpkt发现URL中存在的.zip字样链接 #coding=utf-8 import dpkt import socket def FindPcapWord(pcap,WordKey ): for ts,buf in pcap: try: eth = dpkt.ethernet.Ethernet(buf) ip (fp) FindPcapWord(pcap,"wang.zip") 也可以使用dpkt解析本机数据包中是否包含后门。 #coding=utf-8 import dpkt import socket def FindPcapWord(pcap,WordKey): for timestamp,packet in

    2.3K20编辑于 2022-12-28
  • 来自专栏sktj

    python 根据ip生成地理位置的kml文件,在谷歌地图上展示

    /usr/bin/python coding=utf-8 import dpkt import socket import pygeoip import optparse gi = pygeoip.GeoIP return kml except: return ' ' def plotIPs(pcap): kmlPts = '' for (ts, buf) in pcap: try: eth = dpkt.ethernet.Ethernet options.pcapFile == None: print parser.usage exit(0) pcapFile = options.pcapFile f = open(pcapFile) pcap = dpkt.pcap.Reader

    1.9K10发布于 2019-07-31
  • 来自专栏FreeBuf

    使用Burpsuite代理和pypcap抓包进行抢红包的尝试

    PyPcap简介 Python上的抓包模块,可以设置过滤器实时抓取网络数据包,配合dpkt模块可以完成对网络数据包的分析。 apt-get install libpcap-dev pip install pypcap 监听指定IP数据包 import pcap import dpkt import datetime import socket from dpkt.compat import compat_ord pc=pcap.pcap(‘eth0′) #参数可为网卡名,如eth0 pc.setfilter(‘src except (dpkt.dpkt.NeedData, dpkt.dpkt.UnpackError): continue #获取数据包信息并打印 do_not_fragment = bool(ip.off & dpkt.ip.IP_DF) more_fragments = bool(ip.off & dpkt.ip.IP_MF) fragment_offset

    1.9K71发布于 2018-02-23
  • 利用 Python 解析pcap文件

    ts, pkt in dpkt.pcap.Reader(open(filename, 'r')): counter += 1 eth = dpkt.ethernet.Ethernet(pkt 您可以使用dpkt或scapy的API来提取数据包的起始时间和结束时间。 例如,在dpkt中,您可以使用ts变量来获取数据包的起始时间,在scapy中,您可以使用pkt.time变量来获取数据包的起始时间。如何过滤数据包?您可以使用dpkt或scapy的API来过滤数据包。 您可以使用dpkt或scapy的API来保存解析后的数据包。 例如,在dpkt中,您可以使用dpkt.pcap.Writer()类来保存数据包,在scapy中,您可以使用wrpcap()函数来保存数据包。

    1.9K10编辑于 2024-07-08
  • 来自专栏安恒网络空间安全讲武堂

    Python编写渗透工具学习笔记二 | 0x04编写程序分析流量检测ddos攻击

    0x04编写程序分析流量 检测ddos攻击 1使用dpkt发现下载loic的行为 LOIC,即Low Orbit Ion Cannon低轨道离子炮,是用于压力测试的工具,通常被攻击者用来实现DDoS攻击 可以看出来,wireshark和python的dpkt库对这个时间的解析是存在一定的差异的,不过这个问题不大 ? ----》 ? 其中type:ipv4(0x0800) 对应的是 2048 ? ? ------------->对应flags标识中的More fragments Offset=0---------------->对应fragment offset:0 分析到这里已经非常清楚了,其实dpkt 再看一个结构图(用---来表示各层协议的分层情况) 这个也是用dpkt模块解析出来的数据包中各层协议之间一些分布情况 ? /usr/bin/python #coding=utf-8 import dpkt import socket import optparse #设置阈值为1000 THRESH

    3.6K60发布于 2018-02-06
  • 来自专栏python3

    SendPkt快速入门[Python]

    推荐使用dpktdpkt是python界通用的数据包组包和解包库,在分层构造数据包时从高层(应用层)向底层依次构造数据包。并且把高层数据包的数据作为下一层数据包的data字段来使用。 Copyright@1999-2007, Harry Gashero Liu. “”" ARP查询的测试 “”" from socket import inet_aton,inet_ntoa import dpkt ) def main(): global LOCALMAC global LOCALIP device=sendpkt.findalldevs()[0] #for linux is eth0 arp=dpkt.arp.ARP , hln=6, pln=4, op=1, sha=LOCALMAC, spa=LOCALIP, tha=”\x00″*6, tpa=inet_aton(”192.168.1.1″) ) ether=dpkt.ethernet.Ethernet ( dst=”\xff”*6, src=LOCALMAC, type=0×0806, data=arp ) #print ether #print repr(dpkt.ethernet.Ethernet

    1K10发布于 2020-01-07
  • 来自专栏sktj

    python 检查是否存在ddos攻击

    /usr/bin/python coding=utf-8 import dpkt import socket import optparse 默认设置检测不正常数据包的数量的阈值为1000 THRESH = 1000 def findDownload(pcap): for (ts, buf) in pcap: try: eth = dpkt.ethernet.Ethernet(buf) ip except: pass def findHivemind(pcap): for (ts, buf) in pcap: try: eth = dpkt.ethernet.Ethernet(buf (f) findDownload(pcap) with open(pcapFile, 'r') as f: pcap = dpkt.pcap.Reader(f) findHivemind(pcap ) with open(pcapFile, 'r') as f: pcap = dpkt.pcap.Reader(f) findAttack(pcap) if name == 'main': main

    5.4K30发布于 2019-07-31
  • 来自专栏ITJoker的吹逼专栏

    【Python】QQ查IP工具

    ) 检测数据包的标志020048即可 需要pypacp这个库,但是python3 的环境下,推荐pacp-ct 具体缺啥库就安装啥.... import psutil,netaddr,pcap,dpkt else: check_transport = dpkt.udp.UDP for timestamp, raw_buf in pc: eth = dpkt.ethernet.Ethernet (raw_buf) if not isinstance(eth.data, dpkt.ip.IP): continue df = bool(eth.data.off & dpkt.ip.IP_DF) mf = bool(eth.data.off & dpkt.ip.IP_MF) offset = eth.data.off & dpkt.ip.IP_OFFMASK traffic = eth.data.data if not isinstance(traffic,check_transport

    2.3K10编辑于 2022-08-30
  • 来自专栏玄魂工作室

    Python黑客编程3网络数据监听和过滤

    课程的实验环境如下: • 操作系统:kali Linux 2.0 • 编程工具:Wing IDE • Python版本:2.7.9 • 涉及到的主要python模块:pypcap,dpkt,scapy ,scapy-http 涉及到的几个python网络抓包和分析的模块,dpkt和scapy在kali linux 2.0 中默认已经被安装,如果你的系统中没有需要手动安装一下,下面是软件包安装的简单说明 在抓到数据包之后,下一步就需要对数据进行解析,这里我们引入dpkt组件包。 1.3 使用DPKT 解析数据包 dpkt,简单来说是一个数据包解析工具,可以解析离线/实时pcap数据包。 import pcap import dpkt def captData(): pc=pcap.pcap('wlan0') #注,参数可为网卡名,如eth0 pc.setfilter( 使用dpkt的第一步就是选择数据包类型,这里当然是要选择以太网数据包了。 ? 按照网络协议,层层剥离,会解析到所有你想要的数据。 ?

    5.1K30发布于 2018-04-11
  • Python 运用GeoIP2离线数据库定位

    #coding=utf-8 import dpkt import socket import geoip2.database def GetPcap(pcap): ret = [] for timestamp,packet in pcap: try: eth = dpkt.ethernet.Ethernet(packet) pass return set(ret) if __name__ == '__main__': fp = open('data.pcap','rb') pcap = dpkt.pcap.Reader advanced/current/googleearthprowin-7.3.2.exe #coding=utf-8 # pip install python-geoip-geolite2 import dpkt if options.pcap_file and options.mmdb_file: fp = open(options.pcap_file,'rb') pcap = dpkt.pcap.Reader

    1.7K20编辑于 2022-12-28
  • 来自专栏sktj

    python 根据ip获取地理位置

    /usr/bin/python coding=utf-8 import dpkt import socket import pygeoip import optparse gi = pygeoip.GeoIP def printPcap(pcap): # 遍历[timestamp, packet]记录的数组 for (ts, buf) in pcap: try: # 获取以太网部分数据 eth = dpkt.ethernet.Ethernet options.pcapFile == None: print parser.usage exit(0) pcapFile = options.pcapFile f = open(pcapFile) pcap = dpkt.pcap.Reader

    2.2K20发布于 2019-07-31
  • 来自专栏python3

    python 网络抓包

    典型的范例(抓取80端口TCP包): import pcap import dpkt pc=pcap.pcap() pc.setfilter('tcp port 80') for ptime,pdata in pc: print ptime,pdata p=dpkt.ethernet.Ethernet(pdata) if p.data.

    3.1K20发布于 2020-01-03
  • 21.4 Python 使用GeoIP2地图定位

    databasedef GetPcap(pcap): ret = [] for timestamp,packet in pcap: try: eth = dpkt.ethernet.Ethernet pass return set(ret)if __name__ == '__main__': fp = open('d://lyshark.pcap','rb') pcap = dpkt.pcap.Reader if options.pcap_file and options.mmdb_file: fp = open(options.pcap_file,'rb') pcap = dpkt.pcap.Reader databasedef AnalysisPace(DpktPack,Filter): respon = [] with open(DpktPack,"rb") as fp: pcap = dpkt.pcap.Reader (fp) for timestamp, packet in pcap: try: eth = dpkt.ethernet.Ethernet

    1.4K20编辑于 2023-10-24
  • 来自专栏python3

    Python_安装pycap

    pycap:http://code.google.com/p/pypcap/ sendpkt:http://code.google.com/p/sendpkt/ dpkt:http://code.google.com /p/dpkt/ 我的系统是window7、python2.7,pycap和sendpkt结合起来做网络抓包分析非常好,可惜google code上提供的都是针对python2.5的,我的是python2.7

    86420发布于 2020-01-13
  • Python 开发代码片段笔记

    流量解包: 流量解包 import dpkt import socket import geoip2.database import argparse p=dpkt.ethernet.Ethernet import dpkt import socket import geoip2.database import argparse def GetPcap(pcap): ret = [] for timestamp,packet in pcap: try: eth = dpkt.ethernet.Ethernet(packet) print("[+] {}:{}".format(dst,dport)) except Exception: pass dpkt (pcap,WordKey): for timestamp,packet in pcap: try: eth = dpkt.ethernet.Ethernet

    1.4K10编辑于 2022-12-28
  • 来自专栏Python小白进阶之旅

    13个web安全-python网络测试工具+白帽黑客必备,大神整理,小白可以先收藏起来

    2、pypcap,pcapy和pylibpcap:几个不同的libpcap捆绑Python库 3、libdnet:低级别的网络路由器,可用于接口查找和以太网帧转发 4、dpkt:快速、轻量级的数据包创建

    2K100发布于 2018-05-01
  • 来自专栏后台技术底层理解

    pygeoip通过域名 IP获得地理位置

    kmlPts = '' for (ts, buf) in pcap: try: eth = dpkt.ethernet.Ethernet

    2.6K10发布于 2020-08-04
  • 来自专栏米扑专栏

    Python 学习入门(3)—— 常用类库

    ctypes ———— 用来调用动态链接库   Cx-oracle ———— 连接oracle的工具   DBUtils ———— 数据库连接池   django ———— 一个WEB framework   DPKT ———— raw-scoket网络编程   docutils ———— 用来写文档的   dpkt ———— 数据包的解包和组包   feedparser ———— rss解析   Kodos ———

    1.7K31发布于 2019-02-19
领券