Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

25.07.2007, 14:45
|
|
Участник форума
Регистрация: 30.05.2007
Сообщений: 115
Провел на форуме: 496690
Репутация:
135
|
|
mirc скрипты
Поискал по форуму - вроде темы такой не было, посему решил создать. Давайте в этой теме делиться мирк-скриптами, которыми мы пользуемся ежедневно и считаем, что они значительно облегчают нам жизнь. Как топикстартер естесственно начну я - ну а Вы уже, может быть и продолжите 
Итак, первый скрипт, который бы я хотел Вам представить - NetWhois - скрипт позволит Вам не выходя из ирц просканировать нужный Вам хост и получить whois-информацию
Код:
;===> NET Whois scaner
;;;;;;
menu channel,nicklist,status {
-
NETWhoIs
.Быстро:NWsScanStart $$1
.Диалог:dialog -mn NetWhoIsScaner NetWhoIsScaner | did -i NetWhoIsScaner 13 0 $$1 | did -e NetWhoIsScaner 14,17
}
dialog NetWhoIsScaner {
title "NETWhois Modul"
option dbu
size 83 70 180 43
button "Закрыть",10, 130 29 43 10, cancel
text "Адрес или Nick:",12, 7 6 41 8
combo 13, 50 5 107 100, drop, edit, autohs
button "Del",14, 158 5 15 10, disable
text "WhoIs database:",15, 7 18 41 8
combo 16, 50 17 123 100, drop
button "IPv4",18, 7 29 20 10
button "Результат",17, 28 29 100 10, disable
}
on 1:dialog:NetWhoIsScaner:edit:13:{
if ($did(13) != $null) did -e $dname 14,17
if ($did(13) == $null) did -b $dname 14,17
}
on 1:dialog:NetWhoIsScaner:init:0:{
NetWsDbIns NetWhoIsScaner
did -c $dname 16 %NWsDBnum
NetWsAddrIns
}
on 1:dialog:NetWhoIsScaner:sclick:*:{
if ($did == 13) { did -e $dname 14,17 }
if ($did == 14) { write -dw" $+ $did(13) $+ " $shortfn($mircdir) $+ texts\NetWsAddr.txt | did -r $dname 13 | NetWsAddrIns }
if ($did == 16) {
set %NWsDBnum $did(16).sel
if (%NWsDBnum == 1) { set %NWsDB whois.arin.net }
if (%NWsDBnum == 2) { set %NWsDB whois.ripe.net }
if (%NWsDBnum == 3) { set %NWsDB whois.apnic.net }
if (%NWsDBnum == 4) { set %NWsDB whois.arin.net }
}
if ($did == 17) {
if ($did(13) == $null) { halt }
NWsScanStart $did(13)
if ($read -w $+ $did(13) $shortfn($mircdir) $+ texts\NetWsAddr.txt != $did(13)) {
write $shortfn($mircdir) $+ txt\NetWsAddr.txt $did(13)
did -r $dname 13 | NetWsAddrIns
}
else {
write -dw $+ $did(13) $shortfn($mircdir) $+ texts\NetWsAddr.txt
write $shortfn($mircdir) $+ texts\NetWsAddr.txt $did(13)
did -r $dname 13 | NetWsAddrIns
}
}
if ($did == 18) {
window -k0 @IPv4
var %IPv4Lines = $lines($mircdirtexts\IPv4.txt)
var %IPv4Ind = 0
:next
inc %IPv4Ind
if (%IPv4Ind > %IPv4Lines) halt
var %IPv4var $read -l $+ %IPv4Ind $shortfn($mircdir) $+ texts\IPv4.txt
if (%IPv4var != $null) echo @IPv4 %IPv4var
else { echo @IPv4 - }
goto next
}
}
#NWsScan off
on 1:DNS:{
if ($iaddress == $null) {
echo 4 @NetWhois Невозможно определить IP для %NWsScanData
echo 4 @NetWhois Сканирование остановлено
.disable #NWsScan
halt
}
set %NWsScanNICK $nick
set %NWsScanADDR $iaddress
set %NWsScanNAME $naddress
echo @NetWhois *** Resolving Data:
if (%NWsScanNICK != $null) { echo @NetWhois IRC Nick: %NWsScanNICK } | else { echo @NetWhois Nick: N/A }
if (%NWsScanADDR != $null) { echo @NetWhois IP addr: %NWsScanADDR }
if (%NWsScanNAME != $null) { echo @NetWhois Domain: %NWsScanNAME } | else { echo @NetWhois Domain: N/A }
if ($sock(NWsScan*,0) == 0) {
if (%NWsDBnum == 4) { sockopen NWsScanFirst %NWsDB 43 }
else { sockopen NWsScanDifer %NWsDB 43 }
echo @NetWhois *** Start Scaning
}
else { echo 4 @NetWhois Прежнее сканирование ещё не закончено! }
.disable #NWsScan
}
#NWsScan end
on 1:sockopen:NWsScan*:{
if ($window(@NetWhois) == $null) { sockclose NWsScan* | halt }
if ($sockerr > 0) { echo 4 @NetWhois Socket: Open Error. Try again. | sockclose NWsScan* | halt }
if (%NWsDBnum == 4) {
if ($sockname == NWsScanFirst) { sockwrite -n NWsScanFirst %NWsScanADDR }
elseif ($sockname == NWsScanRipe) { sockwrite -n NWsScanRipe %NWsScanADDR }
elseif ($sockname == NWsScanAPNIC) { sockwrite -n NWsScanAPNIC %NWsScanADDR }
}
else {
if ($sockname == NWsScanDifer) { sockwrite -n NWsScanDifer %NWsScanADDR }
}
}
on 1:sockread:NWsScan*:{
if ($window(@NetWhois) == $null) { sockclose NWsScan* | halt }
if ($sockerr > 0) { echo 4 @NetWhois Socket: Read Error. Try again. | sockclose NWsScan* | halt }
sockread %NWsScanVar
if ($sockname == NWsScanDifer) {
if (%NWsScanVar == $null) { echo @NetWhois - }
echo @NetWhois %NWsScanVar
}
if ($sockname == NWsScanFirst) {
if (Netname: isin $gettok(%NWsScanVar,1,32)) {
echo @NetWhois $gettok(%NWsScanVar,2-,32)
if (RIPE isin $gettok(%NWsScanVar,2-,32)) { NWsAutoRIPE }
elseif (APNIC isin $gettok(%NWsScanVar,2-,32)) { NWsAutoAPNIC }
else { NWsAutoOther }
}
if (Netblock: isin $gettok(%NWsScanVar,1,32)) echo @NetWhois $gettok(%NWsScanVar,2-,32)
if (%NWsScan2line == 2) { set %NWsScan2line 0 | echo @NetWhois %NWsScanVar | echo @NetWhois ============= }
if (%NWsScan2line == 1) { echo @NetWhois %NWsScanVar | set %NWsScan2line 2 }
if (Coordinator: isin $gettok(%NWsScanVar,1,32)) { set %NWsScan2line 1 }
}
elseif ($sockname == NWsScanRipe || $sockname == NWsScanAPNIC) {
if (%NWsScanVar == $null) { halt }
if ($gettok(%NWsScanVar,1,32) == inetnum:) { echo @NetWhois > $+ $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == netname:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == descr:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == country:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == route:) { echo @NetWhois --------------------- | echo @NetWhois > $gettok(%NWsScanVar,2-,32) - route }
if ($gettok(%NWsScanVar,1,32) == person: || $gettok(%NWsScanVar,1,32) == role:) { echo @NetWhois --------------------- | echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == address:) { echo @NetWhois > $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == phone:) { echo @NetWhois > tel: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == fax-no:) { echo @NetWhois > fax: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == e-mail:) { echo @NetWhois > mail: $gettok(%NWsScanVar,2-,32) }
if ($gettok(%NWsScanVar,1,32) == remarks:) { echo @NetWhois > remarks: $gettok(%NWsScanVar,2-,32) }
}
}
on 1:sockclose:NWsScan*:{
if ($sockname != NWsScanFirst) { echo @NetWhois - | echo @NetWhois *** End of Scan }
}
menu @NetWhois {
$iif(($sock(NWsScan*,0) == 1),Закончить):sockclose NWsScan* | echo 4 @NetWhois *** Scaninig Abroded
-
Очистить:clear @NetWhois
-
Закрыть:window -c @NetWhois
}
;;;;;
alias NetWsDbIns {
{ did -i $1 16 1 ARIN (American Registry for Internet Numbers) | did -i $1 16 2 RIPE NCC (Reseaux IP Europeens) | did -i $1 16 3 APNIC (Asia-Pacific Network Information Center) | did -i $1 16 4 -=< Автоматическое определение >=- }
}
alias NetWsAddrIns {
{ var %NWAddrIns = $lines($mircdirtexts\NetWsAddr.txt) + 1 | var %NWind 0 | :next | dec %NWAddrIns 1 | inc %NWind 1 | if (%NWAddrIns <= 0) { return } | did -i NetWhoIsScaner 13 %NWind $read -l $+ %NWAddrIns $shortfn($mircdir) $+ texts\NetWsAddr.txt | goto next }
}
alias NWsScanStart { {
if ($window(@NetWhois) == $null) {
window -adhku @NetWhois 82 70 300 320 $gettok($readini $mircdirmirc.ini fonts fstatus,1,46) $gettok($readini $mircdirmirc.ini fonts fstatus,2-,46)
echo $colour(info) @NetWhois $chr(160) Net WhoISer
echo @NetWhois $chr(160)
}
if ($window(@NetWhois) != $null) { window -a @NetWhois } | echo @NetWhois - | echo @NetWhois 10Scan Data: $1 | set %NWsScan2line 0 | set %NWsScanData $1 | echo @NetWhois $chr(160) | .enable #NWsScan | dns $1
}
}
alias NWsAutoRIPE { { sockopen NWsScanRipe whois.ripe.net 43 } }
alias NWsAutoAPNIC { { sockopen NWsScanAPNIC whois.apnic.net 43 }}
alias NWsAutoOther{ { .timer 1 2 echo @NetWhois - | .timer 1 3 echo @NetWhois *** End of Scan }}
сохраняет этот код в файлик с расширением mrc - и вводим в своем ирк-клиенте /load -rs путь_до_скрипта и при щелчке правой кнопкой по каналу\нику - вы увидите в выпадающем списке меню "NetWhois". Ах да, если скрипт ругнется на отсутствующий файл txt/netwhois.txt - нужно будет его создать =\
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|