chan probe — File Browser
chanprobev0.0 / chanprobev0.0 / chanprobe.mrc
chanprobe.mrc — 3.16 KB — Download this file
;# ..script : chanprobe
;# ..author : ryun
;# ..email : ryun@planetarymotion.net
;# ..coment : the coding aint to great, but it works...
alias chanprobe { if ($1) { dialog -m chan.probe chan.probe | did -a chan.probe 3 $1 } }
alias probe.err { if ($1) { dialog -m port.err port.err | did -a port.err 2 $1- } }
alias probe.tit { if ($1) { dialog -t chan.probe chanprobe - $1- } }
alias probe.nick { return $remove($1,probe.) }
alias probe.close { sockclose probe.* | probe.stat | did -b chan.probe 7 | did -e chan.probe 6 }
alias probe.start { if ((%probe.chan) && (%probe.port)) { if (%probe.chan !ischan) { probe.err %probe.chan is not a valid chan... | return } | if ($nick(%probe.chan,0) == 1) && ($me == $nick(%probe.chan,1)) { probe.err Uhh what you gonna do scan your self? try /run netstat -a | return } | unset %probe.i | set %probe notnull | did -e chan.probe 7 | did -b chan.probe 6 | who %probe.chan } | else { probe.err Fill in the blanks... } }
alias probe.stat { if ($sock(probe.*,0) == 0) { probe.tit Done Scanning.. %probe.chan for %probe.port | return } | probe.tit Scanning.. %probe.chan | .timerprobscan 1 5 probe.close }
dialog chan.probe {
title "chanprobe"
size -1 -1 300 350 option dbu
list 11,145 2 150 200,extsel
list 1,2 2 145 200,extsel
box "",99,2 190 293 150
text "channel:",33,27 205 100 20,none
edit "",3,27 220 150 22,autohs
text "port:",44,200 205 100 20,none
edit "",4,200 220 50 22,autohs
box "",66,10 260 275 60
button "Probe",6,25 280 65 25,default
button "Stop",7,115 280 65 25,default
button "Cancel",2,200 280 65 25,cancel
}
dialog port.err {
title "chanprobe - Error"
size -1 -1 200 100 option dbu
button "OK",1,65 73 65 25,cancel
box "",3,2 1 198 65
text "",2,5 25 190 28,center
}
on 1:dialog:chan.probe:*:*: {
if ($devent == init) { did -f chan.probe 3 | did -b chan.probe 7 | unset %probe.* }
if ($devent == dclick) {
if ($did == 1) { clipboard $did($dname,11,$did($dname,1).sel).text }
if ($did == 11) { clipboard $did($dname,1,$did($dname,11).sel).text }
}
if ($devent == edit) {
if ($did == 3) { set %probe.chan $did(chan.probe,3).text }
if ($did == 4) { set %probe.port $did(chan.probe,4).text }
}
if ($devent == sclick) {
if ($did == 11) { did -c $dname 1 $did($dname,11).sel }
if ($did == 1) { did -c $dname 11 $did($dname,1).sel }
if ($did == 2) { unset %probe.* }
if ($did == 6) { probe.close | did -r $dname 1 | did -r $dname 11 | probe.start }
if ($did == 7) { probe.close }
}
}
on 1:sockopen:probe.*: { if ($sockerr) { goto end } | did -a chan.probe 1 $probe.nick($sockname) | did -a chan.probe 11 $sock($sockname).ip | goto end | :end | sockclose $sockname | probe.stat }
on 1:sockclose:probe.*: { probe.stat }
raw 352:*: { if (%probe) { if (*x iswm $4) { set %probe.xxx damn | halt } | haltdef | if ($6 != $me) { sockopen probe. [ $+ [ $6 ] ] $4 %probe.port | probe.stat $6 } } }
raw 315:*: { if (%probe) { if (%probe.xxx) { unset %probe.xxx | probe.err The ips you probed are masked | probe.close | if ($sock(probe.*,0) == 0) { goto end } } | haltdef | probe.tit got nicks for probe... | :end | unset %probe | halt } }
;# ..eOF