返回顶部
首页 > 资讯 > 操作系统 >python实现linux下抓包并存库功能
  • 206
分享到

python实现linux下抓包并存库功能

pythonlinux抓包 2022-06-04 22:06:12 206人浏览 独家记忆
摘要

最近项目需要抓包功能,并且抓包后要对数据包进行存库并分析。抓包想使用tcpdump来完成,但是tcpdump抓包之后只能保存为文件,我需要将其保存到数据库。想来想去shell脚本似乎不太好实现,于是用了比较热门的pyth

最近项目需要抓包功能,并且抓包后要对数据包进行存库并分析。抓包想使用tcpdump来完成,但是tcpdump抓包之后只能保存为文件,我需要将其保存到数据库。想来想去shell脚本似乎不太好实现,于是用了比较热门的python来实现。不得不说,Python丰富的第三方库确实是很强大,下面是具体的功能代码。


from apscheduler.scheduler import Scheduler
import os
import sys
import time
import Mysqldb
import ConfigParser
import Logger

def main():

  logger = Logger.Logger(logname='flowstat.log', loglevel=1, logger='flowstat').getlog()

  try:
    cf = ConfigParser.ConfigParser()
    cf.read('./flowstat.conf')

    filterNet1 = cf.get('packet', 'filterNet1')
    filterNet2 = cf.get('packet', 'filterNet2')
    packetFile = cf.get('packet', 'packetFile')

    db_host = cf.get('db', 'host')
    db_user = cf.get('db', 'user')
    db_passwd = cf.get('db', 'passwd')
    db_dbname = cf.get('db', 'dbname')

    conn = mysqldb.connect(host=db_host, user=db_user, passwd=db_passwd, db=db_dbname, port=3306)

    os.system('nohup ./capturePacket.sh ' + filterNet1 + ' ' + filterNet2 + ' ' + packetFile + ' &')
  except Exception, e:
    logger.error(e)
    sys.exit(1)


  sched = Scheduler(daemonic = False)
  @sched.cron_schedule(day_of_week='0-4', hour='*', minute='0-59', second='*/60')
  def packagestat_job():
    logger.debug('stat package' + ' ' + time.strftime("%Y-%m-%d %H:%M:%S"))
    try:
      fos = open(packetFile, 'r+')
      lines = fos.readlines()
      values = []
      for line in lines:
        arr = line.split(',')
        if len(arr) > 4:
          values.append((arr[0].strip(), arr[2].strip(), arr[3].strip(), arr[4].strip()))

      if len(values) > 0:
        cur = conn.cursor()
        cur.executemany('insert into tbpk_packet(TimesMacs, LengthIps, Seq, Ack) values(%s,%s,%s,%s)', values)
        conn.commit()
        cur.close()

      fos.truncate(0)
      fos.close()
    except Exception, e3:
      Logger.error(e3)


  sched.start()

  while 1:
    tiiEeFOeme.sleep(60)

  conn.close()

if __name__ == '__main__':
  main()

shell脚本
#!/bin/sh
tcpdump -i eth0 -l >> *.txt

上面的功能涉及到了文件操作,数据库操作,定时任务等几个功能点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

--结束END--

本文标题: python实现linux下抓包并存库功能

本文链接: https://lsjlt.com/news/19729.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python实现linux下抓包并存库功能
    最近项目需要抓包功能,并且抓包后要对数据包进行存库并分析。抓包想使用tcpdump来完成,但是tcpdump抓包之后只能保存为文件,我需要将其保存到数据库。想来想去shell脚本似乎不太好实现,于是用了比较热门的pyth...
    99+
    2022-06-04
    python linux 抓包
  • Requests库实现数据抓取与处理功能
    目录引言安装基本用法发送HTTP请求处理HTTP响应高级功能总结引言 Requests是Python中一个常用的第三方库,用于向Web服务器发起HTTP请求并获取响应。该库的使用简单...
    99+
    2023-05-20
    Requests库数据抓取与处理 Requests库数据抓取
  • python实现盲盒抽奖功能(减库存)
    案例名称:盲盒抽奖 案例描述: 某比赛共设三个奖项,分别是:一等奖、二等奖、三等奖, 一等奖的奖品有三种选择:电饭煲、空调、洗衣机, 二等奖的奖品有三种选择:球鞋、手表、滑板, 三等...
    99+
    2024-04-02
  • golang实现文件上传并转存数据库功能
    本文实例为大家分享了golang实现文件上传并转存数据库的具体代码,供大家参考,具体内容如下 需求 上传图片,且可选择将图片保存到数据中。 一、流程图 二、步骤 1.上传文件接口 ...
    99+
    2024-04-02
  • springboot+websocket实现并发抢红包功能
    目录概述分析 效果展示设计开发表结构设计发红包设计红包支付成功回调设计抢红包设计拆红包设计获取红包领取记录设计jmeter并发测试抢红包、查红包接口概述 抢红包功能作为几大高并发场...
    99+
    2024-04-02
  • iOS实现视频下载并自动保存到相册功能
    iOS视频下载功能实现,并自动保存到相册(有MBProgressHUD 可以解开注释),供大家参考,具体内容如下 视频类定义属性 ///@property (nonatomic...
    99+
    2022-06-05
    iOS 视频下载
  • Linux下怎么用python实现语音识别功能
    这篇文章主要介绍“Linux下怎么用python实现语音识别功能”,在日常操作中,相信很多人在Linux下怎么用python实现语音识别功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么用py...
    99+
    2023-07-05
  • Python实现视频下载功能
    最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有这样一个程序,可以把各大视频网站的热门用户最新发布的视频都下载下来,不仅方便自己观看,还可以将没有版权的视频发布在个人社交网站上,增...
    99+
    2022-06-04
    视频下载 功能 Python
  • Python爬虫实现抓取电影网站信息并入库
    目录一.环境搭建1.下载安装包2.修改环境变量3.安装依赖模块二.代码开发三.运行测试1.新建电影信息表2.代码运行四.问题排查和修复1.空白字符报错2.请求报错一.环境搭建 1.下...
    99+
    2024-04-02
  • Android实现截屏并保存操作功能
    该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。 实现的代码如下: private v...
    99+
    2022-06-06
    Android
  • springboot+websocket怎样实现并发抢红包功能
    这期内容当中小编将会给大家带来有关springboot+websocket怎样实现并发抢红包功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。概述抢红包功能作为几大高并发场景中典型,应该如何实现?分析参考...
    99+
    2023-06-22
  • Python实现Linux命令xxd -i功能
    一. Linux xxd -i功能 Linux系统xxd命令使用二进制或十六进制格式显示文件内容。若未指定outfile参数,则将结果显示在终端屏幕上;否则输出到outfile中。详细的...
    99+
    2022-06-04
    命令 功能 Python
  • linux下C语言实现写日志功能
    先上程序,该程序经过测试能够很好的实现写日志要求 int safe_asprintf(char **strp, const char *fmt, ...) { va_list ap; int retval...
    99+
    2022-06-04
    linux C语言 日志
  • python贪吃蛇核心功能实现下
    紧接上回,已经完成了单独的贪食蛇的控制,但是呢,居然没有苹果可以吃,所以,非常简单的加入苹果,同时呢,修改一下主程序中贪食蛇的创建,单独编写一个贪食蛇身体生成函数,这样将来要做双蛇也...
    99+
    2024-04-02
  • Vue实现录制屏幕并本地保存功能
    目录一、Vue三、实现1.index.html2.app.js一、Vue 用的也是之前那篇文章里面的文件 Vue使用Vue调起摄像头,进行拍照并能保存到本地 用的是HBuilder ...
    99+
    2024-04-02
  • Python 和 Django 能否同时实现实时打包的功能?
    随着互联网的快速发展,实时性已经成为了许多应用的核心要求之一。在这样的背景下,许多开发人员开始寻求一种能够同时实现实时性和打包的技术方案,以满足各种应用场景的需求。而 Python 和 Django 作为目前最为流行的开发语言和 Web ...
    99+
    2023-08-29
    django 实时 打包
  • sql中触发器如何实现库存功能
    这篇文章主要为大家展示了“sql中触发器如何实现库存功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql中触发器如何实现库存功能”这篇文章吧。表1、入库表&...
    99+
    2024-04-02
  • Linux下SSH Session复制功能的实现方法
    本篇内容主要讲解“Linux下SSH Session复制功能的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下SSH Session复制功能的实现方法”吧!代码如下:Linux...
    99+
    2023-06-13
  • Python实现Youku视频批量下载功能
    前段时间由于收集视频数据的需要,自己捣鼓了一个YouKu视频批量下载的程序。东西虽然简单,但还挺实用的,拿出来分享给大家。   版本:Python2.7+BeautifulSoup3.2.1 impor...
    99+
    2022-06-04
    批量 功能 视频
  • Kotlin实现网络图片下载和保存功能
    目录一、理论基础二、实验目的三、实验步骤1、新建工程文件2、引入布局管理3、创建布局4、访问权限5、实现逻辑四、实验演示五、实验总结一、理论基础 掌握Kotlin面向对象的软件开发方...
    99+
    2023-02-07
    Kotlin网络图片下载和保存 Kotlin图片下载 Kotlin保存图片
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作