import shodan
import config
import requests
import traceback
import telebot
from telebot import TeleBot
SHODAN_API_KEY = "PSKINdQe1GyxGgecYz2191H2JoS9qvgD"
api = shodan.Shodan(SHODAN_API_KEY)
ApiToken = config.API_TOKEN
bot = TeleBot(ApiToken)
def shodan(message):
try:
target = message.text
dnsResolve = 'https://api.shodan.io/dns/resolve?hostnames=' + target + '&key=' + SHODAN_API_KEY
try:
# First we need to resolve our targets domain to an IP
resolved = requests.get(dnsResolve)
hostIP = resolved.json()[target]
host = api.host(hostIP)
bot.send_message(message.chat.id,f"IP: %s" % host['ip_str'] + "\n" +"Organization: %s" % host.get('org', 'n/a') + "\n" + "Operating System: %s" % host.get('os', 'n/a'))
for item in host['data']:
bot.send_message(message.chat.id,"Порты: %s" % item['port'])
for item in host['vulns']:
CVE = item.replace('!','')
bot.send_message(message.chat.id,f'Уязвимости: %s' % item)
exploits = api.exploits.search(CVE)
except:
pass
except:
bot.send_message(messege.chat.id,"<code>По Shodan ничего не найдено</code>",parse_mode="html")
Помогите объединить текст в цикле for где вывод портов и уязвимостей
Мне нужно чтобы это было в 1 сообщении а не в 2
Зарание спасибо