Port Scanner
Posted by HellRaz0r
Monday, December 04, 2006
Description: mIRC Based PortScanner
;/portscan 127.0.0.1 1-100
;/portscan stop
alias portscan {
if ($1- == stop) {
echo -a [^B]Stopped Scanning[^B]
.sockclose PortScan-* | .reload -rs $qt($script)
}
elseif (!$2) halt
elseif !$longip($1) { echo -a [^B]Please enter a valid ip[^B] | halt }
.sockclose $+(PortScan-,$1,:*)
var %x $gettok($2,1,$asc(-)), %window $+(@PortScan-,$1), %hinum = $gettok($2,2,$asc(-))
if (!$window(%window)) window -e %window
aline %window [^B]Scan Started[^B]
while %x <= $gettok($2,2,$asc(-)) {
var %y 1 | while %y <= 10 { portscan2 %window $1 %x | inc %x | inc %y | pause ms 100 }
if (%x == 11) portscan2 %window $1 %x
elseif %x == %hinum {
portscan2 %window $1 %x
aline %window [^B]Scan Finished[^B]
if $hget($1,openports) { aline %window [^B]Open Ports:[^B] $v1 | .hfree -sw $1 }
else aline %window [^B]Couldnt find any open ports[^B]
}
pause s 2 | .sockclose $+(PortScan-,$1,:*)
inc %x
}
}
alias -l portscan2 {
if (!$3) halt
.sockopen $+(PortScan-,$2,:,$3) $2 $3
$iif(!$window($1),window -e $1,aline $1 Scanning: $+($2,:,$3))
}
on *:sockopen:PortScan-*:{
if $sock($sockname).status == active {
var %window $+(@PortScan-,$sock($sockname).ip)
if !$istok($hget($sock($sockname).ip,openports),$sock($sockname).port,32) {
if (!$window(%window)) window -e %window
aline %window [^B]Open Port:[^B] $+($sock($sockname).ip,:,$sock($sockname).port)
hadd -m $sock($sockname).ip openports $hget($sock($sockname).ip,openports) $sock($sockname).port
.sockclose $sockname
}
}
}
alias pause {
var %e = !echo $color(info) -a * /pause:
if ($version < 5.91) {
%e this snippet requires atleast mIRC version 5.91
}
elseif (!$regex(pause,$1-,/^m?s \d+$/Si)) {
%e incorrect/insufficient parameters. Syntax: /pause <s|ms> <N>
}
elseif ($1 == ms) && ($istok(95 98 ME,$os,32)) {
%e cannot use milliseconds parameter on OS'es beneath Win2k
}
elseif ($2 !isnum 1-) {
%e must specify a number within range 1-
}
else {
var %wsh = wsh $+ $ticks, %cmd
if ($1 == s) %cmd = ping.exe -n $int($calc($2 + 1)) 127.0.0.1
else %cmd = pathping.exe -n -w 1 -q 1 -h 1 -p $iif($2 > 40,$calc($2 - 40),$2) 127.0.0.1
.comopen %wsh wscript.shell
.comclose %wsh $com(%wsh,run,1,bstr*,% $+ comspec% /c %cmd >nul,uint,0,bool,true)
}
}