mIRC32 - Ejemplos ya programados: Detector de conexiones TCP y UDP. Fecha creación: 17/12/99 - Última revisión: 19/12/99
 
; ###########################
; 
;     Detector Socks 1.0
;      By [SaRRiO] 1999
;     sarrio@univers.org
;  http://sarrio.univers.org
;
; ###########################


; si cargas este documento como un addon, añadira un menu donde podras configurar las 
; opciones del detector de puertos abiertos.
; RECOMIENDO USAR EL COMANDO: /detectadef udp ; para que las variables se configuren correctamente.

; el script añadira un menu en el menubar de tu mIRC

menu menubar { 
  conexiones
  .tcp
  ..ver estado:detectaestado tcp
  ..-
  ..%detector.1 ( %detector.1.stat )
  ...$iif(%detector.1.stat == on , des) $+ activar:{
    if (%detector.1.stat == on) set %detector.1.stat off
    else set %detector.1.stat on
    detectaoks 
  }
  ...configurar: set %detector.1 $$?="puerto tcp?" | detectaoks
  ..%detector.2 ( %detector.2.stat )
  ...$iif(%detector.2.stat == on , des) $+ activar:{
    if (%detector.2.stat == on) set %detector.2.stat off
    else set %detector.2.stat on
    detectaoks 
  }
  ...configurar: set %detector.2 $$?="puerto tcp?" | detectaoks
  ..%detector.3 ( %detector.3.stat )
  ...$iif(%detector.3.stat == on , des) $+ activar:{
    if (%detector.3.stat == on) set %detector.3.stat off
    else set %detector.3.stat on
    detectaoks 
  }
  ...configurar: set %detector.3 $$?="puerto tcp?" | detectaoks
  ..%detector.4 ( %detector.4.stat )
  ...$iif(%detector.4.stat == on , des) $+ activar:{
    if (%detector.4.stat == on) set %detector.4.stat off
    else set %detector.4.stat on
    detectaoks 
  }
  ...configurar: set %detector.4 $$?="puerto tcp?" | detectaoks
  ..%detector.5 ( %detector.5.stat ) 
  ...$iif(%detector.5.stat == on , des) $+ activar:{
    if (%detector.5.stat == on) set %detector.5.stat off
    else set %detector.5.stat on
    detectaoks 
  }
  ...configurar: set %detector.5 $$?="puerto tcp?" | detectaoks
  ..-
  ..borrar conf:detectadef
  .udp
  ..ver estado:detectaestado udp
  ..-
  ..%detector.udp1 ( %detector.udp1.stat )
  ...$iif(%detector.udp1.stat == on , des) $+ activar:{
    if (%detector.udp1.stat == on) set %detector.udp1.stat off
    else set %detector.udp1.stat on
    detectaoks 
  }
  ...configurar: set %detector.udp1 $$?="puerto udp?" | detectaoks

}

; configuracion por defecto del script

alias detectadef {
  set %detector.1 1080
  set %detector.2 139
  set %detector.3 12345
  set %detector.4 20034
  set %detector.5 ???

  set %detector.1.stat on
  set %detector.2.stat on
  set %detector.3.stat off
  set %detector.4.stat off
  set %detector.5.stat off

  if ($1 == udp) { set %detector.udp1 31337 | set %detector.udp1.stat off }

  detectaoks
}

; comprueba que puertos tcp o udp estan abiertos/cerrados

alias detectaestado {
  if (? !isin %detector.1) {
    if ($portfree(%detector.1) == $true) set %temp.1 cerrado
    else set %temp.1 abierto
  }
  else set %temp.1 no configurado
  if (? !isin %detector.2) {
    if ($portfree(%detector.2) == $true) set %temp.2 cerrado
    else set %temp.2 abierto
  }
  else set %temp.2 no configurado
  if (? !isin %detector.3) {
    if ($portfree(%detector.3) == $true) set %temp.3 cerrado
    else set %temp.3 abierto
  }
  else set %temp.3 no configurado
  if (? !isin %detector.4) {
    if ($portfree(%detector.4) == $true) set %temp.4 cerrado
    else set %temp.4 abierto
  }
  else set %temp.4 no configurado
  if (? !isin %detector.5) {
    if ($portfree(%detector.5) == $true) set %temp.5 cerrado
    else set %temp.5 abierto
  }
  else set %temp.5 no configurado
  if (? !isin %detector.udp1) {
    if ($portfree(%detector.udp1) == $true) set %temp.udp cerrado
    else set %temp.udp abierto
  }
  else set %temp.udp no configurado
  if ($1 == tcp) { 
    echo -s 10Estado de las conexiones TCP
    echo -s 1 - %detector.1 $+ :12 %temp.1
    echo -s 1 - %detector.2 $+ :12 %temp.2
    echo -s 1 - %detector.3 $+ :12 %temp.3
    echo -s 1 - %detector.4 $+ :12 %temp.4
    echo -s 1 - %detector.5 $+ :12 %temp.5
  }  
  if ($1 == udp) {
    echo -s 10Estado de las conexiones UDP
    echo -s 1 - %detector.udp1 $+ :12 %temp.udp
  }
  unset %temp.*
}

; abre los puertos tcp/udp que quieras activar

alias detectaoks {
  sockclose DETECTATCP*
  sockclose DETECTAUDP
  if (%detector.1.stat == on) socklisten DETECTATCP1 %detector.1
  if (%detector.2.stat == on) socklisten DETECTATCP2 %detector.2
  if (%detector.3.stat == on) socklisten DETECTATCP3 %detector.3
  if (%detector.4.stat == on) socklisten DETECTATCP4 %detector.4
  if (%detector.5.stat == on) socklisten DETECTATCP5 %detector.5
  if (%detector.udp1.stat == on) sockudp -k DETECTAUDP1 %detector.udp1
}

; cuando inicie mIRC, abrira los puertos que quieras...

on 1:START: detectaoks

; al detectar una conexion TCP...

on 1:SOCKLISTEN:DETECTATCP*:{
  sockaccept TCPconection
  set %tcp.tmp.ip $sock($sockname,1).ip
  set %tcp.tmp.port $sock($sockname,1).port
  echo -s 12[2TCP12]1 Detectada conexión de la IP12 %tcp.tmp.ip 1por el puerto %tcp.tmp.port
  sockclose TCPconection
  sockclose $sockname
  unset %tcp.tmp*
}

; al detectar una conexion UDP...

on 1:UDPREAD:DETECTAUDP*:{
  set %udp.tmp.ip $sock($sockname,1).saddr
  set %udp.tmp.port $sock($sockname,1).port
  echo -s 12[2UDP12]1 Detectada conexión de la IP12 %udp.tmp.ip 1por el puerto %udp.tmp.port udp
  unset %udp.tmp*
  sockclose $sockname
}

; este detector de conexiones TCP/UDP podria mejorarse mucho más...
; si quereis copiar este script, por favor mandame un mail comunicandomelo,
; no pondre ninguna pega si me mencionas en los créditos y me avisas.
 Volver a la página principal