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

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

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

最近項目需要抓包功能,并且抓包后要對數(shù)據(jù)包進行存庫并分析。抓包想使用tcpdump來完成,但是tcpdump抓包之后只能保存為文件,我需要將其保存到數(shù)據(jù)庫。想來想去shell腳本似乎不太好實現(xiàn),于是用了比較熱門的python來實現(xiàn)。不得不說,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:
    time.sleep(60)

  conn.close()

if __name__ == '__main__':
  main()

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

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

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

相關文章

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

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

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

    python flask安裝和命令詳解

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

    python使用turtle庫繪制時鐘

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

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

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

    Python設計密碼強度校驗程序

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

    python實現(xiàn)textrank關鍵詞提取

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

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

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

    wxPython學習之主框架實例

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

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

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

    Python溫度轉換實例分析

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

最新評論

晋宁县| 息烽县| 阳山县| 太谷县| 通州市| 饶河县| 赣榆县| 望奎县| 正蓝旗| 托里县| 阿克| 肃宁县| 阿拉尔市| 银川市| 西林县| 德惠市| 手机| 松桃| 永福县| 望都县| 独山县| 余江县| 文化| 光山县| 平安县| 休宁县| 会宁县| 当阳市| 汉阴县| 金寨县| 兴业县| 砚山县| 丽水市| 荣昌县| 民乐县| 台中县| 梅州市| 双桥区| 同德县| 朝阳区| 鄂州市|