国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python:快速查找出被掛馬的文件

2019-11-14 17:45:20
字體:
來源:轉載
供稿:網友

網站被入侵,擔心被掛馬,因此就想自己寫個腳本來查找那些被掛馬的文件

思路

需要實現準備一份未受感染的源代碼和一份可能受感染的源代碼,然后運行以下腳本,就能找出到底哪些文件被掛馬了。

其中,主要是根據比對2份文件的md5值來過濾可能被掛馬的文件(確切的說應該是被修改過的文件)

Python腳本

__author__ = 'Flying'#coding:utf-8#Date:2014.6.5#檢測修改過的文件import os,sys,hashlib,datetimeglobal_DirOld = ""global_DirNew = ""global_FilesList = []#輸入要比對的文件路徑def InputDirPath():    global global_DirOld,global_DirNew    global_DirOld = unicode(raw_input("請輸入備份文件所在目錄:"),"utf-8")    while not os.path.exists(global_DirOld):        PRint  u"指定的路徑不存在,請重新輸入"        global_DirOld = unicode(raw_input("請輸入備份文件所在目錄:"),"utf-8")    global_DirNew = unicode(raw_input("請輸入要檢測文件的目錄:"),"utf-8")    while not os.path.exists(global_DirNew):        print  u"指定的路徑不存在,請重新輸入"        global_DirNew = unicode(raw_input("請輸入要檢測文件的目錄:"),"utf-8")#將數據保存到文件中def SaveToFile(filePath,content):    try:        f = open(filePath,"a+")        f.write(content.encode("utf-8") + "/n")        f.close()    except Exception,ex:        print "Error:" + str(ex)#計算文件的MD5值def CalcMD5(filepath):    try:        #以二進制的形式打開        with open(filepath,'rb') as f:            md5obj = hashlib.md5()            md5obj.update(f.read())            hash = md5obj.hexdigest()            return hash    except Exception,ex:        print "Error:" + str(ex)        return None#遍歷目錄下的所有文件def GetAllSubFiles():    global global_FilesList    for dir in os.walk(global_DirNew):        for file in dir[2]:            filePath = dir[0] + os.sep + file            global_FilesList.append(filePath[len(global_DirNew)+1:])#列出新增文件和變動的文件def ListChangedFiles():    global global_DirOld,global_DirNew,global_FilesList    print u"變動或新增的文件:"    for file in global_FilesList:        filePathOld = global_DirOld + os.sep + file        filePathNew = global_DirNew + os.sep + file        if not os.path.exists(filePathOld) or CalcMD5(filePathOld)!=CalcMD5(filePathNew):            content = "[" + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+ "]" + filePathNew            print content            SaveToFile("ChangedFiles.txt",content)if __name__=="__main__":    InputDirPath()    GetAllSubFiles()    ListChangedFiles()

腳本執行結果

作      者:曾是土木人

新浪微博:http://weibo.com/cstmr

原文地址:http://m.survivalescaperooms.com/hongfei/p/3769774.html


上一篇:django模型

下一篇:pycharm安裝與實踐

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陆丰市| 宿松县| 绍兴市| 鞍山市| 城口县| 衡东县| 福鼎市| 巴青县| 普兰县| 罗定市| 灵丘县| 巢湖市| 东乡县| 新竹县| 高州市| 北票市| 区。| 北碚区| 沭阳县| 日土县| 于田县| 阿坝县| 四子王旗| 广元市| 宜兰县| 富平县| 屏东县| 汉阴县| 都安| 武陟县| 鹿邑县| 磐安县| 扎囊县| 邻水| 青铜峡市| 普洱| 海城市| 金门县| 崇礼县| 忻州市| 连江县|