У меня есть проект последнего года, и я выбрал приманку в качестве темы. Идея состоит в том, что я перехватываю / перехватываю соединения злоумышленника с помощью tshark и сохраняю файл журнала. После этого я создал сценарий, который берет исходные IP-адреса из файла pcap и отправляет информацию, содержащую 3 основных IP-адреса, которые были атакованы, на канал Slack.
SlackNotif.py:
from collections import Counter
import os
import slackweb
slack = slackweb.Slack(url="Webhook's URL")
def getIPs():
os.system("tshark -r .config/honey.pcap -T fields -e ip.src > .config/honey.txt")
localIP = socket.gethostbyname(socket.gethostname())
ip_array=[]
with open('.config/honey.txt') as ip_file:
for ip in ip_file:
ip = ip.strip()
if ip != str(localIP):
ip_array.append(ip)
count_ips=(Counter(ip_array).most_common())
def notification(count_ips):
TopIP=[]
NumberAttack=[]
for ip, attacks in count_ips:
TopIP.append(attacks)
if not TopIP:
attachement = {"color": "#008000", "title": "No IP's attacked today"}
else:
if len(TopIP) == 1:
attachement = {"color": "#FFFF00", "title": "Top Honeypot attacker IP:", "text": "1." +
str(NumberAttack[0]) + " attacks"}
else:
if len(TopIP) == 2:
attachement = {"color": "#FFFF00", "title": "Top Honeypot attacker IP:", "text": "2." +
str(NumberAttack[1]) + " attacks"}
else:
if len(TopIP) == 3:
attachement = {"color": "#FFFF00", "title": "Top Honeypot attacker IP:", "text": "3." +
str(NumberAttack[2]) + " attacks."}
attachements.append(attachement)
slack.notify(attachements=attachements)
После выполнения по сценарию ничего не произошло.