This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

please someone help me

Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
Post Reply
t
tablarock
Voice
Posts: 9
Joined: Thu Dec 09, 2010 3:02 pm

please someone help me

Post by tablarock »

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

in this way:
<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
User avatar
TCL_no_TK
Owner
Posts: 509
Joined: Fri Aug 25, 2006 7:05 pm
Location: England, Yorkshire

Post by TCL_no_TK »

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

:!: 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:
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: Select all

#########################################################################
# 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
t
tablarock
Voice
Posts: 9
Joined: Thu Dec 09, 2010 3:02 pm

Post by tablarock »

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
#########################################################################
# 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]
d
demetrius_reis
Halfop
Posts: 42
Joined: Tue Aug 10, 2010 9:54 am

Post by demetrius_reis »

Code: Select all

####################################################################
## 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."
:D
Post Reply