Amax-SB
25-11-2017, 00:26
Доброго времени суток всем. Есть задача, но недостаток знаний и отсутствие знакомых у кого спросить затрудняют ее решить. Есть несколько удаленных хостов, которые должны быть доступны по определенным портам. Нужен скрипт, который бы опрашивал их по очереди с некоторым интервалом и при ответе от хоста порт закрыт, слал бы на email сообщение, мол так и так не работает.
Погуглив немножко и почитав этот форум наткнулся на несколько подходящих кусков для решения моей задачи. Но вот как соединить эти куски и возможно ли это я пока не знаю. Прошу совета.
есть консольная утилита blat
запускаю так
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "tekst_soobscheniya"
Blat не работает с SSL, поэтому в промежутке стоит костыль stunnel с настройками
cert = stunnel.pem
fips = no
;TLS_PROTOCOL=SSL23
sslVersion = all
options = NO_SSLv2
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Some debugging stuff useful for troubleshooting
debug = 7
output = stunnel.log
; GMail
client=yes
; POP3 service, listens on localhost:11110
[gmail-pop3s]
accept=127.0.0.1:11110
connect=pop.mail.ru:995
; SMTP service, listens on localhost:11025
[gmail-smtps]
accept=127.0.0.1:11025
connect=smtp.mail.ru:465
эта связка работает
далее гениальная консольная nmap
nmap.exe -p 8000 93.157.232.ххх
которая выдает ЕСЛИ ПОРТ ОТКРЫТ
PORT STATE SERVICE
8000/tcp open
ЕСЛИ ПОРТ ЗАКРЫТ
PORT STATE SERVICE
8000/tcp close
ЕСЛИ БЛОЧИТ ФАЙЕРВОЛ
PORT STATE SERVICE
8000/tcp filtered
идея в BATнике прописать
nmap.exe -p 8000 93.157.232.хх1
IF ответ = PORT STATE SERVICE 8000/tcp open
ТО ничего не делать
ELSE goto: mail1
nmap.exe -p 8001 93.157.232.хх2
IF ответ = PORT STATE SERVICE /tcp open 8001
ТО ничего не делать
ELSE goto: mail2
ЗАЦИКЛИТЬ
:MAIL1
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 1"
:MAIL2
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 2"
по частям работает, а вот как это в одно целое собрать не знаю. I NEED HELP!!!
Погуглив немножко и почитав этот форум наткнулся на несколько подходящих кусков для решения моей задачи. Но вот как соединить эти куски и возможно ли это я пока не знаю. Прошу совета.
есть консольная утилита blat
запускаю так
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "tekst_soobscheniya"
Blat не работает с SSL, поэтому в промежутке стоит костыль stunnel с настройками
cert = stunnel.pem
fips = no
;TLS_PROTOCOL=SSL23
sslVersion = all
options = NO_SSLv2
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
; Some debugging stuff useful for troubleshooting
debug = 7
output = stunnel.log
; GMail
client=yes
; POP3 service, listens on localhost:11110
[gmail-pop3s]
accept=127.0.0.1:11110
connect=pop.mail.ru:995
; SMTP service, listens on localhost:11025
[gmail-smtps]
accept=127.0.0.1:11025
connect=smtp.mail.ru:465
эта связка работает
далее гениальная консольная nmap
nmap.exe -p 8000 93.157.232.ххх
которая выдает ЕСЛИ ПОРТ ОТКРЫТ
PORT STATE SERVICE
8000/tcp open
ЕСЛИ ПОРТ ЗАКРЫТ
PORT STATE SERVICE
8000/tcp close
ЕСЛИ БЛОЧИТ ФАЙЕРВОЛ
PORT STATE SERVICE
8000/tcp filtered
идея в BATнике прописать
nmap.exe -p 8000 93.157.232.хх1
IF ответ = PORT STATE SERVICE 8000/tcp open
ТО ничего не делать
ELSE goto: mail1
nmap.exe -p 8001 93.157.232.хх2
IF ответ = PORT STATE SERVICE /tcp open 8001
ТО ничего не делать
ELSE goto: mail2
ЗАЦИКЛИТЬ
:MAIL1
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 1"
:MAIL2
blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 2"
по частям работает, а вот как это в одно целое собрать не знаю. I NEED HELP!!!