egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

please someone help me

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
tablarock
Voice


Joined: 09 Dec 2010
Posts: 9

PostPosted: Mon Dec 20, 2010 10:52 pm    Post subject: please someone help me Reply with quote

The user wants my channel
to see if the port 2300 and 47624 are open or closed

in this way:
Quote:
<user1> !scan 1.20.3.4
<bot> scanning ip 1.20.3.4 the <user1>
<bot> you port: 2300 is open
<bot> you port: 47624 is closed
<user2> !scan 3.24.64.4
<bot> scanning ip 3.24.64.4 the <user2>
<bot> you port: 2300 is closed
<bot> you port: 47624 is closed


I know of the existence of checkport. tcl
I am desperate to get this tcl, sorry my bad inglish
Back to top
View user's profile Send private message
TCL_no_TK
Owner


Joined: 25 Aug 2006
Posts: 509
Location: England, Yorkshire

PostPosted: Wed Dec 22, 2010 4:13 am    Post subject: Reply with quote

Arrow Firstly, I would strongly recommend against messages people on the forum for a response on posts.

Exclamation Secondly, I find these type of scripts to be easily miss-used and don't know of any of any shell provider yet that allows these things to be run on them.

Idea Lastly, the only help I can offer on this post. Is their is already a Port Scan.tcl script, for eggdrop1.6 You can find it here PortCheck2.2.tar.gz (VIA: eggheads.org FTP) The description file source (VIA: eggheads.org FTP) says:
Quote:
Information:
This script checks the status of a port on a host. Returns either Accepted, Refused, Failed,
or Timeout. It also portscans users on join and can ban the user and/or send an op notice if
a banned port is open.
You can set it to scan the above ports like so
Code:
#########################################################################
# Set the open ports to scan for when a user joins a monitored channel. #
#########################################################################

set portcheck_setting(ports) "1080 21 23"
Read the Script for the full list of settings/options available
_________________
TCL the misunderstood
Back to top
View user's profile Send private message Send e-mail
tablarock
Voice


Joined: 09 Dec 2010
Posts: 9

PostPosted: Wed Dec 22, 2010 2:36 pm    Post subject: Reply with quote

Thank you very much you always so attentive to this forum.
Is that tcl, but the syntax of the tcl is d like this:
!porcheck IP <PORT> | that's the problem
I would be so nice if you modify this tcl for this syntax:
!PortCheck IP | and this will automatically check the ports: 2300 and 47624

This would be fine if not for the onjoin
Quote:
#########################################################################
# Set the open ports to scan for when a user joins a monitored channel. #
#########################################################################

set portcheck_setting(ports) "1080 21 23"



Please. I try to modify the tcl my means but my knowledge and little understanding of English is impossible[/quote]
Back to top
View user's profile Send private message
demetrius_reis
Halfop


Joined: 10 Aug 2010
Posts: 42

PostPosted: Wed Dec 22, 2010 6:48 pm    Post subject: Reply with quote

Code:

####################################################################
## Descrição ## Esta tcl foi retirada do Site egghelp.            ##
############### Assim ela tinha uma variável "Flag +E", então só  ##
############### poderia ser usado publica usuários com a flag +E. ##
############### Removi esta flag, e agora ela funciona Geral.     ##
####################################################################

##########################################################
## DCC ## .portcheck <host/ip> <port> (Can be changed)  ##
## DCC ## !portcheck <host/ip> <port> (Can be changed)  ##
######### Checks weather or not the specified port is     ##
######### open on the specified host or ip.        ##
######### --------------------------------------------- ##
######### .chanset <channel> +portcheck           ##
######### Enables on-join port checking for a channel.  ##
##########################################################
## PUB ## !portcheck <host/ip> <port> (Can be changed)  ##
######### Checks weather or not the specified port is     ##
######### open on the specified host or ip.        ##
##########################################################

set portcheck_setting(flag) "-|-"
set portcheck_setting(cmd_pub) "!portcheck"
set portcheck_setting(cmd_dcc) "portcheck"
set portcheck_setting(read) 1

########################################################################
# Enable on-join scanning? (If you don't wish to enable it, ignore any #
# further settings) Scanning for a channel is enabled via .chanset     #
# <channel> +portcheck.                          #
########################################################################

set portcheck_setting(onjoin) 0

#########################################################################
# Set the open ports to scan for when a user joins a monitored channel. #
#########################################################################

set portcheck_setting(ports) "2300 2400 28800 29000 47624 22 80"

#####################################################################
# Set the flag that makes a user exempt from on-join scanning here. #
#####################################################################
# FLAG +E - REMOVIDA
# set portcheck_setting(exemptflag) "+E"

####################################################################
# Place a server ban when on a user that joins a monitored channel #
# if a banned port is found?                   #
####################################################################

set portcheck_setting(autoban_svr) 0

################################################################
# Place a ban on the bot's banlist when on a user that joins a #
# monitored channel if a banned port is found?             #
################################################################

set portcheck_setting(autoban_list) 0

########################
# Make the ban global? #
########################

set portcheck_setting(global) 0

################################################################
# Set the time to ban users for here. Set to 0 for a perm ban. #
################################################################

set portcheck_setting(bantime) 5

############################################################
# Send an op notice when a banned port is found on a user? #
############################################################

set portcheck_setting(onotice) 1

###################################
# Enable use of bold in DCC chat? #
###################################

set portcheck_setting(bold) 1

#############################################
# Prefix "PORTCHECK:" in DCC chat messages? #
#############################################

set portcheck_setting(PORTCHECK:) 1

####################
# Code begins here #
####################

if {![string match 1.6.* $version]} {
   putlog "\002PORTCHECK:\002 \002ERRO CRÍTICO\002 PortCheck.tcl por REIS__"
   die "\002PORTCHECK:\002 \002ERRO CRÍTICO\002 PortCheck.tcl por REIS__"
}
bind pub $portcheck_setting(flag) $portcheck_setting(cmd_pub) portcheck_scan_pub
bind dcc $portcheck_setting(flag) $portcheck_setting(cmd_dcc) portcheck_scan_dcc
bind join - * portcheck_onjoin_scan
setudef flag portcheck

proc portcheck_dopre {} {
   global portcheck_setting
   if {!$portcheck_setting(PORTCHECK:)} {
      return ""
   } elseif {!$portcheck_setting(bold)} {
      return "PORTCHECK: "
   } else {
      return "\002PORTCHECK:\002 "
   }
}
proc portcheck_onjoin_scan {nick uhost hand chan} {
   global portcheck_setting portcheck_chans
   if {($portcheck_setting(onjoin)) && ($portcheck_setting(ports) != "")} {
      foreach i [channel info $chan] {
         if {([string match "+portcheck" $i]) && ([botisop $chan])} {
            set host [lindex [split $uhost @] 1]
            foreach p $portcheck_setting(ports) {
               if {![catch {set sock [socket -async $host $p]} error]} {
                  set timerid [utimer 15 [list portcheck_timeout_join $sock]]
                  fileevent $sock writable [list portcheck_connected_join $nick $chan $sock $host $p $timerid]
               }
            }
            break
         }
      }
   }
}
proc portcheck_scan_pub {nick uhost hand chan text} {
   global portcheck_setting
   set host [lindex $text 0]
   set port [lindex $text 1]
   if {$port == ""} {
      putquick "PRIVMSG :Usage: $portcheck_setting(cmd_pub) <seu-ip> <porta>"
   } else {
      if {[catch {set sock [socket -async $host $port]} error]} {
         putquick "PRIVMSG $chan :O IP $host está com a porta \($port\) FECHADA! Ou o jogo não está criado"
      } else {
         set timerid [utimer 15 [list portcheck_timeout_pub $chan $sock $host $port]]
         fileevent $sock writable [list portcheck_connected_pub $chan $sock $host $port $timerid]
      }
   }
}
proc portcheck_scan_dcc {hand idx text} {
   global portcheck_setting
   set host [lindex $text 0]
   set port [lindex $text 1]
   if {$port == ""} {
      putdcc $idx "[portcheck_dopre]Usage: .$portcheck_setting(cmd_dcc) <seu-ip> <porta>"
   } else {
      if {[catch {set sock [socket -async $host $port]} error]} {
         putdcc $idx "[portcheck_dopre]O IP $host está com a porta \($port\) FECHADA! Ou o jogo não está criado"
      } else {
         set timerid [utimer 15 [list portcheck_timeout $idx $sock $host $port]]
         fileevent $sock writable [list portcheck_connected $idx $sock $host $port $timerid]
      }
   }
}
proc portcheck_connected {idx sock host port timerid} {
   killutimer $timerid
   if {[set error [fconfigure $sock -error]] != ""} {
      close $sock
      putdcc $idx "[portcheck_dopre]Conexão ao $host \($port\) Falhou. \([string totitle $error]\)"
   } else {
      fileevent $sock writable {}
      fileevent $sock readable [list portcheck_read $idx $sock $host $port]
      putdcc $idx "[portcheck_dopre]O IP $host está com a porta \($port\) ABERTA normalmente. Pronto para jogar!"
   }
}
proc portcheck_timeout {idx sock host port} {
   close $sock
   putdcc $idx "[portcheck_dopre]Conexão ao $host \($port\) Falhou."
}
proc portcheck_read {idx sock host port} {
   global portcheck_setting
   if {$portcheck_setting(read)} {
      if {[gets $sock read] == -1} {
         putdcc $idx "[portcheck_dopre]O IP $host está com a porta \($port\) FECHADA! Ou o jogo não está criado"
         close $sock
      } else {
         putdcc $idx "[portcheck_dopre]$host \($port\) > $read"
      }
   } else {
      close $sock
   }
}
proc portcheck_connected_pub {chan sock host port timerid} {
   killutimer $timerid
   if {[set error [fconfigure $sock -error]] != ""} {
      close $sock
      putquick "PRIVMSG $chan :O IP $host está com a porta \($port\) FECHADA! Ou o jogo não está criado \([string totitle $error]\)"
   } else {
      fileevent $sock writable {}
      fileevent $sock readable [list portcheck_read_pub $chan $sock $host $port]
      putquick "PRIVMSG $chan :O IP $host está com a porta \($port\) ABERTA normalmente. Pronto para jogar!"
   }
}
proc portcheck_timeout_pub {chan sock host port} {
   close $sock
   putquick "PRIVMSG $chan :O IP $host está com a porta \($port\) FECHADA! Ou o jogo não está criado"
}
proc portcheck_connected_join {nick chan sock host port timerid} {
   global portcheck_setting botnick
   killutimer $timerid
   if {[set error [fconfigure $sock -error]] != ""} {
      close $sock
   } else {
      fileevent $sock writable {}
      fileevent $sock readable [list portcheck_read_join $sock]
      if {$portcheck_setting(onotice)} {
         foreach i [chanlist $chan] {
            if {([isop $i $chan]) && ($i != $botnick)} {
               putserv "PRIVMSG $i :A Porta $port foi encontrada aberta $nick's. \($host\)"
            }
         }
      }
      if {$portcheck_setting(autoban_svr)} {
         putserv "MODE $chan +b *!*@$host"
         putserv "KICK $chan $nick :One of the ports open on your host is banned."
         timer $portcheck_setting(bantime) [list portcheck_unsvrban $chan $host]
      } elseif {$portcheck_setting(autoban_list)} {
         if {$portcheck_setting(global)} {
            newban *!*@$host PortCheck "One of the ports open on your machine is banned." $portcheck_setting(bantime)
         } else {
            newchanban $chan *!*@$host PortCheck "One of the ports open on your machine is banned." $portcheck_setting(bantime)
         }
      }
   }
}
proc portcheck_timeout_join {sock} {
   close $sock
}
proc portcheck_read_join {sock} {
   close $sock
}
proc portcheck_read_pub {sock} {
   global portcheck_setting
   if {!$portcheck_setting(read)} {
      close $sock
   } elseif {[gets $sock read] == -1} {
      putquick "PRIVMSG $chan :Conexão ao Falhada ao $host \($port\). Socket Closed."
      close $sock
   }
}
proc portcheck_unsvrban {chan host} {
   putserv "MODE $chan -b *!*@$host"
}
putlog "\002PORTCHECK:\002 PortCheck.tcl Version 2.0 by REIS__ carregada."

Very Happy
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber