Closed dorty3541 closed 6 years ago
脚本如下,但是会有很奇怪的[WARNING] Can not parse:image/jpeg的提示,不知道是哪个输出里出现的呢 import json import re import time
import zmail
def date_to_timestamp(date, format_string="%Y-%m-%d %H:%M:%S"): time_array = time.strptime(date, format_string) time_stamp = time.mktime(time_array) return time_stamp
def getmail(): try: pop_server = zmail.server('txy_zabbix@XXXX.com', 'XXXX', pop_host='XXXX', pop_port='995', pop_ssl=True) mails = pop_server.get_mails(subject='XXXX封堵通知') except: pass for mail in mails:
infor_dict = {} mail_info = str(mail['content_html']).replace("\n", " ") infor_dict['IP'] = re.search( r'(?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9])', mail_info).group() infor_dict['attack_flow'] = re.search(r'(\d+Mbps)', mail_info).group() # 获取当前时间和邮件中的时间 rece_time = str(mail['date'].strip('+0800').strip(" ")) rece_time = int(date_to_timestamp(rece_time)) current_time = int(time.time()) if current_time - rece_time < 58 : # 与crontab设置的时间相同 print("被封堵IP为%s,DDoS流量为%s" % (infor_dict['IP'], infor_dict['attack_flow']))
这是在multiple_part中发现了一个无法被正确解析的part part的content-type为image/jpeg 却没有找到附件标识 所以出了个warning 请看看附件是否能被正确解析了
脚本如下,但是会有很奇怪的[WARNING] Can not parse:image/jpeg的提示,不知道是哪个输出里出现的呢 import json import re import time
import zmail
def date_to_timestamp(date, format_string="%Y-%m-%d %H:%M:%S"): time_array = time.strptime(date, format_string) time_stamp = time.mktime(time_array) return time_stamp
def getmail(): try: pop_server = zmail.server('txy_zabbix@XXXX.com', 'XXXX', pop_host='XXXX', pop_port='995', pop_ssl=True) mails = pop_server.get_mails(subject='XXXX封堵通知') except: pass for mail in mails:
获取邮件中需要的信息