最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)linux下抓包并存庫功能

 更新時(shí)間:2018年07月18日 09:11:38   作者:pingnanlee  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)linux下抓包并存庫功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近項(xiàng)目需要抓包功能,并且抓包后要對(duì)數(shù)據(jù)包進(jìn)行存庫并分析。抓包想使用tcpdump來完成,但是tcpdump抓包之后只能保存為文件,我需要將其保存到數(shù)據(jù)庫。想來想去shell腳本似乎不太好實(shí)現(xiàn),于是用了比較熱門的python來實(shí)現(xiàn)。不得不說,python豐富的第三方庫確實(shí)是很強(qiáng)大,下面是具體的功能代碼。

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:
    time.sleep(60)

  conn.close()

if __name__ == '__main__':
  main()

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

上面的功能涉及到了文件操作,數(shù)據(jù)庫操作,定時(shí)任務(wù)等幾個(gè)功能點(diǎn)。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例

    使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例

    下面小編就為大家分享一篇使用python獲取csv文本的某行或某列數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python flask安裝和命令詳解

    python flask安裝和命令詳解

    Flask是使用Python編寫的Web微框架,這篇文章主要介紹了python flask安裝和命令,需要的朋友可以參考下
    2019-04-04
  • python使用turtle庫繪制時(shí)鐘

    python使用turtle庫繪制時(shí)鐘

    這篇文章主要為大家詳細(xì)介紹了python使用turtle庫繪制時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python生成隨機(jī)數(shù)組的方法小結(jié)

    Python生成隨機(jī)數(shù)組的方法小結(jié)

    這篇文章主要介紹了Python生成隨機(jī)數(shù)組的方法,結(jié)合實(shí)例形式總結(jié)分析了Python使用random模塊生成隨機(jī)數(shù)與數(shù)組操作相關(guān)技巧,需要的朋友可以參考下
    2017-04-04
  • Python設(shè)計(jì)密碼強(qiáng)度校驗(yàn)程序

    Python設(shè)計(jì)密碼強(qiáng)度校驗(yàn)程序

    這篇文章主要介紹了Python如何設(shè)計(jì)密碼強(qiáng)度校驗(yàn)程序,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python實(shí)現(xiàn)textrank關(guān)鍵詞提取

    python實(shí)現(xiàn)textrank關(guān)鍵詞提取

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)textrank關(guān)鍵詞提取,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python3.4實(shí)現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法示例

    Python3.4實(shí)現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法示例

    這篇文章主要介紹了Python3.4實(shí)現(xiàn)從HTTP代理網(wǎng)站批量獲取代理并篩選的方法,涉及Python網(wǎng)絡(luò)連接、讀取、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • wxPython學(xué)習(xí)之主框架實(shí)例

    wxPython學(xué)習(xí)之主框架實(shí)例

    這篇文章主要介紹了wxPython學(xué)習(xí)之主框架應(yīng)用實(shí)例,以一個(gè)基礎(chǔ)的彈出窗體實(shí)例講述了wxPython主框架應(yīng)用程序的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-09-09
  • 詳解Python調(diào)試神器之PySnooper

    詳解Python調(diào)試神器之PySnooper

    在程序開發(fā)過程中,代碼的運(yùn)行往往會(huì)和我們預(yù)期的結(jié)果有所差別。于是,我們需要清楚代碼運(yùn)行過程中到底發(fā)生了什么?代碼哪些模塊運(yùn)行了,哪些模塊沒有運(yùn)行?輸出的局部變量是什么樣的?PySnooper,能夠大大減少調(diào)試過程中的工作量
    2021-11-11
  • Python溫度轉(zhuǎn)換實(shí)例分析

    Python溫度轉(zhuǎn)換實(shí)例分析

    這篇文章主要介紹了Python溫度轉(zhuǎn)換實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論

西乌珠穆沁旗| 德江县| 逊克县| 东源县| 潼南县| 两当县| 九台市| 松江区| 木兰县| 香河县| 澜沧| 西和县| 时尚| 天柱县| 阿坝县| 凤凰县| 岱山县| 恭城| 筠连县| 荣成市| 玉屏| 枣阳市| 林甸县| 观塘区| 凤山县| 土默特左旗| 遂平县| 社会| 金堂县| 全南县| 微博| 商丘市| 元江| 广东省| 库伦旗| 渝北区| 慈溪市| 陆川县| 体育| 阿鲁科尔沁旗| 德格县|