[Netcat 0.5.2 - Socat 1.4.0.3 - HASERL 0.9.26] WebAdas.TGZ [INACTIVE]

Foro destinado a temas no relacionados con BrazilFW.

[Netcat 0.5.2 - Socat 1.4.0.3 - HASERL 0.9.26] WebAdas.TGZ

Mensagempor pablino76 » Seg Mar 22, 2010 7:46 pm

Estos link a continuación los llevara directo a los distintos post de webadas.tgz denominadas aplicaciones X-less o aplicaciones sin X o mas compresiblemente estas webadas son concretamente aplicaciones para consola Linux del BFW 2.31.10.
INDICE

2º TETRIS: Juego clasico
3º ELINKS: Navegador web consola
4º PORK: Cliente IRC-ICQ-AIM
4º BNC: Proxy server anonimo
6º TOOLKIT-1: forensisc ambiente digital
7º AJEDREZ: Juego clasico solo para entendidos
8º SNIFFER: Programar con LIBPCAP
9º TINC: VPN
10º Micro-proxy + Xinetd: SERVICIOS ADMINISTRADOS
11º Hamster y Ferret: sniffer proxy SSLImagem
12º PPTPD server : proyecto clientes autenticados
13º PCI utiles : lspci & setpci
14º Tips : Recomendaciones.04/octubre/10
15º Tip : export only the contents of an HTML table to a text file.
16º Mii-tool : Configurando manualmente la velocidad del ethernet
17º pablino76 : espacial!
18º Netcat - Socat : 2 comandos para consola (developers & users)
19º HASERL : interprete HTML - BASH SCRIPT




Twin y Lynx

Hola! acá como dice el titulo voy a ir dejando mis add-on estos serán las webadas.tgz que me salen ya que no consigo que me salgan otras, no las entiendo.

En esta primera webada, voy a dejar a twin
twin es una aplicación Linux para consola que da la posibilidad de multiventana dentro de una única, justo para los fan's de todo en consola así que mucho no puedo mas decir ya que lo estuve usando y en primer momento pensé que era cualquiera pero luego después de un rato le comencé a dar utilidad y bueno pensé, que buena esta webada a alguien quizás le sirva y se le ocurre hacer otra cosa entonces acá esta. Y si ya esta en el foro no lo pude encontrar. jajajaja

DESCARGA twin.tgz version 0.6.2

Imagem



tambien agrego ya lo conocen y esta pero de mala suerte me compile la webada de lynx la version 2.8.5

DESCARGA lynx.tgz version 2.8.5

Imagem

S2.
Editado pela última vez por pablino76 em Dom Out 17, 2010 10:46 pm, em um total de 59 vezes.
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Seg Mar 22, 2010 7:46 pm

·TETRIS·


Привет добрый день hoy en el webro’s esta Alexey Leonidovich Pazhitnov (Moscú, 1956) con el clásico de clásicos TETRIS.
El juego tuvo muchísimo éxito y cruzó el telón de acero vía Hungría para ir a parar a las manos de Nintendo, ahora cruza la pared de fuego para venir a parar a los addon de BrazilFW.

Imagem

DESCARGA vtetris.tgz
Editado pela última vez por pablino76 em Ter Out 12, 2010 11:05 am, em um total de 1 vez.
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Seg Mar 22, 2010 7:47 pm

elinks

Estaba reviendo algunas compilaciones de nachazo cabe remarcar que elinks supero a lynx así que también hay que dejarlo dentro de los webro’s-on compile la versión 0.11 lo probé y anda súper.

Imagem
Imagem

DESCARGA elinks version 0.11...
Editado pela última vez por pablino76 em Ter Out 12, 2010 11:07 am, em um total de 2 vezes.
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor macbab » Seg Mar 22, 2010 9:59 pm

Buen trabajo Pablino, me gustan tus webadas. :o!
Que le das de comer a tu bocho ? Vas muuuuy rapido amigo.
Abrazo
macbab
 

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Seg Mar 22, 2010 10:18 pm

Te gustan!? jajaja gracias están muy buenos cierto jaja creo que es fundamental jugar un poco con brazilfw.

Saludos macbab.
Vamos a ver estoy buscando hacer otros.
:o!
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor gamba47 » Seg Mar 22, 2010 10:37 pm

El tetris para cuando estas sin nada para hacer!! fantastico!!!


gamba47
Avatar do usuário
gamba47
BFW Beneméritos
 
Mensagens: 7243
Registrado em: Ter Dez 27, 2005 1:51 pm
Localização: Buenos Aires, Argentina
BrazilFW Box: Pentium4 1256mb RAM HD 200gb
BrazilFW 3.0.237 without Squid
3 ADSLs & 1 Cablemodem
50 Users & more!

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Seg Mar 22, 2010 11:12 pm

Si, total de los totales ese TETRIS viene arrasando el TOP de la webadas.
Que cabeza los rusos :aplause:
Otra que el lápiz en el espacio.
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor El guapo Dan » Ter Mar 23, 2010 2:42 am

El publico pide un juego rol de texto, no se, tal vez sean muy jovenes para haberlos conocido pero eran buenísimos....
!+
El guapo Dan
 

Re: Las webadas.tgz de pablino

Mensagempor jhonfw » Ter Mar 23, 2010 11:18 am

con una captura
del elinks, lynx y el tetris dentro de twin
hubiera sido mas espectacular


saludos
Avatar do usuário
jhonfw
BFW Advanced
 
Mensagens: 1076
Registrado em: Seg Fev 02, 2009 9:35 pm
BrazilFW Box:

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Ter Mar 23, 2010 2:03 pm

Guten Morgen!
El guapo Dan escreveu:El publico pide un juego rol de texto, no se, tal vez sean muy jovenes para haberlos conocido pero eran buenísimos....

Estoy en eso, vamos a ver tengo tres compilaciones en la jaula no queriendo salir me piden constantemente la maldita ley de dependencia.



jhonfw escreveu:con una captura
del elinks, lynx y el tetris dentro de twin
hubiera sido mas espectacular

Fueron concebidos por el mismo padre pero en distintos tiempos era inimaginable sacarles la foto a los 3 juntos. :)


PD:Estoy atrapado en otro proyecto también que me parece una locura ya estar imaginando eso sobre brazilfw, a nivel arqueológico.
s2.
pablino76
 

Re: Las webadas.tgz de pablino

Mensagempor pablino76 » Ter Mar 23, 2010 10:38 pm

·PORK·


Hoy traigo el juego de rol del momento en modo texto al mejor estilo linux, se llama pork tampoco mucho puedo decir ya que solo lo probé y funciona creo que después voy a remarcar algunas opciones luego, y por el momento acá tienen a pork para entrar al inframundo cyberspace llevando el traje que mas les gaste.

Imagem
pork (AIM, ICQ, IRC) - console client, resembling ircII. GNU GPL.
DESCARGA pork.tgz version 0.99.8.1


Imagem

Good Luck!!!


-----
INICIO:
brazilfw# pork
pork>/connect -irc nick irc.freenode.net 6667
pork>/join #buenosaireslibre
pork>/nick nuevo_nick
pork>/who
Otros canales:
Código: Selecionar todos
    * #linux-ar: Linux Argentina
    * #linux-es: Linux en español
    * #linux-malaga: Linux Malaga
    * #linux.mx: Linux Mexico
    * #linuxperu: Linux Peru
    * #euskal_linux: Linux Euskadi

    * #debian-ar: Distribucion debian Argentina
    * #debian-es: Distribucion debian en español
    * #debianitas: Distribucion debian en castellano
    * #debianmexico: Distribucion debian Mexico
    * #debian-peru: Distribucion debian Peru
    * #debian-uy: Distribucion debian Uruguay
    * #debian-ve: Distribucion debian Venezuela

    * #fedora-es: Distribucion fedora en español

    * #gentoo-ar: Distribucion gentoo Argentina
    * #gentoo-es: Distribucion gentoo en español
    * #gentoo-mexico: Distribucion gentoo Mexico

    * #kubuntu-es: Distribucion kubuntu en español

    * #slackware-es: Distribucion slackware en español

    * #ubuntu-es: Distribucion ubuntu en español
    * #ubuntu-mx: Distribucion ubuntu mexico

    * #unixmexico: Unix en Mexico


-----
IRC ESPAÑA
pork>/connect -irc nick irc-hispano.es 6667
CANALES:
pork>/join #redes

----
Para crear canales en irc conectas
pork>/connect -irc nick irc.freenode.net 6667
pork>/join #tu_canal
' y listo tienes un canal en irc.
-----

Algunos comandos útiles pueden ser:

Lo que usted escribe.............................. Lo que pasa

/join #paracitario .............................. Entra en el canal #paracitario

/who #paracitario ..............................Da informaci—n acerca de los usuarios en #paracitario

/ping #paracitario .............................. Da informaci0n acerca del retraso (ida y vuelta) entre usted y los otros usuarios en el canal #paracitario

/me esta feliz .............................. Todos los usuarios ven *sunik esta feliz

/leave #paracitario..............................Usted se retira del canal

/whois Tito o /whois nena_15 .............................. Da informaci0n acerca de ellos

/whois sunick.............................. Da la informaci0n que otros ven de usted

/nick nuevonick..............................Cambia su nick a "nuevonick"

/nick sunick ..............................Cambia de nuevo su nick a "sunick"

/msg Tito Que tal?..............................Solo Tito ve su mensaje

/ping Tito..............................Le da informaci—n del retraso (ida y vuelta) entre usted y Tito

/help..............................Este comando funciona en algunos sistemas. ¡Pruébelo!

/quit comentario ..............................Usted se desconecta totalmente del IRC, dejando un comentario
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:17 am, em um total de 3 vezes.
pablino76
 

En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Mar 25, 2010 5:00 pm

BNC


Una vuelta un amigo me pregunto que es un Proxy yo le respondí un Proxy es el próxima salida en la red que te saca a Internet de otra forma; al otro día apareció y me comenta que no era así etc.. y si le digo -viste lo bueno es no quedarse en bolas porque si te decía que no sabia era quedarnos en bolas los dos y no es bueno andar en bolas a veces así que hoy exactamente en teoría nose que es un Proxy pero acá estoy en bolas porque no me funca bien este proxy.

Compile bnc version 2.8.4. funciona hay que tener en cuenta que una ves instalado hay que crear el archivo bnc.conf en /usr/local/bin con la siguiente información

bnc.conf
Código: Selecionar todos
#!/home/myhome/bnc
# BNCSetup 0.3 for BNC2.6.4 by IceWizard and pharos
# automaticly generated configuration file.
# edit the first line and chmod +x this file if you like to load bnc
# by running its .conf file
#               Here are additional options you may add:
# C:6667                        Default Irc Server Port to Connect to
# X:default.vhost.com           Default Virtual Host to Use
# V:another.vhost.com           Other Vhosts That Can Be Used
# V:different.vhost.com          As Many Vhosts as You Want
# P:pid.bnc                     Name of PID File
#                                *NOTE PID file is required if bnc is to be
#                                *used with crontab
# L:bnc.log                     Name of Log File
# W:1                           enable dynamic idents on servers with
#                                identwd installed
# A:1:*.addy.net                Allow list of ip addresses that can use BNC
S:1234
D:9595:2:1234


DESCARGA:
bnc.tgz proxy

Luego de hacer eso lo arranco

brazilfw# bnc
Irc Proxy v2.8.2 GNU project (C) 1998-99
Coded by James Seter :bugs-> (Pharos@refract.com) or IRC pharos on efnet
--Using conf file bnc.conf
--Configuration:
Daemon port......:9595
Maxusers.........:2
Default conn port:6667
Pid File.........:./pid.bnc
Vhost Default....:-SYSTEM DEFAULT-
Process Id.......:22302
Exit bnc{7} :Successfully went into the background.




La información esta acá sobre las cualidades de bnc proxy.
http://www.unixmexico.org/modules.php?name=Sections&op=printpage&artid=22
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:18 am, em um total de 2 vezes.
pablino76
 

Re: (BNC proxy Anónimo) En las webadas.tgz de pablino

Mensagempor jhonfw » Qui Mar 25, 2010 10:10 pm

pablino76 escreveu:Quien me puede dar una ayuda de como usarlo?

pero si aqui dice
pablino76 escreveu:http://www.unixmexico.org/modules.php?name=Sections&op=printpage&artid=22

sirve para "engañar" a server irc ocultando la ip real del cliente irc

saludos
Avatar do usuário
jhonfw
BFW Advanced
 
Mensagens: 1076
Registrado em: Seg Fev 02, 2009 9:35 pm
BrazilFW Box:

Re: (BNC proxy Anónimo) En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Mar 25, 2010 10:13 pm

EL INSPECTOR


Esto es para nosotros los principiantes que bajamos un addon y queremos saber que tipo de dependencias (lib’s ) tiene o queremos hacer algún tipo Forensics Lab como se dice en la jerga de los arqueólogos investigadores de información digital, entonces pasa que están en BrazilFW y no es común tener herramientas que permitan hacer este tipo de consulta a los binarios compilados ya que tengamos en cuenta que cuando no se controlo acá pasaron cosas jejeje ¿nunca pensaron que el bufón pueda quizás estar riendose del Rey…?(?)
Creo que es fundamental controlar entonces no digo... execibamente
pero CONTROLEMOS luego hablamos aca los addon es información que muchas veces se entrega compilada y no se explica mucho el source en cuestión como se lo maleo para dicha compilación entonces les paso estos dos comandos por hoy en el paquete llamado tools-1.tgz son solo transplantes de fedora con buildtree a brazilfw.

DESCARGA tools-1.tgz
Contiene
Ldd: comando para visualizar las dependencias de un binario
Ej ldd archivo_binario

Source: busca cadena de caracteres imprimibles dentro de un archivo binario
Ej:soruce –a archivo_binario



Es un juego de lógica y pistas
Se dice que quien busca... encuentra. :lol:


bajar instalar reinciar es re-aburrido se entiende que se puede hacer en la raiz de brazifw un:
Ejemplo:
Código: Selecionar todos
brazilfw#wget http://rayo969.sslpowered.com/tools-1.tgz
brazilfw# tar xvzf tools-1.tgz
usr
usr/bin
usr/bin/ldd
usr/bin/strings
brazilfw# ldd
ldd: missing file arguments
Try `ldd --help' for more information.

brazilfw# ldd ldd
        libc.so.0 => /lib/libc.so.0 (0x40007000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)
brazilfw# ldd wget
        libcrypt.so.0 => /lib/libcrypt.so.0 (0x40007000)
        libm.so.0 => /lib/libm.so.0 (0x4001b000)
        libc.so.0 => /lib/libc.so.0 (0x40029000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x40000000)


brazilfw# strings ldd
/lib/ld-uClibc.so.0
libc.so.0
strcpy
waitpid
memmove
_DYNAMIC
getenv
perror
execle
malloc
mmap
strrchr
fstat
fprintf
strcat
strstr
strncmp
fork
strdup
fopen
fclose
strcmp
stderr
_GLOBAL_OFFSET_TABLE_
fileno
_exit
strlen
__uClibc_start_main
free
_edata
__bss_start
_end
byteswap
lib_list
interp_dir
interp
not_found
[^_]
[^_]
[^_]
[^_]
[^_]
[^_]
t?j/
_Zt*
Hu;j
[^_]
0j/V
YZu+
Xt<W
Y^uc
t8Wj
^Zt(
WVSQQ
[^_1
Out of memory!
LD_LIBRARY_PATH
SHELL=/bin/sh
LD_TRACE_LOADED_OBJECTS=1
No filename specified.
%s: not an ELF file.
%s: not a dynamic executable
%s: is setuid
ldd: missing file arguments
--help
        %s => %s (0x00000000)
        not a dynamic executable
usr/X11R6/lib:usr/lib:lib:/usr/lib:/lib
PATH=/usr/bin:/bin:/usr/sbin:/sbin
Try `ldd --help' for more information.
Usage: ldd [OPTION]... FILE...
        --help          print this help and exit
not found



Voy a ver si luego voy haciendo un tool.tgz mas completo estoy investigando por ahora.
tengo en vista meter whereis* y updatedb* vamos a ver.
Imagem


ImagemBueno whereis es un comando de Linux del paquete findutils.tar.gz cuestión error inspector porque este findutils contiene whereis y updatedb mas otros que en brazilfw pueden ser casi igualados al hacer

brazilfw# find |grep "arping"
./usr/bin/arping
brazilfw#


lo que logra esta sintaxis con el comando grep es poder revelar donde se encuentra un determinado archivo instalado en brazilfw.
Arree caballo!


viernes 26/03/10 15:30
herramienta incluida dentro de la categoria Forensic Lab
Herramienta con pinta de estar interesante, ftimes. Trata de hacer
snapshots de un sistema para poder sacar evidencias de intrusiones, etc.


Nota: la vi, todavía no la entiendo el que sepa algo haga un post con algunos ejemplos. ;-)

DESCARGA ftimes.tgz
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:20 am, em um total de 13 vezes.
pablino76
 

Re: (BNC proxy Anónimo) En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Mar 25, 2010 10:34 pm

.
Editado pela última vez por pablino76 em Sáb Mai 29, 2010 11:09 am, em um total de 1 vez.
pablino76
 

Re: (BNC proxy Anónimo) En las webadas.tgz de pablino

Mensagempor jhonfw » Qui Mar 25, 2010 10:57 pm

pablino76 escreveu:introduzco como lo configure en bnc.conf


según lo que dice hay el bnc.conf se crea con el BNCSetup

puede que el bnc.conf manual tenga un error


pablino76 escreveu:#!/home/myhome/bnc
# BNCSetup 0.3 for BNC2.6.4 by IceWizard and pharos
# automaticly generated configuration file.
# edit the first line and chmod +x this file if you like to load bnc
# by running its .conf file
Avatar do usuário
jhonfw
BFW Advanced
 
Mensagens: 1076
Registrado em: Seg Fev 02, 2009 9:35 pm
BrazilFW Box:

Re: (BNC proxy Anónimo) En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Mar 25, 2010 11:12 pm

.
Editado pela última vez por pablino76 em Sáb Mai 29, 2010 11:10 am, em um total de 1 vez.
pablino76
 

Re: (Forensic Lab 6º ftimes) En las webadas.tgz de pablino

Mensagempor pablino76 » Sex Mar 26, 2010 8:57 pm

CHESS


Hola de nuevo hoy en honor al Gran Visir Sissa Ben Dari traigo otro webro's histórico
Tan histórico que su historia en su creación tiene una anécdota que muestra unas de las magnitudes de su intelecto este llamado chess mas conocido por los hispanos como el clásico juego de ajedrez.

Cuenta la historia de cuando Sissa vendió el ajedrez a un soberano muy rico quizás el más rico adinerado en aquellos tiempos
este el rey Shirham, fue su orgullo y Tanto se aburría que mandó llamar a su siervo mas fiel, Tarhem, y le expreso su deseo de recompensar a aquel de sus súbditos que fuese capaz de inventar algo nuevo que lo sorprendiera.
Sissa era el creador de aquel mítico juego extraño llamado ajedrez, el rey admirado por la rareza que mostraba ese tablero y sus piezas le dijo a al gran Sissa
-quiero comprarte tu juego véndemelo soy el rey mas poderoso del mundo pide lo que quieras y te lo pagare
el gran Sissa le propuso un precio
Soberano - dijo Sissa - mandad, si es vuestro deseo, que me entreguen un grano de trigo por la primera casilla del tablero del ajedrez.

- ¿Un simple grano de trigo?- contestó admirado el rey.

- Sí soberano..., un solo grano por la primera casilla. Por la segunda casilla, ordenad que me entreguen dos granos de trigo; por la tercera 4; por la cuarta 8; por la quinta 16; por la sexta 32 granos...

¡Basta!, - le interrumpió irritado el rey – ¡ya te entendí!, ...recibirás el trigo correspondiente a las 64 casillas del tablero de acuerdo con tu deseo: por cada casilla doble cantidad que por la precedente.

Listo dijo Sissa entonces mucho gusto señor rey y desapareció dejándole esa lección :lol: que supongo ya habrán deducido.


Bueno creo entonces esta listo todo y espero disfruten una partida contra su propio Router BrazilFW y se sorprendan con la calidad con la cual este los va atender en esta ocasión.


Imagem

INICIO
brazilfw# gnuchess
ejemplo primera jugada:
White (1) : d4
1. d4

DESCARGA chess.tgz GNUchess

God Save the Queen.

Aquellos que sean fieles a sus convicciones, no morirán, jamás!
:)
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:22 am, em um total de 1 vez.
pablino76
 

Re: (S N I F F E R S) En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Mai 20, 2010 1:51 am

PROGRAMACION DE SNIFFERS

Hi!
[+][-------------S N I F F E R  W I T H   P C A P   E S T U D I O   1 -------------]
                                      A U D I T O R I A

Source: Jose Andres Morales.
file: capturador.c
little-modific: by changer
Dependencia: libpcap-0.9.8

compilacion-bfw: [+]
gcc -c capturador.c
gcc -o capturador capturador.o -lpcap

compilacion-mips: [+] MIPS libpcap-0.8.1
mipsel-uclibc-gcc -c capturador.c
mipsel-uclibc-gcc -o capturador capturador.o -lpcap
mipsel-uclibc-strip capturador

Modo ejecucion posibles:
[ + ] e x a m p l e s:
./capturador
./capturador |grep IP
./capturador |grep IP |awk '{print $2, $3, $1}'

etc...
capturador.c
Código: Selecionar todos
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pcap.h>
#include <netinet/if_ether.h>
#include <netinet/ether.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <netinet/ip_icmp.h>
#include <net/if_arp.h>
#include <string.h>

//#include

#define PACKETSIZE 64

void dump(void* b, int len);
void llegada(u_char *useless,const struct pcap_pkthdr* pkthdr,const u_char* packet);
void uso();

struct packet_icmp
{
struct icmphdr hdr;
char msg[PACKETSIZE-sizeof(struct icmphdr)];
};



int main(int nump, char* param[]){


char *net; // direccion de red
char *mask; // mascara de subred
char *dev; // nombre del dispositivo de red
int ret; // codigo de retorno
char errbuf[PCAP_ERRBUF_SIZE]; // buffer para mensajes de error
bpf_u_int32 netp; // direcion de red en modo raw
bpf_u_int32 maskp; // mascara de red en modo raw
struct bpf_program fp; // contenedor con el programa compilado
struct in_addr addr;
pcap_t* descr;
const u_char *packet;
struct pcap_pkthdr hdr;
struct ether_header *eptr; // Ethernet

uso();

printf("Obteniendo Tarjeta de red [");

if ((dev = pcap_lookupdev(errbuf))==NULL){ //obtener la tarjeta de red
printf("Fallo]-> %s\n", errbuf);
exit(-1);
}

printf("OK] \n-> %s\n",dev);

printf("Obtener red y mascara [");

if ((ret = pcap_lookupnet(dev, &netp, &maskp, errbuf))==-1){
printf("Fallo]-> %s\n", errbuf);
exit(-1);
}

addr.s_addr = netp;
if ((net = inet_ntoa(addr))==NULL){
printf("Fallo]-> Red -> inet_ntoa\n");
exit(-1);
}

printf("OK] \n-> Red: %s\n",net);

addr.s_addr = maskp;
if ((mask = inet_ntoa(addr))==NULL){
printf("[Fallo]-> Mascara de Red -> inet_ntoa\n");
exit(-1);
}

printf("-> Mascara de Red: %s\n", mask);

if ((descr=pcap_open_live(dev,BUFSIZ,1,20,errbuf))==NULL){
printf("Fallo en open live: %s\n",errbuf);
exit(-1);
}

if (nump>1 ){
printf("*** Opcion de Filtrado Activa ***\n Compilar Filtro [");

if ((pcap_compile(descr, &fp, param[1], 0, netp)) == -1){
printf("Fallo] compilando %s\n",param[1]);
exit(-1);
}
printf("OK] %s\n",param[1]);

printf("Estableciendo Filtro [");

if ((pcap_setfilter(descr,&fp))==-1){
printf("Fallo] estableciendo filtro \n");
exit(-1);
}

printf("OK]\n");
pcap_loop(descr,(nump==3 ? atoi(param[2]):1),llegada,NULL);

} else {
pcap_loop(descr,-1,llegada,NULL);

}

printf("\n..\n");

exit(0);

}


void dump(void* b, int len)
{ unsigned char *buf = b;
int i, cnt=0;
char str[17];
memset(str, 0, 17);


for ( i = 0; i < len; i++ )
{
if ( cnt % 16 == 0 )
{
printf(" %s\n%04X: ", str, cnt);
memset(str, 0, 17);
}
if ( buf[cnt] < ' ' || buf[cnt] >= 127 )
str[cnt%16] = '.';
else
str[cnt%16] = buf[cnt];
printf("%02X ", buf[cnt++]);
}

printf(" %*s\n\n", 16+(16-len%16)*2, str);
}


void llegada(u_char *useless,const struct pcap_pkthdr* pkthdr,const u_char* packet){
static int count;
int largoCabeceras;
struct ether_header *eptr;
struct ip *ipc;
struct ether_arp *arpc;
int largoTrama;

count++;
printf("TN %d\n",count); //Trama numero
eptr = (struct ether_header *) packet;

printf("%s->", ether_ntoa((struct ether_addr*)eptr->ether_shost)); //MAC origen:
printf("%s ", ether_ntoa((struct ether_addr*)eptr->ether_dhost));//MAC destino

if (ntohs(eptr->ether_type)==ETHERTYPE_IP){
printf("IP ");
ipc = packet+sizeof(struct ether_header);
largoTrama = ntohs(ipc->ip_len)+sizeof(struct ether_header);
printf("%s->",inet_ntoa(ipc->ip_src)); //ip origen
printf("%s ",inet_ntoa(ipc->ip_dst));
printf("ttl:%d ",ipc->ip_ttl);
printf("TS:%d ",ntohs(ipc->ip_tos)); //Tipo de Servicio
printf("ID:%d ",ntohs(ipc->ip_id));
printf("OFF:%d ",ntohs(ipc->ip_off));
printf("CS:%d ",ntohs(ipc->ip_sum));//Check Suma
printf("LT:%d\n",largoTrama); //len trama

} else if (ntohs(eptr->ether_type)==ETHERTYPE_ARP){
printf(" ARP ");
arpc = packet+sizeof(struct ether_header);
printf("%d.%d.%d.%d->",arpc->arp_spa[0],arpc->arp_spa[1],arpc->arp_spa[2],arpc->arp_spa[3] );//ip origen
printf("%d.%d.%d.%d\n",arpc->arp_tpa[0],arpc->arp_tpa[1],arpc->arp_tpa[2],arpc->arp_tpa[3] );//ip destino
printf("TH:%d",ntohs(arpc->ea_hdr.ar_hrd)); //Tipo de Hardware
printf("TP:%d ",ntohs(arpc->ea_hdr.ar_pro)); //Tipo Protocolo
printf("LDH:%d ",arpc->ea_hdr.ar_hln); //Len Direccion Hardware
printf("LDR:%d ",arpc->ea_hdr.ar_pln);//Len Direccion Red
printf("CO:%d ",ntohs(arpc->ea_hdr.ar_op)); //Codigo Operacion
printf("HO:%s ", ether_ntoa((struct ether_addr*)arpc->arp_sha));//Hardware origen
printf("HD:%s\n", ether_ntoa((struct ether_addr*)arpc->arp_tha)); //Hardware Destino
dump(packet+sizeof(struct ether_header),sizeof(struct ether_arp));
return;
} else if (ntohs(eptr->ether_type)==ETHERTYPE_REVARP){
printf(" RARP\n");
return;
} else {
printf("Es de Tipo Desconocido\n");
return;
}


switch(ipc->ip_p) {

case 1: {
printf(" ICMP ");
struct packet_icmp *cicmp = packet+sizeof(struct ether_header) + (ipc->ip_hl*4);
printf("TP:%d ", ntohs(cicmp->hdr.type));
printf("CO:%d ", ntohs(cicmp->hdr.code));
printf("CS:%d ", ntohs(cicmp->hdr.checksum));
printf("ID:%d ", ntohs(cicmp->hdr.un.echo.id));
printf("SQ:%d ", ntohs(cicmp->hdr.un.echo.sequence));
printf("GW:%d\n", ntohs(cicmp->hdr.un.gateway));
largoCabeceras = (sizeof(struct ether_header) + (ipc->ip_hl*4) + sizeof(struct icmphdr));
dump((packet+largoCabeceras),(largoTrama-largoCabeceras));
break;
} case 6: {
printf(" TCP ");
struct tcphdr *tcpc = packet+sizeof(struct ether_header) + (ipc->ip_hl*4);
printf("PO:%d ", ntohs(tcpc->source));//Puerto de Origen:
printf("PD:%d ", ntohs(tcpc->dest));////Puerto de Destino:
int tmp_len_tcphdr = tcpc->doff*4;
printf("LC:%d ", tmp_len_tcphdr);
printf("NS:%d ", ntohs(tcpc->seq));////Numero de Secuencia:
printf("NA:%d ", ntohs(tcpc->ack_seq));////Numero de acuse de recibo:
printf("cwr:%d ", tcpc->res2&0x01);
printf("ece:%d ", tcpc->res2&0x02);
printf("urg:%d ", tcpc->urg);
printf("ack:%d ", tcpc->ack);
printf("psh:%d ", tcpc->psh);
printf("rst:%d ", tcpc->rst);
printf("syn:%d ", tcpc->syn);
printf("fin:%d ", tcpc->fin);
printf("WI:%d ", tcpc->window);
printf("CS:%d ", tcpc->check);
printf("UR:%d\n", tcpc->urg_ptr);

if (tmp_len_tcphdr>20){
largoCabeceras = (sizeof(struct ether_header) + (ipc->ip_hl*4) + 20);
printf("Opciones len %d\n",tmp_len_tcphdr-20);
} else {
largoCabeceras = (sizeof(struct ether_header) + (ipc->ip_hl*4) + tmp_len_tcphdr);
}
dump((packet+largoCabeceras),(largoTrama-largoCabeceras));
break;
} case 17: {
printf(" UDP ");
struct udphdr *udpc= packet+sizeof(struct ether_header) + (ipc->ip_hl*4);
largoCabeceras = (sizeof(struct ether_header) + (ipc->ip_hl*4) + sizeof(struct udphdr));
printf("PO:%d ", ntohs(udpc->source)); //Puerto de Origen:
printf("PD:%d ", ntohs(udpc->dest)); //Puerto de Destino
printf("CS:%d\n", ntohs(udpc->check));//check suma
dump((packet+largoCabeceras),(largoTrama-largoCabeceras));
break;
} default: {

printf("Otro Paquete #%d \n",ipc->ip_p);
dump(packet,largoTrama);
}
}//end switch
printf("\n");

}

void uso(){

printf("Mango Computer c.a \nProgramado por Jose Andres Morales email:comprasmangocomputer@gmail.com\nMango Visible Red V1.0\nEste programa es sofware libre\n\n? sudo <\'>> NOMBRE_ARCHIVO\'> ./mangovisiblenet \nNomenglatura:\nTN: Numero de Trama\n\nCabedera IP\nttl: Tiempo de Vida\nTS: Tipo se Servicio\nID:ID del programa\nOFF: Offset\nCS: CheckSum\nLT:Largo de Toda la Trama\n\nCabecera ARP\nTH:Tipo de Hardware\nTP:Tipo de Protocolo\nLDH:Largo Direccion de Hardware\nLDR:Largo Direccion de Red\nCO:Codigo Operacion\nHO:MAC del Hardware de Origen\nHD:MAC del Hardware Destino\n\nPaquete ICMP\nTP:Tipo\nCO:Codigo\nCS:CheckSum\nID:ID del Programa\nSQ: Secuencia\nGW:Gateway\nPaquete TCP\nPO:Puerto Origen\nPD:Puerto Destino\nLC:Largo Cabecera TCP\nNS:Numero de Secuencia\nNA:Numero de Acuse de Recibo NACK\nWI: Window Tamaño de la ventana del buffer\nCS:CheckSum\nUR:Puntero Urgente\n\nPaquete UDP\nPO:Puerto Origen\nPD:Puerto Destino\nCS:CheckSum\n\nIniciando...\n\n");
}



README
Código: Selecionar todos
Nomenglatura:
TN: Numero de Trama

Cabedera IP
ttl: Tiempo de Vida
TS: Tipo se Servicio
ID:ID del programa
OFF: Offset
CS: CheckSum
LT:Largo de Toda la Trama

Cabecera ARP
TH:Tipo de Hardware
TP:Tipo de Protocolo
LDH:Largo Direccion de Hardware
LDR:Largo Direccion de Red
CO:Codigo Operacion
HO:MAC del Hardware de Origen
HD:MAC del Hardware Destino

Paquete ICMP
TP:Tipo
CO:Codigo
CS:CheckSum
ID:ID del Programa
SQ: Secuencia
GW:Gateway
Paquete TCP
PO:Puerto Origen
PD:Puerto Destino
LC:Largo Cabecera TCP
NS:Numero de Secuencia
NA:Numero de Acuse de Recibo NACK
WI: Window Tama±o de la ventana del buffer
CS:CheckSum
UR:Puntero Urgente

Paquete UDP
PO:Puerto Origen
PD:Puerto Destino
CS:CheckSum





PCAP.pdf
xD

---EOF

[+][---L I T T L E   S N I F F ---]

categoria:sniffer
tamaño:16 kb
particularidad:no usa pcap

snf.c
Código: Selecionar todos
#include <sys/time.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <net/if.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>

struct paquete {
  struct ethhdr eth;
  struct iphdr ip;
  struct tcphdr tcp;
  unsigned char datos[8192];
};

int main(int argc, char *argv[]) {
  int ifd, offset, tam, lineas, resto, i, j, sigue, bloque;
  struct ifreq ifr;
  struct paquete pqt;
  struct iphdr *ip;
  struct tcphdr *tcp;
  fd_set rfd;
  unsigned char *p;
  char buffer[17];
 
  if ((ifd = socket(AF_INET, SOCK_PACKET, htons(ETH_P_IP))) < 0) {
    perror("No se ha podido obtener un socket");
    return -1;
  }

  strcpy(ifr.ifr_name, argv[1]);

  if (ioctl(ifd, SIOCGIFFLAGS, &ifr) < 0) {
    close(ifd);
    perror("No se han podido obtener los flags del interface de red");
    return -1;
  }

  ifr.ifr_flags |= IFF_PROMISC;
 
  if (ioctl(ifd, SIOCSIFFLAGS, &ifr) < 0) {
    close(ifd);
    perror("No se han podido establecer los flags del interface de red");
    return -1;
  }

  while (1) {
    FD_ZERO(&rfd);
    FD_SET(ifd, &rfd);
    select(20, &rfd, NULL, NULL, NULL);
    recvfrom(ifd, &pqt, sizeof(pqt), 0, NULL, NULL);
    ip = (struct iphdr *)(((unsigned long)&pqt.ip) - 2);
    tcp = (struct tcphdr *)(((unsigned long)&pqt.tcp) - 2);
    fprintf(stdout, "Origen  : [%02X:%02X:%02X:%02X:%02X:%02X] %s:%i\n", 
    pqt.eth.h_source[0], pqt.eth.h_source[1], pqt.eth.h_source[2], 
    pqt.eth.h_source[3], pqt.eth.h_source[4], pqt.eth.h_source[5],
    inet_ntoa(ip->saddr), ntohs(tcp->source));
    fprintf(stdout, "Destino : [%02X:%02X:%02X:%02X:%02X:%02X] %s:%i\n",
            pqt.eth.h_dest[0], pqt.eth.h_dest[1], pqt.eth.h_dest[2],
            pqt.eth.h_dest[3], pqt.eth.h_dest[4], pqt.eth.h_dest[5],
            inet_ntoa(ip->daddr), ntohs(tcp->dest));   
    offset = 0;
    if (tam = htons(ip->tot_len) - sizeof(pqt.ip) - sizeof(pqt.tcp)) {
      p = (unsigned char *)(((unsigned long)&pqt.datos) - 2);
      lineas = tam / 16;
      resto = tam % 16;
      buffer[16] = 0;
      for (i = 0; i < lineas; i++) {
        fprintf(stdout, "%04X  ", offset);
        for (j = 0; j < 16; j++) {       
          fprintf(stdout, "%02X ", *(p+j) & 0xff);
          if ((*(p+j) > 31) && (*(p+j) < 127)) {
            buffer[j] = *(p+j);
          } else {
            buffer[j] = '.';
          }
        }
        fprintf(stdout, "  %s\n", buffer);
        offset += 16;
        p += 16;
      }
      fprintf(stdout, "%04X  ", offset); 
      for (i = 0; i < resto; i++) {
        fprintf(stdout, "%02X ", *(p+i) & 0xff);
        if ((*(p+i) > 31) && (*(p+i) < 127)) {
          buffer[i] = *(p+i);
        } else {
          buffer[i] = '.';
        }
      }
      for (i = 0; i < (16 - resto); i++) {
        fprintf(stdout, "   ");
      }
      buffer[resto] = 0;
      fprintf(stdout, "  %s\n", buffer);
    }
    fprintf(stdout, "\n");

    p = pqt.datos - 2;
   
    fprintf(stdout, "Opciones de negociacion del telnet en este paquete:\n");
       
    sigue = 1;
    bloque = 0;

    for (i = 0; i < tam; i++) {
      if (bloque) {
        if (*(p+i) == 0xff) {
          if (*(p+i+1) == 0xff) {
            fprintf(stdout, "%02X ", *(p+i));
            i++;
            continue;
          }
        } else {
          fprintf(stdout, "%02X ", *(p+i));
          continue;
        }
      }
      if (*(p+i) == 0xff) {
        i++;
        switch (*(p+i)) {
        case 240:
          fprintf(stdout, "] SE ");
          bloque = 0;
          sigue = 0;
          break;
        case 241:
          fprintf(stdout, "NOP ");
          break;
        case 242:
          fprintf(stdout, "DATA MARK ");
          break;
        case 243:
            fprintf(stdout, "BREAK ");
            break;
        case 244:
          fprintf(stdout, "INTERRUPT PROCESS ");
          break;
        case 245:
          fprintf(stdout, "ABORT OUTPUT ");
          break;
        case 246:
          fprintf(stdout, "ARE YOU THERE ");
          break;
        case 247:
          fprintf(stdout, "ERASE CHARACTER ");
          break;
        case 248:
          fprintf(stdout, "ERASE LINE ");
          break;
        case 249:
          fprintf(stdout, "GO AHEAD ");
          break;
        case 250:
          fprintf(stdout, "SB ");
          bloque = 1;
          break;
        case 251:
          fprintf(stdout, "WILL ");
          break;
        case 252:
          fprintf(stdout, "WON'T ");
          break;
        case 253:
          fprintf(stdout, "DO ");
          break;
        case 254:
          fprintf(stdout, "DON'T ");
          break;
        case 255:
          break;
          sigue = 0;
        default:
          fprintf(stdout, "Codigo %02X desconocido ", *(p+i));
        }
        if (sigue) {
          i++;
          switch (*(p+i)) {
          case 0:
            fprintf(stdout, "BINARY TRANSMISSION ");
            break;
          case 1:
            fprintf(stdout, "ECHO ");
            break;
          case 2:
            fprintf(stdout, "RECONNECTION ");
            break;
          case 3:
            fprintf(stdout, "SUPPRESS GO AHEAD ");
            break;
          case 4:
            fprintf(stdout, "APPROX MESSAGE SIZE NEGOTIATION ");
            break;
          case 5:
            fprintf(stdout, "STATUS ");
            break;
          case 6:
            fprintf(stdout, "TIMING MARK ");
            break;
          case 7:
            fprintf(stdout, "REMOTE CONTROLLED TRANS AND ECHO ");
            break;
          case 8:
            fprintf(stdout, "OUTPUT LINE WIDTH ");
            break;
          case 9:
            fprintf(stdout, "OUTPUT PAGE SIZE ");
            break;
          case 10:
            fprintf(stdout, "OUTPUT CARRIAGE-RETURN DISPOSITION ");
            break;
          case 11:
            fprintf(stdout, "OUTPUT HORIZONTAL TAB STOPS ");
            break;
          case 12:
            fprintf(stdout, "OUTPUT HORIZONTAL TAB DISPOSITION ");
            break;
          case 13:
            fprintf(stdout, "OUTPUT FORMFEED DISPOSITION ");
            break;
          case 14:
            fprintf(stdout, "OUTPUT VERTICAL TAB STOPS ");
            break;
          case 15:
            fprintf(stdout, "OUTPUT VERTICAL TAB DISPOSITION ");
            break;
          case 16:
            fprintf(stdout, "OUTPUT LINEFEED DISPOSITION ");
            break;
          case 17:
            fprintf(stdout, "EXTENDED ASCII ");
            break;
          case 18:
            fprintf(stdout, "LOGOUT ");
            break;
          case 19:
            fprintf(stdout, "BYTE MACRO ");
            break;
          case 20:
            fprintf(stdout, "DATA ENTRY TERMINAL ");
            break;
          case 22:
            fprintf(stdout, "SUPDUP ");
            break;
          case 23:
            fprintf(stdout, "SEND LOCATION ");
            break;
          case 24:
            fprintf(stdout, "TERMINAL TYPE ");
            break;
          case 25:
            fprintf(stdout, "END OF RECORD ");
            break;
          case 26:
            fprintf(stdout, "TATACS USER IDENTIFICATION ");
            break;
          case 27:
            fprintf(stdout, "OUTPUT MARKING ");
            break;
          case 28:
            fprintf(stdout, "TERMINAL LOCATION NUMBER ");
            break;
          case 29:
            fprintf(stdout, "TELNET 3270 REGIME ");
            break;
          case 30:
            fprintf(stdout, "X.3 PAD ");
            break;       
          case 31:
            fprintf(stdout, "WINDOW SIZE ");
            break;
          case 32:
            fprintf(stdout, "TERMINAL SPEED ");
            break;
          case 33:
            fprintf(stdout, "REMOTE FLOW CONTROL ");
            break;
          case 34:
            fprintf(stdout, "LINE MODE ");
            break;
          case 35:
            fprintf(stdout, "X DISPLAY LOCATION ");
            break;
          case 36:
            fprintf(stdout, "ENVIRONMENT OPTION ");
            break;
          case 37:
            fprintf(stdout, "AUTHENTICATION OPTION ");
            break;
          case 38:
            fprintf(stdout, "ENCRYPTION OPTION ");
            break;
          case 39:
            fprintf(stdout, "NEW ENVIRONMENT OPTION ");
            break;
          case 40:
            fprintf(stdout, "TN3270E ");
            break;
          case 255:
            fprintf(stdout, "EXTENDED OPTIONS LIST ");
            break;
          default:
            fprintf(stdout, "Opcion %02X desconocida\n", *(p+i));
          }
        }
        sigue = 1;
        if (bloque) {
          fprintf(stdout, "[ ");
        } else {
          fprintf(stdout, "\n");
        }
      }
    }
    fprintf(stdout, "\n\n\n");
  } 
}


compile:
gcc -c snf.c
gcc -o snf snf.o

---EOF
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:30 am, em um total de 1 vez.
pablino76
 

Re: (TINC VPN v1.0.13) En las webadas.tgz de pablino

Mensagempor pablino76 » Sex Mai 28, 2010 11:39 am

VPN · TINC



INSTALAR antes el tun.tgz de juanillo usa TUN/TAP
iniciándo TUN : /etc/rc.d/pkgs/mod.tun y /etc/rc.d/pkgs/rc.tun y luego instalar tinc.tgz.

http://rayo969.sslpowered.com/tinc/v1.0.13/tinc.tgz

Example: tinc from behind a firewall

web oficial
http://www.tinc-vpn.org/

seria bueno al que le sea útil estas webadas valla bajando y guardando porque me están borrando todo de los servers por no poder pagar jajajaja :lol: no entienden el arte estos, les gusta la plata.



[ S E R V E R ]
Código: Selecionar todos
[ S E R V E R VPN B R A Z I L F W ]

mkdir -p /etc/tinc/vpn/hosts


cat >/etc/tinc/vpn/tinc.conf
Device = /dev/net/tun
Mode = switch
Name = stargate
PrivateKeyFile = /etc/tinc/vpn/rsa_key.priv

chmod +x /etc/tinc/vpn/tinc.conf


cat >/etc/tinc/vpn/hosts/stargate
Compression = 9
Address = 192.168.0.1
Subnet = 192.0.2.0/24

[+]Ahora creamos las claves privada y pública:

# tincd -n vpn -K

Please enter a file to save private RSA key to: tendremos que responder:

/etc/tinc/vpn/rsa_key.priv
Please enter a file to save public RSA key to: tendremos que responder:

/etc/tinc/vpn/hosts/stargate (o en vez de stargate el nombre que hayáis elegido)



cat >/etc/tinc/vpn/tinc-up
#!/bin/sh
ifconfig $INTERFACE 172.16.0.1 netmask 255.255.0.0




[ H O S T C L I E N T E ]
Código: Selecionar todos


[ H O S T   C L I E N T E ]

mkdir -p /etc/tinc/vpn/hosts


cat >/etc/tinc/vpn/tinc.conf

ConnectTo = stargate
Device = /dev/net/tun
Name = nodo1
Mode = switch
PrivateKeyFile = /etc/tinc/vpn/rsa_key.priv

chmod +x /etc/tinc/vpn/tinc.conf


cat >/etc/tinc/vpn/hosts/nodo1

Compression = 9
Address = 192.168.0.1
Subnet = 172.26.0.0/24


[+]Ahora creamos las claves privada y pública:

# tincd -n vpn -K

Please enter a file to save private RSA key to: tendremos que responder:

/etc/tinc/vpn/rsa_key.priv
Please enter a file to save public RSA key to: tendremos que responder:

/etc/tinc/vpn/hosts/nodo1 (o en vez de nodo1 el nombre que hayáis elegido)


cat >/etc/tinc/vpn/tinc-up
#!/bin/sh
ifconfig $INTERFACE 172.16.0.2 netmask 255.255.0.0





[C O P I A D E L L A V E S ]
Código: Selecionar todos
--------------
[ H O S T   C L I E N T E S ]

copiar

cat /etc/tinc/vpn/hosts/nodo1

Compression = 9
Address = 192.168.0.1
Subnet = 172.26.0.0/24
-----BEGIN RSA PUBLIC KEY-----

..........


-----END RSA PUBLIC KEY-----


---copiar esto llevarlo al server---


en el server-stargate

cat >/etc/tinc/vpn/hosts/nodo1

----pegar la llave sacada del host-cliente----


[E N   E L   S E R V E R ]

cat /etc/tinc/vpn/hosts/stargate
Compression = 9
Address = 192.168.0.1
Subnet = 192.0.2.0/24
-----BEGIN RSA PUBLIC KEY-----

...........


-----END RSA PUBLIC KEY-----


------copiar la llave


pegarlo en todos los host que van a ser clientes

EXAMPLE:
host-cliente

cat >/etc/tinc/vpn/hosts/stargate
Compression = 9
Address = 192.168.0.1
Subnet = 192.0.2.0/24
-----BEGIN RSA PUBLIC KEY-----

...........

-----END RSA PUBLIC KEY-----






MODO DE EJECUCION TANTO PARA EL SEVER COMO EN EL CLIENTE

tincd -D -d -n vpn -c /etc/tinc/vpn &

[ SI TODO OKEY VAN A VER ALGO ASI ]
Código: Selecionar todos
#ifconfig
vpn       Link encap:Ethernet  HWaddr 6A:55:38:ED:63:D3
          inet addr:172.16.0.2  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::68de:38ff:fed1:2c26/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:249 (249.0 b)  TX bytes:468 (468.0 b)


Si no hay errores puede ejecutarse.

tincd -n vpn -c /etc/tinc/vpn


NOTA: durante el configure antes de compilarlo tuve un faltante de librería que era esta
http://www.oberhumer.com/opensource/lzo/download/LZO-v1/lzo-1.08.tar.gz
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:29 am, em um total de 1 vez.
pablino76
 

Re: (micro_proxy + xinetd) En las webadas.tgz de pablino

Mensagempor pablino76 » Dom Mai 30, 2010 1:23 pm

[ D E M O N I O S   A D M I N I S T R A D O S ]

micro_proxy :basic proxy en solo 260 lineas (ACME)
micro_proxy.tgz 8kb


Xinetd*
Xinetd: administrador de servicios
Xinetd.tgz v2.3.14 88kb

[+]Crear file
cat >/etc/xinetd.conf

#EJEMPLO
Código: Selecionar todos
service microproxy
{
disable = no
bind = 192.168.0.1     #IP de la subred interna de su brazilfw
socket_type = stream
protocol = tcp
user = root
wait = no
only_from    = 0.0.0.0/0            #autoriza a todos los clientes
server = /usr/local/sbin/micro_proxy
}

service microproxyssl
{
disable = no
bind = 192.168.0.1          #IP de la subred interna de su brazilfw
socket_type = stream
protocol = tcp
user = root
wait = no
only_from    = 0.0.0.0/0        #autoriza a todos los clientes
server = /usr/local/sbin/micro_proxy
}

access_times = 7:00-12:30 13:30-21:00
only_from = 192.168.0.2/32 192.168.0.4/32       etc ..........
redirect = IP.IP.IP.IP 80


agregar a /etc/services

Código: Selecionar todos
microproxy 2280/tcp
microproxyssl 2243/tcp


Iniciarlo en modo depuración
xinetd -d

Inicio normal
xinetd


Con esto debería quedar un proxy básico en brazilfw http en el port 2280 y el mismo para https en port 2243
Con sus respectivas discriminaciones según xinetd.conf.

[Manual inicio estudio configuraciones xinetd]
http://www.linuxfocus.org/Castellano/November2000/article175.shtml/

Cada uno es lo que hace con lo que hicieron de él.( Sart3n )
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:33 am, em um total de 3 vezes.
pablino76
 

Re: (micro_proxy + xinetd) En las webadas.tgz de pablino

Mensagempor nachazo » Ter Jun 01, 2010 11:59 am

groso el xinetd y groso Sartre!
nachazo
 

Re: (micro_proxy + xinetd) En las webadas.tgz de pablino

Mensagempor pablino76 » Ter Jun 01, 2010 1:21 pm

cierto xinetd estaría complementarlo a cgi de webadmin también
Sartre... estoy estudiando filosofía con feinmann en el lacrario de youtube es muy bueno feinmann
si me lo cruzara feinmann le diría…
me tenes PODRIDO feinmann... :aplause:
pablino76
 

Re: (caroziño y narizotiña XD) En las webadas.tgz de pablino

Mensagempor pablino76 » Ter Jun 01, 2010 6:10 pm

[HAMSTER Y FERRET]

Imagem

Uno de los sniffer con proxy presentados en alguno de los eventos pasados de La Cosa nostra.

http://rayo969.sslpowered.com/hamster-ferret/hamster-ferret.tgz

en teoría esnifa todo :lol: , pero puntualmente sesiones SSL
crea dos archivos
uno que es sniff-....etc.pcap y el otro generado por hamster que es hamster.txt
este txt.
ejecucion basica:

ferret -i eth0 sniffer.mode=most sniffer.directory=/partition/pcaps
hamster

Imagemsocat TCP-LISTEN:3333,fork TCP:127.0.0.1:1234
Editado pela última vez por pablino76 em Dom Out 17, 2010 10:48 pm, em um total de 2 vezes.
pablino76
 

Re: (PPTPD SERVER) En las webadas.tgz de pablino

Mensagempor pablino76 » Qui Jun 03, 2010 12:43 pm

PPTPD


hola, estoy atrás de proyectar este addon para los que por ahí no estén familiarizados con que es PPTPD es un server pptp para crear una conexión entre brazil y los clientes mediante un tunel.



pptpd server version 1.3.0
http://rayo969.sslpowered.com/pptp-server/pptpd.tgz

web official del proyecto: http://poptop.sourceforge.net/



un tutorial basico
Código: Selecionar todos
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de

Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior publicada por la Free Software

Foundation, sin Secciones Invariantes ni con portadas o contraportadas. Una copia de la licencia está en:

http://www.gnu.org/licenses/fdl.txt

Primero que nada instalamos el paquete “pptpd”, en este caso usaremos Debian Testing, por lo cual

realizaremos la instalacion usando apt-get.

bebop:~# apt-get install pptpd

Finalizada la instalacion deberiamos tener lo necesario para comenzar a configurar nuestro servidor pptpd o

vpn.
Entonces comenzamos la configuracion, lo primero es abrir el archivo pptpd.conf ubicado en /etc

bebop:~# nano /etc/pptpd.conf

Una vez abierto editamos el archivo de tal modo que quede de la siguiente forma:

ppp /usr/sbin/pppd
option /etc/ppp/pptpd-options       #brazilfw /etc/options.pptpd
localip 10.0.0.1
remoteip 10.0.0.2-100

Donde “localip” sera la ip del servidor vpn y “remoteip” el rango de ips que se le asignaran a los clientes

al momento de la coneccion (ustedes pueden elejir la ip y rango que deseen, no tiene porque ser la misma)
Guardamos cambios y cerramos.

Ahora editamos el archivo pptpd-options, señalado en nuestro pptpd.conf, el cual esta ubicado en /etc/ppp

bebop:~# nano /etc/ppp/pptpd-options

Lo dejamos de tal modo que quede algo asi:

name HOMELINUX-VPN
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-dns 216.241.0.133
ms-dns 216.241.0.151
proxyarp
nodefaultroute
lock

La linea “name” sera el nombre de nuestra vpn, “ms-dns” son los servidores dns que seran asignados a

nuestros clientes windows. (cualquier otra linea que no aparesca aqui, debe ser comentada, para un correcto

funcionamiento).
Guardamos y cerramos.

Ahora solo nos queda configurar las cuentas de los clientes, para esto editamos el archivo “chap-secrets”

que se encuentra en /etc/ppp

bebop:~# nano /etc/ppp/chap-secrets

Este archivo se compone de 4 campos: Usuario, servidor, password y direccion ip. Entonces agregamos un

usuario:

ReaL HOMELINUX-VPN test01 *

En este caso “ReaL” sera nuestro usuario, “HOMELINUX-VPN” nuestro servidor vpn, “test01″ nuestro password y

el “*” sera la direccion ip, ponemos un * para que el servidor asigne una ip automaticamente.

Guardamos los cambios y reiniciamos el pptpd.

bebop:~# /etc/init.d/pptpd restart

Con esto tenemos listo nuestro servidor pptpd (VPN)
Ahora probaremos el funcionamiento, creando una nueva coneccion vpn en windows.

- Vamos a inicio
- Panel de control
- Conexiones de red
- Crear nueva conexion
- Siguiente
- Conectarse a la red de mi lugar de trabajo
- Siguiente
- Conexion de red privada virtual
- Siguiente
- En el cuadro de texto colocamos un nombre a la coneccion, por ejemplo “VPN”
- Siguiente
- No usar la conexion inicial
- Siguiente
- En el cuadro de texto colocamos la ip del servidor, si estamos en una red local colocamos la ip local,

por ejemplo 192.168.1.1 o si es un equipo remoto, colocamos la ip de internet valida del equipo, por

ejemplo 200.28.5.1
- Siguiente
- Finalizar

Ahora ingresamos nuestro nombre de usuario “ReaL” y nuestro password “test01″, precionamos conectar, si

todo resulta bien tendremos una conexion satisfactoria a nuestroservidor vpn.


[OPCION 1 basica ]

cat >/etc/pptpd.conf
Código: Selecionar todos
ppp /usr/sbin/pppd
option /etc/options.pptpd
localip 192.168.3.1
remoteip 192.168.3.23-100



cat >/etc/options.pptpd
Código: Selecionar todos
require-mschap
ms-dns 4.2.2.2
ms-dns 8.8.8.8


el archivo de password sera el que esta en /etc/ppp/chap-secrets entonces
edit /etc/ppp/chap-secrets
Código: Selecionar todos
josh * 1234 *

josh es user
* nombre de red asterisco significa algo asi como el que sea
1234 password
* numero de ip el asterisco hace que le asigne una ip dentro del rango sengun el archivo pptpd.conf

en windows
Código: Selecionar todos
- Vamos a inicio
- Panel de control
- Conexiones de red
- Crear nueva conexion
- Siguiente
- Conectarse a la red de mi lugar de trabajo
- Siguiente
- Conexion de red privada virtual
- Siguiente
- En el cuadro de texto colocamos un nombre a la coneccion, por ejemplo “VPN”
- Siguiente
- No usar la conexion inicial
- Siguiente
- En el cuadro de texto colocamos la ip del servidor, si estamos en una red local colocamos la ip local,

NOTA:en la solapa seguridad de las propiedades de icono de conexion vpn DESACTIVAR (Requerir cifrado de datos (desconectar si no hay))
esto es algo que no logro entender bien pero se que se basa en.

Código: Selecionar todos
require-mschap               +chapms
require-mschap-v2      +chapms-v2
require-mppe               mppe-40
require-mppe-128       mppe-128
nomppe-stateful       mppe-stateless

fuente:http://staff.washington.edu/corey/fw/vpn.html

si todo quedo bien
al conectar en brazilfw veran

brazilfw ifconfig
Código: Selecionar todos
ppp0      Link encap:Point-to-Point Protocol
          inet addr:192.168.3.1  P-t-P:192.168.3.23  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:11677 (11.4 KiB)  TX bytes:27328 (26.6 KiB)



windows XP
Código: Selecionar todos
Adaptador PPP vpn-bfw               :

        Sufijo de conexión específica DNS :
        Descripción. . . . . . . . . . .  : WAN (PPP/SLIP) Interface
        Dirección física. . . . . . . . . : 00-53-45-00-00-00
        DHCP habilitado. . . . . . . . .  : No
        Dirección IP. . . . . . . . . . . : 192.168.3.23
        Máscara de subred . . . . . . . . : 255.255.255.255
        Puerta de enlace predeterminada   : 192.168.3.23
        Servidores DNS . . . . . . . . . .: 4.2.2.2
                                         8.8.8.8


la interface de area local network de windows deberá tener alguna IP del rango de brazilfw ejemplo 192.168.0.2 para poder alcanzarlo y autentificarse en el pptpd.si es que brazilfw esta configurado su subred en 192.168.0.1 este tendra el port 1723/tcp open pptp a la espera.
este detalle de dependencia es el que no quisiera que tenga
se que para evitar eso el negociado entre el xp y brazilfw debería basarse en la capa 2 pero eso justamente es lo que no se
ya que creo que eso ya seria pppoe y no se pero creo que brazilfw ya tiene nativo la posibilidad de convertirlo en dos patadas en un server pppoe como corno no lo se pero ahí vi archivos que dan la posibilidad.

final
para darle salida a la WAN a esta vpn en mi caso tuve que agregar en brazilfw al iptables la siguiente regla.

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j MASQUERADE





-------------------------------------------------------
ppp (Este no sé si sería tan esencial instalarlo en brazilfw pero bueno siguiendo otro tutorial di que era una dependencia)
version ppp_2.4.2+20040202.orig
http://rayo969.sslpowered.com/pptp-server/ppp.tgz
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:43 am, em um total de 2 vezes.
pablino76
 

Re: (PPTPD SERVER) En las webadas.tgz de pablino

Mensagempor Lord » Dom Jun 06, 2010 10:30 am

pablino76 escreveu:hola, estoy atrás de proyectar este addon para los que por ahí no estén familiarizados con que es PPTPD es un server pptp para crear una conexión entre brazil y los clientes estos clientes
pienso hacer un instalador para XP y sus otras version que puedan instalar el icono de acceso directo para conectar a la vpn de brazilfw usando usuario y contraseña.
El tema es que acá estoy con todo pero no doy con poder hacerlo que arranque en brazilfw a pesar que configuro los archivos
Dejo los TGZ compilados para que alguien más si puede lo arranque y poder dar un encaminamiento a esto para una nueva versión quizás de easycaptive (eso no lo se como todavía pero a eso es lo que apunto).


pptpd server version 1.3.0
http://rayo969.sslpowered.com/pptp-server/pptpd.tgz

web official del proyecto: http://poptop.sourceforge.net/



un tutorial basico
Código: Selecionar todos
Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de

Documentación Libre de GNU, Versión 1.2 o cualquier otra versión posterior publicada por la Free Software

Foundation, sin Secciones Invariantes ni con portadas o contraportadas. Una copia de la licencia está en:

http://www.gnu.org/licenses/fdl.txt

Primero que nada instalamos el paquete “pptpd”, en este caso usaremos Debian Testing, por lo cual

realizaremos la instalacion usando apt-get.

bebop:~# apt-get install pptpd

Finalizada la instalacion deberiamos tener lo necesario para comenzar a configurar nuestro servidor pptpd o

vpn.
Entonces comenzamos la configuracion, lo primero es abrir el archivo pptpd.conf ubicado en /etc

bebop:~# nano /etc/pptpd.conf

Una vez abierto editamos el archivo de tal modo que quede de la siguiente forma:

ppp /usr/sbin/pppd
option /etc/ppp/pptpd-options       #brazilfw /etc/options.pptpd
localip 10.0.0.1
remoteip 10.0.0.2-100

Donde “localip” sera la ip del servidor vpn y “remoteip” el rango de ips que se le asignaran a los clientes

al momento de la coneccion (ustedes pueden elejir la ip y rango que deseen, no tiene porque ser la misma)
Guardamos cambios y cerramos.

Ahora editamos el archivo pptpd-options, señalado en nuestro pptpd.conf, el cual esta ubicado en /etc/ppp

bebop:~# nano /etc/ppp/pptpd-options

Lo dejamos de tal modo que quede algo asi:

name HOMELINUX-VPN
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-dns 216.241.0.133
ms-dns 216.241.0.151
proxyarp
nodefaultroute
lock

La linea “name” sera el nombre de nuestra vpn, “ms-dns” son los servidores dns que seran asignados a

nuestros clientes windows. (cualquier otra linea que no aparesca aqui, debe ser comentada, para un correcto

funcionamiento).
Guardamos y cerramos.

Ahora solo nos queda configurar las cuentas de los clientes, para esto editamos el archivo “chap-secrets”

que se encuentra en /etc/ppp

bebop:~# nano /etc/ppp/chap-secrets

Este archivo se compone de 4 campos: Usuario, servidor, password y direccion ip. Entonces agregamos un

usuario:

ReaL HOMELINUX-VPN test01 *

En este caso “ReaL” sera nuestro usuario, “HOMELINUX-VPN” nuestro servidor vpn, “test01″ nuestro password y

el “*” sera la direccion ip, ponemos un * para que el servidor asigne una ip automaticamente.

Guardamos los cambios y reiniciamos el pptpd.

bebop:~# /etc/init.d/pptpd restart

Con esto tenemos listo nuestro servidor pptpd (VPN)
Ahora probaremos el funcionamiento, creando una nueva coneccion vpn en windows.

- Vamos a inicio
- Panel de control
- Conexiones de red
- Crear nueva conexion
- Siguiente
- Conectarse a la red de mi lugar de trabajo
- Siguiente
- Conexion de red privada virtual
- Siguiente
- En el cuadro de texto colocamos un nombre a la coneccion, por ejemplo “VPN”
- Siguiente
- No usar la conexion inicial
- Siguiente
- En el cuadro de texto colocamos la ip del servidor, si estamos en una red local colocamos la ip local,

por ejemplo 192.168.1.1 o si es un equipo remoto, colocamos la ip de internet valida del equipo, por

ejemplo 200.28.5.1
- Siguiente
- Finalizar

Ahora ingresamos nuestro nombre de usuario “ReaL” y nuestro password “test01″, precionamos conectar, si

todo resulta bien tendremos una conexion satisfactoria a nuestroservidor vpn.


[OPCION 1 basica ]

cat >/etc/pptpd.conf
Código: Selecionar todos
ppp /usr/sbin/pppd
option /etc/options.pptpd
localip 192.168.3.1
remoteip 192.168.3.23-100



cat >/etc/options.pptpd
Código: Selecionar todos
require-mschap
ms-dns 4.2.2.2
ms-dns 8.8.8.8


el archivo de password sera el que esta en /etc/ppp/chap-secrets entonces
edit /etc/ppp/chap-secrets
Código: Selecionar todos
josh * 1234 *

josh es user
* nombre de red asterisco significa algo asi como el que sea
1234 password
* numero de ip el asterisco hace que le asigne una ip dentro del rango sengun el archivo pptpd.conf

en windows
Código: Selecionar todos
- Vamos a inicio
- Panel de control
- Conexiones de red
- Crear nueva conexion
- Siguiente
- Conectarse a la red de mi lugar de trabajo
- Siguiente
- Conexion de red privada virtual
- Siguiente
- En el cuadro de texto colocamos un nombre a la coneccion, por ejemplo “VPN”
- Siguiente
- No usar la conexion inicial
- Siguiente
- En el cuadro de texto colocamos la ip del servidor, si estamos en una red local colocamos la ip local,

NOTA:en la solapa seguridad de las propiedades de icono de conexion vpn DESACTIVAR (Requerir cifrado de datos (desconectar si no hay))
esto es algo que no logro entender bien pero se que se basa en.

Código: Selecionar todos
require-mschap               +chapms
require-mschap-v2      +chapms-v2
require-mppe               mppe-40
require-mppe-128       mppe-128
nomppe-stateful       mppe-stateless

fuente:http://staff.washington.edu/corey/fw/vpn.html

si todo quedo bien
al conectar en brazilfw veran

brazilfw ifconfig
Código: Selecionar todos
ppp0      Link encap:Point-to-Point Protocol
          inet addr:192.168.3.1  P-t-P:192.168.3.23  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:11677 (11.4 KiB)  TX bytes:27328 (26.6 KiB)



windows XP
Código: Selecionar todos
Adaptador PPP vpn-bfw               :

        Sufijo de conexión específica DNS :
        Descripción. . . . . . . . . . .  : WAN (PPP/SLIP) Interface
        Dirección física. . . . . . . . . : 00-53-45-00-00-00
        DHCP habilitado. . . . . . . . .  : No
        Dirección IP. . . . . . . . . . . : 192.168.3.23
        Máscara de subred . . . . . . . . : 255.255.255.255
        Puerta de enlace predeterminada   : 192.168.3.23
        Servidores DNS . . . . . . . . . .: 4.2.2.2
                                         8.8.8.8


la interface de area local network de windows deberá tener alguna IP del rango de brazilfw ejemplo 192.168.0.2 para poder alcanzarlo y autentificarse en el pptpd.si es que brazilfw esta configurado su subred en 192.168.0.1 este tendra el port 1723/tcp open pptp a la espera.
este detalle de dependencia es el que no quisiera que tenga
se que para evitar eso el negociado entre el xp y brazilfw debería basarse en la capa 2 pero eso justamente es lo que no se
ya que creo que eso ya seria pppoe y no se pero creo que brazilfw ya tiene nativo la posibilidad de convertirlo en dos patadas en un server pppoe como corno no lo se pero ahí vi archivos que dan la posibilidad.

final
para darle salida a la WAN a esta vpn en mi caso tuve que agregar en brazilfw al iptables la siguiente regla.

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -d 0.0.0.0/0 -j MASQUERADE





-------------------------------------------------------
ppp (Este no sé si sería tan esencial instalarlo en brazilfw pero bueno siguiendo otro tutorial di que era una dependencia)
version ppp_2.4.2+20040202.orig
http://rayo969.sslpowered.com/pptp-server/ppp.tgz



una consulta... no manejo mucho le asunto... pero... 2 preguntas

1 servira para configurar los nano u otros equipos para lograr su conexion.. pq veo que parece q esta en modo bridge el asunto..??
2 producira trafico en exceso en los equipos???

saludos..
Los acentos se omiten deliveradamente para evitar problemas de codificacion en la pagina... LOL
Avatar do usuário
Lord
BFW Supreme Master
 
Mensagens: 2211
Registrado em: Qua Abr 04, 2007 11:01 am
BrazilFW Box:

Re: (SERVER PPTPD clientes user pass) webadas.tgz de pablino

Mensagempor pablino76 » Dom Jun 06, 2010 12:03 pm

hola lord
amigo te voy contestar con sinceridad
no lo se sinceramente debería estar ahí en la escena para hacer corroborarte como hacerlo
te diría que pruebes y si queres armes un nuevo post aparte y ahí estaré viendo si entre todos
te sacamos la duda es mas este addon pptpd.tgz está mucho mejor compilado acá

http://www.prefirolinux.com/bfw/pptpd.tgz

No se si es de juancho juanillo o bender pero ese que te puse en el link es el pptpd mas formal
tiene el cgi para webadmin entre otras cosas mas
yo no lo encontre hasta ayer en base a lo que yo ya venia sabiendo de este le modifique algunas cosas a ese con cgi y me resulto util.

Por otro lado justamente ahora me agarras terminando el rp-pppoe server para brazilfw 2.31.10 que te diría es mucho recontra re súper
mas interesante que pptpd el pppoe-server justamente veo.

Mira que interesante que es rp-pppoe server que no precisa que el cliente tanga una ip alguna inicial para hacer la negociación de acceso a la wan
ya que la negociación de user pass y envio de configuración de IP al cliente, se logra sobre ethernet capa2 osea claro protocolo punto a punto over ethernet.
es una especie de magia rara y justamente ahora te estoy contestando desde esta configuración LAN extraña por decírtelo de alguna forma.

En fin lord discúlpame mis respuesta medias carentes a tus preguntas sinceramente justamente estas cosas las pongo en off-topic porque son experimentos que antes de descartarlos y dejarlos al olvido los expongo para yo también acordarme luego como era que más o menos se que se usaba y fusionarlo.

Yo lord en sisntesis te cuento que tengo unas pc’s aca adentro de casa y un brazilfw nada mas no tengo ni hago de mini isp justamente tampoco y no tengo ni se mucho de hardware wireless ósea, esto es un pequeño laboratorio de pruebas redes lo que yo tengo, eso, entonces por eso no te puedo ayudar mucho puntualmente en eso.

SALUDOS.
Editado pela última vez por pablino76 em Dom Jun 06, 2010 5:34 pm, em um total de 1 vez.
pablino76
 

Re: (SERVER PPTPD clientes user pass) webadas.tgz de pablino

Mensagempor ramiropampa » Dom Jun 06, 2010 3:11 pm

Pablino, este pptpd no es tan webada, yo creo que debería ir en el foro de integración. Si estás de acuerdo lo muevo.

Saludos
Ramiro
Reglas del foro
Topics Importantes a leer antes de preguntar!
Que hacer al solucionar un problema

-Si compartes el Dinero, queda la mitad, Si compartes el Conocimiento, queda el DOBLE
Avatar do usuário
ramiropampa
BFW Beneméritos
 
Mensagens: 4141
Registrado em: Qua Dez 28, 2005 6:31 pm
Localização: En mi casa
BrazilFW Box:

Re: (SERVER PPTPD clientes user pass) webadas.tgz de pablino

Mensagempor pablino76 » Dom Jun 06, 2010 3:56 pm

no no esto fue algo que se dio descubrí por mi mismo tropezando con package tar.gz

pero juanillo (un astro) tuvo el honor en el 2007 de crearlo formalmente como debía ser
solo que esto lo llamo:

PoPToP (PPTP) - VPN Server
viewtopic.php?f=67&t=59990#p104475

http://www.brazilfw.com.br/users/juanil ... /pptpd.tgz

yo ni enterado porque me pasa con no dar con las cosas en su momento
por desconocimiento de muchos términos y temas sobre encapsulamiento
yo ahora estoy más interesado en rp-pppoe que es algo totalmente nuevo para mi
ya hice mi propia compilación que funciona pero ahi estoy DUDAS... sabia intui que esto también ya estaba
pero no sabía donde.
ahora no se como pero di con el hilo este, del año 2007
donde luapufo y Claudio hablan de esto ya para la versión 2.30

viewtopic.php?f=15&t=59345&hilit=pppoe+server+options&start=40

interesante para mi justamente recién voy por la hoja 2 leyendo como puedo ya que esta en portugués.
doy recién ahí mismo con un link http://www.brazilfw.com.br/users/public/pppoe.tgz que no me lleva a nada, da error
Estoy buscando ese addon.

Tema integración seria pptpd adaptado a easycaptive 2.08 eso creo que si podría ser algo para que todos nos integremos y lo logremos pero... falta quizás muchas más ganas de parte de todos.

rp-pppoe server no puedo entender como ya en 2.31.10 no está bien formalizado y esparcido a los cuatro vientos ya que puede que genere trabas algunas en cosas pero no son cosas sin soluciones.
Si rp-pppoe server se pule a un alto nivel dentro de brazilfw puede llegar a ser un forma más profesional de crear redes, subredes, servicios y atender clientes con mejor calidad más seguridad.

eso...
pablino76
 

Re: (SERVER PPTPD clientes user pass) webadas.tgz de pablino

Mensagempor macbab » Seg Jun 07, 2010 1:45 pm

Felicitaciones por tu esfuerzo, es notorio .
Saludos
:aplause: :aplause: :aplause:
macbab
 

Re: (SERVER PPTPD clientes user pass) webadas.tgz de pablino

Mensagempor pablino76 » Seg Jun 07, 2010 3:03 pm

:lol:
pablino76
 

Re: (PCI utiles) webadas.tgz de pablino

Mensagempor pablino76 » Qua Jun 16, 2010 9:24 pm

[H E R R A M I E N T A   D E  E S C A R B E ]

lspci

lspci: herramienta para hacerle un poco linterna a los socketes pci's y dar con nuevas conclusiones.


http://rayo969.sslpowered.com/lspci/lspci.tgz

como perlita tipo webofrito dejo el

ndiswraper perl (para los perleros)

cat >/usr/sbin/ndiswrapper
Código: Selecionar todos
#!/usr/local/bin/perl

#/*
#*  This program is free software; you can redistribute it and/or modify
#*  it under the terms of the GNU General Public License as published by


use strict;
use Fcntl ':mode';

my @sections;
my %strings;
my %version;
my $driver_name;
my $confdir = "/etc/ndiswrapper";
my $instdir;
my %fuzzlist;

my @copy_blacklist = ("prismusb.sys");

my %param_fixlist = ("EnableRadio|0" => "EnableRadio|1",
                     "PrivacyMode|0" => "PrivacyMode|1");


if(@ARGV < 1)
{
   usage();
   exit();
}

my $res;
if($ARGV[0] eq "-i" and @ARGV == 2)
{
   $res = install($ARGV[1]);
}
elsif($ARGV[0] eq "-e" and @ARGV == 2)
{
   $res = remove($ARGV[1]);
}
elsif($ARGV[0] eq "-l" and @ARGV == 1)
{
   $res = list();
}
elsif($ARGV[0] eq "-m" and @ARGV == 1)
{
   $res = modconf();
}
else
{
   usage();
   exit();
}

exit $res;

sub usage
{
   print "Usage: ndiswrapper OPTION\n".
         "\n".
         "Manage ndis drivers for ndiswrapper.\n".
         "-i inffile   Install driver described by inffile\n".
         "-e driver    Remove driver\n".
         "-l           List installed drivers\n".
         "-m           Write configuration for modprobe\n";
}


sub install
{
   my $inf = shift;
   $driver_name = lc($inf);
   $driver_name =~ s/\.inf//;
   $driver_name = `basename $driver_name`;
   $instdir = `dirname $inf`;
   chomp($instdir);
   chomp($driver_name);

   if(isInstalled($driver_name))
   {
      print "$driver_name is already installed. Use -e to remove it\n";
      return -1;
   }
   
   if(!opendir(DH, $confdir))
   {
      mkdir($confdir);
   }
   else
   {
      close(DH);
   }
   
   print "Installing $driver_name\n";
   if(!mkdir("$confdir/$driver_name"))
   {
      print "Unable to create directory $confdir/$driver_name. Make sure you are running as root\n";
      return -1;
   }
   
   loadinf($inf);
   initStrings();
   parseVersion();
   `cp -u $inf $confdir/$driver_name/$driver_name.inf`;   
   processPCIFuzz();
}



sub isInstalled
{
   my $installed;
   my $name = shift;
   open(LS, "ls -1 $confdir|");
   while(my $f = <LS>)
   {
      chomp($f);
      my $mode = (stat("$confdir/$f"))[2];
      if(S_ISDIR($mode) and $name eq $f)
      {
         $installed = 1;
      }
      
   }
   close(LS);   
   return $installed;
}


sub remove
{
   my $name = shift;
   if(!isInstalled($name))
   {
      print "Driver $name is not installed. Use -l to list installed drivers\n";
      return;
   }
   `rm -rf $confdir/$name`;
}

sub list
{
   my $s;

   my $cards = getPresentCards();

   if(!$cards)
   {
      print "WARNING: Cannot locate lspci. Unable to see if hardware is present.\n";
   }

   open(LS, "ls -1 $confdir|");
   while(my $f = <LS>)
   {
      chomp($f);
      my $mode = (stat("$confdir/$f"))[2];
      if(S_ISDIR($mode))
      {
         $s .= "$f\t".installStatus($cards, $f)."\n";
      }
   }
   if($s)
   {
      print "Installed ndis drivers:\n$s";
   }
   else
   {
      print "No drivers installed\n$s";
   }
   close(LS);   
}

sub modconf
{
   my $alias = 0;
   my $err = 0;

   my @modprobe = ("/sbin/modprobe", "/usr/sbin/modprobe", "modprobe");
   my $ok = 0;
   for(my $i = 0; $i < @modprobe; $i++)
   {
      if(open(MODPROBE, "$modprobe[$i] -c|"))
      {
         $ok = 1;
         $i = @modprobe;
      }
   }
   if(!$ok)
   {
      return -1;
   }

   while(my $line = <MODPROBE>)
   {
      if($line =~ /^alias\s.+\sndiswrapper/)
      {
         print "modprobe config already contains alias directive\n\n";
         $alias = 1;
      }
      elsif($line =~ /^install\s.*ndiswrapper/)
      {
         print "You should not need an install directive in you modprobe config file.\n";
         modconf_err($line);
         $err = 1;
      }
      elsif($line =~ /^post-install\s+ndiswrapper/)
      {
         print "You should not need a post-install directive in you modprobe config file.\n";
         modconf_err($line);
         $err = 1;
      }
   }
   close(MODPROBE);

   if($alias)
   {
      return;
   }
   

   my $v =  `uname -r`;   


   $v =~ /(\d+)\.(\d+)\.(\d+)/;
   my $major = $1;
   my $minor = $2;
   my $rev = $3;   
   my $modconf;
   if($minor > 4)
   {
      if(-d "/etc/modprobe.d")
      {
         $modconf = "/etc/modprobe.d/ndiswrapper"
      }
      else
      {
         $modconf = "/etc/modprobe.conf"
      }
   }
   else
   {
      if(-d "/etc/modutils")
      {
         $modconf = "/etc/modutils/ndiswrapper";
      }
      else
      {
         $modconf = "/etc/modules.conf";
      }
   }
   

   print "Adding \"alias wlan0 ndiswrapper\" to $modconf\n";
   system("echo \"alias wlan0 ndiswrapper\" >>$modconf");
   
       if(-x "/sbin/update-modules")
   {
      system("/sbin/update-modules");
   }
}

sub modconf_err
{
   my $line = shift;
   print "Please remove the line saying:\n\n";
   print "$line\n";
   print "unless you are 100% sure of what you are doing.\n";         
}


sub getPresentCards
{
   my @cards;
   
   my @lspci = ("/sbin/lspci", "/usr/sbin/lspci", "lspci");
   for(my $i = 0; $i < @lspci; $i++)
   {
      if(open(LSPCI, "$lspci[$i] -vn|"))
      {
         my $card;
         while(my $line = <LSPCI>)
         {
            if($line =~ /^[0-9]+.*:\s(.{4}):(.{4}).*/)
            {
               my %c;
               $card = \%c;
               $card->{vendor} = $1;
               $card->{device} = $2;
            }
            if($line =~ /.+Subsystem:\s*(.{4}):(.{4}).*/)
            {
               $card->{subvendor} = $1;
               $card->{subdevice} = $2;

               push(@cards, $card);
            }
               
         }
         return \@cards;
      }
   }
}


sub installStatus
{
   my $cards = shift;
   my $driver = shift;   

   if(!$cards)
   {
      return;
   }

   open(LS2, "ls -1 $confdir/$driver|");
   my $ret = "hardware NOT present";

   while(my $device = <LS2>)
   {
      chomp($device);
      my $d = $device;
      $d =~ s/.conf//;
      if($d =~ /(.{4}):(.{4}):(.{4}):(.{4})/)
      {
         for(my $i = 0; $$cards[$i]; $i++)
         {
            if($$cards[$i]->{vendor} == $1 and
               $$cards[$i]->{device} == $2 and
               $$cards[$i]->{subvendor} == $3 and
               $$cards[$i]->{subdevice} == $4)
            {
               close(LS2);   
               return "hardware present";
            }
         }
         
      }
      elsif($d =~ /(.{4}):(.{4})/)
      {
         for(my $i = 0; $$cards[$i]; $i++)
         {
            if($$cards[$i]->{vendor} == $1 and
               $$cards[$i]->{device} == $2)
            {
               my $mode = (lstat("$confdir/$driver/$device"))[2];
               if(S_ISLNK($mode))
               {
                  $ret = "hardware present,fuzzy";
               }
               else
               {
                  close(LS2);   
                  return "hardware present";
               }
            }
         }
      }
   }
   close(LS2);   
   return $ret;
}



sub processPCIFuzz
{
   my @devs = keys(%fuzzlist);
   for(my $i = 0; $i < @devs; $i++)
   {
      my $dev = $devs[$i];
      if($dev ne $fuzzlist{$dev})
      {
         `ln -s $confdir/$driver_name/$fuzzlist{$dev}.conf $confdir/$driver_name/$dev.conf`;
      }
   }
}

sub addPCIFuzzEntry
{
   my $vendor = shift;
   my $device = shift;
   my $subvendor = shift;
   my $subdevice = shift;

   my $s = "$vendor:$device";

   if(!$subvendor or !$fuzzlist{$s})
   {
      my $s2 = $s;
      if($subvendor)
      {
         $s2 .= ":$subvendor:$subdevice";
      }
      $fuzzlist{$s} = $s2;
   }
}


sub parseVersion
{
  my $s = getSection("version");
  if(!$s)
    {
      return;
    }
  my @lines = split("\n", $s->{data});

  for(my $i = 0; $i < @lines; $i++)
    {
      (my $key, my $val) = getKeyVal($lines[$i]);
      if($key eq "Provider")
   {
     $val =~ s/"(.+)"/$1/;
     $version{$key} = $val;
   }
      if($key eq "DriverVer")
   {
     $val =~ s/"(.+)"/$1/;
     $version{$key} = $val;
   }
    }
  parseManu();
}

sub parseManu
{

   my $manu = getSection("manufacturer");
   if(!$manu)
   {
      return -1;
   }

   my @lines = split("\n", $manu->{data});
   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = remComment($lines[$i]);
      (my $key, my $val) = getKeyVal($line, "=");

      if ($key eq $version{"Provider"})
        {
          $strings{$key} = trim($val);
        }

      if($val)
      {
         my $section;
         my @flavours = split(",", $val);
         my $flavour = "";
         if(@flavours == 1)
         {
            #Vendor
            $section = $val;            
         }
         else
         {
            #Vendor,flavour1, flavour2 etc;
            for(my $i = 1; $i < @flavours; $i++)
            {
               my $flav = trim($flavours[$i]);
               $flav =~ s/\s*(\S+)\s*/$1/;
               if(uc($flav) eq "NT.5.1")
               {
                  #This is the best (XP)
                  $section = $flavours[0] . "." . $flav;
                  $flavour = $flav;
               }
               elsif(substr(uc($flav),0,2) eq "NT" and $section eq "")
               {
                  #This is the second best (win2k)
                  $section = $flavours[0] . "." . $flav;
                  $flavour = $flav;
               }
            }
            
         }
         my $res = parseVendor($flavour, $section);
         if(!$res)
         {
            return $res;
         }
      }
   }
}

sub parseVendor
{
   my $flavour = shift;
   my $vendor_name = shift;
   my $vend = getSection($vendor_name);

   if(!$vend)
   {
      print "no vendor\n";
      return -1;
   }

   my @lines = split("\n", $vend->{data});
   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = remComment($lines[$i]);
      (my $name, my $val) = getKeyVal($line, "=");

      if($val)
      {
         (my $section, my $id) = split(",", $val);
         $section = trim($section);
         $id = trim($id);
         (my $bustype, my $vendor, my $device, my $subvendor, my $subdevice) = parseID($id);
         if($vendor)
         {
            parseDevice($flavour, $section, $bustype, $vendor, $device, $subvendor, $subdevice);
         }
      }
   }
}


sub parseDevice
{
   my $flavour = shift;
   my $device_sect = shift;
   my $bustype = shift;
   my $device = shift;
   my $vendor = shift;
   my $subvendor = shift;
   my $subdevice = shift;

   my $dev = getSection("$device_sect.$flavour");
   if(!$dev)
   {
      $dev = getSection("$device_sect.NT");
   }
   if(!$dev)
   {
      $dev = getSection("$device_sect");
   }

   if(!$dev)
   {
      print "no dev $device_sect $flavour\n";
      return -1;
   }


   my $copyfiles;
   my $addreg;
   my @lines = split("\n", $dev->{data});

   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = remComment($lines[$i]);
      (my $key, my $val) = getKeyVal($line, "=");
      if($key)
      {
         if(lc($key) eq "addreg")
         {
            $addreg = $val;
         }
         if(lc($key) eq "copyfiles")
         {
            $copyfiles = $val;
         }
      }
   }      

   my $filename = "$device:$vendor";
   if($subvendor)
   {
      $filename .= ":$subvendor:$subdevice"
   }

   $filename .= ".conf";   
   
   if($bustype == 5)
   {
      addPCIFuzzEntry($device, $vendor, $subvendor, $subdevice);
   }

   if(!open(CONF, ">$confdir/$driver_name/$filename"))
   {
      print "Unable to create file $filename";
      return -1;
   }

   printf CONF "NdisVersion|0x50001\n";
   printf CONF "Environment|1\n";
    printf CONF "BusType|$bustype\n";
   my $ver=$version{"DriverVer"};
   my $provider=$version{"Provider"};
   my $providerstring = stripquotes(substStr(trim($provider)));
   printf CONF "ndis_version|$providerstring,$ver\n\n";

   my @addregs = split(",", $addreg);
   for(my $i = 0; $i < @addregs; $i++)
   {
      my $reg = trim($addregs[$i]);
      addReg($reg);
   }
   
   my @copyfiles = split(",", $copyfiles);
   for(my $i = 0; $i < @copyfiles; $i++)
   {
      my $file = trim($copyfiles[$i]);
      copyfiles($file);
   }

   close(CONF);
}


sub copyfiles
{
   my $copy_name = shift;
   my $copy = getSection($copy_name);
   if(!$copy)
   {
      printf "Parse error in inf. Unable to find section $copy_name\n";
      return -1;
   }

   my @lines = split("\n", $copy->{data});

   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = trim(remComment($lines[$i]));

      if($line)
      {
         $line =~ s/,+.*//;
         $line = trim($line);
         my $nocopy = 0;
         for(my $j = 0; $j < @copy_blacklist; $j++)
         {
            if($copy_blacklist[$j] eq lc($line))
            {
               $nocopy = 1;
            }
         }

         my $dir = finddir($line);
         if($dir)
         {
            $dir = findfile("", $dir);
         }

         my $realname = findfile($dir, $line);

         if($realname)
         {
            my $newname = lc($realname);
            if($dir)
            {
               $realname = "$dir/$realname";
            }
            if(!$nocopy)
            {
               `cp -u $instdir/$realname $confdir/$driver_name/$newname`;   
               `chmod 644 $confdir/$driver_name/$newname`;   
            }
            
         }
         else
         {
            print STDERR "Warning: Cannot locate $line\n";
         }
         
      }
   }
}

sub finddir
{
   my $filename = shift;
   my $sourcedisksfiles = getSection("sourcedisksfiles");
   if(!$sourcedisksfiles)
   {
      return "";
   }
   my @lines = split("\n", $sourcedisksfiles->{data});
   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = trim(remComment($lines[$i]));
      $line =~ /(.+)=.+,+(.*)/;
      my $file = trim($1);
      my $dir = trim($2);
      if($file and $dir and lc($filename) eq lc($file))
      {
         return $dir;
      }
   }
   return "";
}

sub findfile
{
   my $dir = shift;
   my $file = shift;

   if(!opendir(DIR, "$instdir/$dir"))
   {
      print "Unable to open $instdir\n";
      return "";
   }
   
   my @allfiles = readdir(DIR);
   for(my $i = 0; $i < @allfiles; $i++)
   {
      if(lc($allfiles[$i]) eq lc($file))
      {
         closedir(DIR);   
         return $allfiles[$i];
      }
   }
   closedir(DIR);   
   return "";
}


sub addReg
{
   my $reg_name = shift;
   my $reg = getSection($reg_name);
   if(!$reg)
   {
      printf "Parse error in inf. Unable to find section $reg_name\n";
      return -1;
   }

   my $param;
   my $type;
   my $val;
   my $found;
   my $gotParam = 0;
   
   my @lines = split("\n", $reg->{data});
   for(my $i = 0; $i < @lines; $i++)
   {
      my $line = trim(remComment($lines[$i]));
      if($line)
      {
         $line =~ /([^,]*),([^,]*),([^,]*),([^,]*),(.*)/;
         my $hkr = trim($1);
         my $p1 = stripquotes(substStr(trim($2)));
         my $p2 = stripquotes(substStr(trim($3)));
         my $p3 = stripquotes(substStr(trim($4)));
         my $p4 = stripquotes(substStr(trim($5)));

         if($p1)
         {
            if($p1 =~ /ndi\\params\\(.+)/i)
            {
               $1 =~ /(.+)\\.*/;
               
               if($1 ne $param)
               {
                  $found = 0;
                  $param = $1;
                  $type = "";
                  $val = "";
               }
               if(lc($p2) eq "type")
               {
                  $found++;
                  $type = $p4;
               }
               elsif(lc($p2) eq "default")
               {
                  $found++;
                  $val = $p4;
               }

               if($found == 2)
               {
                  $gotParam = 1;
               }
            }
         }
         else
         {
            #print "type 2: $reg_name '$p1', '$p2', '$p3', '$p4':'$line'\n";      
            $param = $p2;
            $val = $p4;
            $gotParam = 1;
         }

         
         if($gotParam and $param ne "BusType")
         {
            my $s = "$param|$val";
            if($param_fixlist{"$s"})
            {
               my $sOld = $s;
               $s = $param_fixlist{"$s"};
               print "Forcing parameter $sOld to $s\n";
            }
            
            print CONF "$s\n";
            $param = "";
            $gotParam = 0;
         }
      }
   }
}

sub substStr
{
   my $s = shift;
   if($s =~ /^\%(.+)$\%/)
   {
      return getString($1);
   }
   return $s;
}


sub parseID
{
   my $s = uc(shift);
   if($s =~ /PCI\\VEN_(\w+)&DEV_(\w+)&SUBSYS_(\w{4})(\S{4})/)
   {
      return (5, $1, $2, $4, $3);
   }
   elsif($s =~ /PCI\\VEN_(\w+)&DEV_(\w+)/)
   {
      return (5, $1, $2);
   }
   elsif($s =~ /USB\\VID_(\w+)&PID_(\w+)/)
   {
      return (0, $1, $2);
   }
}

sub trim
{
   my $s = shift;
   $s =~ s/^\s*//;
   $s =~ s/\s*$//;
   return $s;
}


sub stripquotes
{
   my $s = shift;
   $s =~ s/"(.*)"/$1/;
   return $s;
}


sub getKeyVal
{
   my $line = shift;

   $line = remComment($line);
   (my $key, my $val) = split("=", $line);
   if($line =~ /(.+)=(.+)/)
   {
      return (trim($1), trim($2));
   }
}


sub remComment
{
   my $s = shift;
   $s=~ s/([^;]*);.*/$1/;
   return $s;
}

sub initStrings
{
   my $s = getSection("strings");
   if(!$s)
   {
      return;
   }
   my @lines = split("\n", $s->{data});

   for(my $i = 0; $i < @lines; $i++)
   {
      (my $key, my $val) = getKeyVal($lines[$i]);
      if($key)
      {
         $val =~ s/"(.+)"/$1/;
         $strings{$key} = $val;
      }
   }
}


sub getString
{
   my $s = shift;
   return $strings{$s};
}


sub getSection
{
   my $needle = shift;

   for(my $i = 0; $i < @sections;  $i++)
   {

      if( lc($sections[$i]->{name}) eq lc($needle))
      {
         return $sections[$i];
      }
   }
   return 0;
}


sub loadinf
{
   my $filename = shift;
   my %def_section;
   my $section = \%def_section;
   
   if(!open(INF, $filename))
   {
      return -1;
   }

   my $i = 0;
   $section->{name} = "none";
   while(my $s = <INF>)
   {
      #Convert from unicode
      $s =~ s/\xff\xfe//;
      $s =~ s/\0//g;

      $s =~ s/\s*$//;   #Remove trailing whitespace and \r
      $s .= "\n";
      if($s =~ /^\[(.+)\]\s*/)
      {
         $sections[$i++] = $section;      
         my %new_section;
         $section = \%new_section;
         $section->{name} = $1;
      }
      else
      {
         $section->{data} .= $s;
      }
   }
   
   $sections[$i++] = $section; 
   close(INF);


}



chmod +x /usr/sbin/ndiswrapper

DOWNLOAD PERL
http://www.brazilfw.com.br/users/falcon ... v/perl.tgz

que se le puede adosar el
http://rayo969.sslpowered.com/ndiswrapp ... diswrp.tgz

---------
de las vpn a esto? sin palabras es para no decir que hoy no me salió un carajo.
el hombre que no hace nada webea

saludos a mirage donde quiera que este
el único forista que anda con un brazilfw portátil por la calle usuario inestable %100.


:o!
Editado pela última vez por pablino76 em Ter Out 12, 2010 10:46 am, em um total de 1 vez.
pablino76
 

Re: (PCI utiles) webadas.tgz de pablino

Mensagempor MirageIII » Qui Jun 17, 2010 8:23 pm

pablino76 escreveu:
saludos a mirage donde quiera que este
el único forista que anda con un brazilfw portátil por la calle usuario inestable %100.


:o!


deja .. q se me acomode todo .. y voy a salir de viaje .. de j*** .. y de golpe vas a ver 5 6 isp nuevos en tu zona.......... \`´/ hay si q vas a saber q anda la portatil de M3

como uno q no quiero decir quien es pero vive en neco.. y vio mi sprint blanca con antenitas......
MirageIII
 

Re: (tips) webadas.tgz de pablino

Mensagempor pablino76 » Seg Ago 16, 2010 10:31 pm

:idea: Recomendaciones.

[+]VIRTUAL BOX
 Acceso Directo Virtual Machines

       linea de comando:
       VBoxManage startvm <nombre de la maquina virtual>


[+] SSH BFW ACCESO RAPIDO

Para aquellos que estén en windows usando putty para conectar a ssh brazilfw y ya estén tostados de cada reinicio poner el password ponen putty en system32 luego se hacen un archivo batch tipo brazil.bat.
y adentro le ponen algo asi:

Código: Seleccionar todo
@echo off
putty IP.IP.IP.IP 22 -l root -pw password>>nul
exit


[+] WGET (tip lista urls)
cat lista_urls.txt | xargs -n 1 -P 1 wget
Editado pela última vez por pablino76 em Seg Out 04, 2010 5:36 pm, em um total de 4 vezes.
pablino76
 

Exportar solo contenido texto plano de tablas HTML

Mensagempor pablino76 » Qua Set 22, 2010 2:29 pm

TIP PARA SASTRE


Bash script
Discriminar contenido texto plano en tables HTML a un archivo
Código: Selecionar todos
#!/bin/sh

while true
do
clear
wget http://admin:password@192.168.1.1/goform/formWlSiteSurvey?refresh=Refresh&submit-url=%2Fwlsurvey.asp >/dev/null 2>&1
clear
cat WIFIS
sleep 5

#matar el ultimo proceso
kill $!

wget http://admin:password@192.168.1.1/wlsurvey.asp >/dev/null 2>&1
clear
cat WIFIS
clear
DATOS2=`cat  wlsurvey.asp |grep '</td>'| sed 's/.*\(>.\)/\1/'| cut -c1-50 |cut -d "<" -f1`
#DATOS2=`cat  x.asp |grep '</td>'| sed 's/.*\(>.\)/\1/'| cut -c1-50 |cut -d "<" -f1`
echo -e "$DATOS2" >OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
sed -i 1d OUTFILE
RESULTADO=`cat OUTFILE`
echo -e $RESULTADO |sed 's/ > >/\n /g'|sed 's/>/ /g' >WIFIS # |grep $1 > WIFIS # |awk '{printf $7}' >WIFIS
cat WIFIS
sleep 2
done



Ejemplo de tabla AP wlsurvey.asp edimax ew-7209apg firmware estandar
Código: Selecionar todos
<html>
<head>
<link rel="stylesheet" href="set.css">
<meta http-equiv="Content-Type" content="text/html">
<title>Wireless Site Survey</title>
<script>
var connectEnabled=0;
function verifyBrowser() {
  var ms = navigator.appVersion.indexOf("MSIE");
  ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4);
  var ns = navigator.appName.indexOf("Netscape");
  ns= (ns>=0) && (parseInt(navigator.appVersion.substring(0,1))>=4);
  if (ie4)
   return "ie4";
  else
   if(ns)
      return "ns";
   else
      return false;
}

function disableButton (button) {
  if (verifyBrowser() == "ns")
     return;
  if (document.all || document.getElementById)
    button.disabled = true;
  else if (button) {
    button.oldOnClick = button.onclick;
    button.onclick = null;
    button.oldValue = button.value;
    button.value = 'DISABLED';
  }
}

function enableButton (button) {
  if (verifyBrowser() == "ns")
     return;
  if (document.all || document.getElementById)
    button.disabled = false;
  else if (button) {
    button.onclick = button.oldOnClick;
    button.value = button.oldValue;
  }
}

function enableConnect()
{
  enableButton(document.formWlSiteSurvey.connect);
  connectEnabled=1;
}

function connectClick()
{
  if (connectEnabled==1)
   return true;
  else
     return false;
}

function loadonstart() {
   sitesurveyed = 1
   if (sitesurveyed == 0) {
      disableButton(document.formWlSiteSurvey.refresh);
      document.searching.submit();
   }

   window.opener.reloadPage();
}

</script>
</head>
<body class="background" onLoad="loadonstart();">
<blockquote>
<center><b><font class="textcolor1" size="4">Wireless Site Survey</font></b></center><br>
<table border="0" width="520" cellspacing="0" cellpadding="0" align=center><tr><td>
<p align="left"><font class="textcolor" size="2">
 This page provides tool to scan the wireless network. If any Access Point or
 IBSS is found, you could choose to connect it manually when client mode is enabled.
          </font></p></td></tr></table>

<form action=/goform/formWlSiteSurvey method=POST name="searching">
   <input type="hidden" value="Refresh" name="refresh">
   <input type="hidden" value="/wlsurvey.asp" name="submit-url">
</form>
         
<form action=/goform/formWlSiteSurvey method=POST name="formWlSiteSurvey">
  <table border="1" width="520" cellspacing="0" cellpadding="0" align=center>
  <tr>
   <td align="center" width="30%" class="stable"><font size="2"><b>SSID</b></font></td>
   <td align="center" width="20%" class="stable"><font size="2"><b>BSSID</b></font></td>

   <td align="center" width="10%" class="stable"><font size="2"><b>Channel</b></font></td>
   <td align="center" width="10%" class="stable"><font size="2"><b>Type</b></font></td>
   <td align="center" width="10%" class="stable"><font size="2"><b>Encrypt</b></font></td>
   <td align="center" width="10%" class="stable"><font size="2"><b>Signal</b></font></td>
   <td align="center" width="10%" class="stable"><font size="2"><b>Select</b></font></td>
  </tr>

  <tr><td align=left class='table2'><font size="2">CORNETA-WIFI</td>
<td align=center class='table2'><font size="2">00:66:66:66:66:66</td>
<td align=center class="table2"><font size="2">7 (B+G)</td>
<td align=center class="table2"><font size="2">AP</td>
<td align=center class="table2"><font size="2">WPA-PSK</td>
<td align=center class="table2"><font size="2">84</td>
<td align=center width="10%" class="table2"><input type="radio" name="select" value="sel0" onClick="enableConnect()"></td></tr>
<tr><td align=left class='table2'><font size="2">COJE_ESTA_WIFI</td>
<td align=center class='table2'><font size="2">00:22:22:22:b9:8c</td>

<td align=center class="table2"><font size="2">3 (B+G)</td>
<td align=center class="table2"><font size="2">AP</td>
<td align=center class="table2"><font size="2">WPA-PSK/WPA2-PSK</td>
<td align=center class="table2"><font size="2">32</td>
<td align=center width="10%" class="table2"><input type="radio" name="select" value="sel1" onClick="enableConnect()"></td></tr>

  </table>
  <br><center>
  <input type="submit" value="Refresh" name="refresh" class="btnsize">&nbsp;&nbsp;
  <input type="submit" value="Connect" name="connect" onClick="return connectClick()" class="btnsize">&nbsp;&nbsp;

  <input type="button" value="Close" class="btnsize" onClick="window.close();"></center>
  <input type="hidden" value="/wlsurvey.asp" name="submit-url">
 <script>
      
   disableButton(document.formWlSiteSurvey.connect);
 </script>
</form>

</blockquote>
</body>
</html>





Código: Selecionar todos

Expresiones regulares y filtros.

Una expresión regular es un patrón que define a un conjunto de cadenas de caracteres. Las expresiones regulares se construyen de forma análoga a las expresiones aritméticas. Existe la posibilidad de combinar expresiones simples; para ello, debemos emplear distintos operadores.
Los bloques básicos de construcción son las expresiones regulares que referencias un único carácter. La mayoría de los caracteres, incluyendo todas las letras y dígitos, son expresiones regulares que se definen a si mismos. Cualquier metacarácter con significado especial debe ser precedido del símbolo backslash para que pierda su significado especial.
Una lista de caracteres encerrados dentro de [] referencia cualquier carácter sencillo de esa lista. Si el primer carácter es un ^ entonces estaremos haciendo referencia a los caracteres que no aparecen en la lista.
Los caracteres ^ y $ son metacaracteres que representan una cadena vacía al principio y al final de la línea, respectivamente. Los símbolos \< y \> representan una cadena vacía al principio y al final de una palabra.
Una expresión regular que representa un carácter sencillo puede ser continuada con uno o varios caracteres de repetición.:
?    El elemento precedente es opcional y debe coincidir al menos una vez.
*    El elemento precedente debe coincidir cero o más veces
{n}    El elemento precedente debe coincidir exactamente n veces
+    El elemento precedente debe coincidir una o más veces.
{,m}    El elemento precedente es opcional y debe coincidir al menos m veces.
{n,m}    El elemento precedente debe coincidir al menos n veces pero no más de m veces.

Dos expresiones regulares pueden unirse con el operador |. La expresión resultante representa cualquier cadena que responda a uno de los dos patrones.
Ejemplos:
Patrón    Qué representa
pablo    La cadena pablo
^pablo    La cadena pablo al comienzo de una línea.
pablo$    La cadena pablo al final de una línea.
^pablo$    La cadena pablo formando una única línea.
niñ[oa]    La cadena niño o niña
ni[^aeiou]o    La tercera letra no es una vocal minúscula.
ga.o    La tercera letra es cualquier carácter.
^....$    Cualquier línea que contenga 4 caracteres.
^\.    Cualquier línea que comienza por punto.
^[^.]    Cualquier línea que no comienza por punto.
niños*    niño, niños, niñoss, niñosss, etc
“niño”    niño entre comillas dobles.
“*niño”*    niño con o sin comillas dobles.
[a-z][a-z]*    una o más letras minúsculas.
[a-z]+    una o más letras minúsculas (sólo válido en algunas aplicaciones).
[^0-9A-Z]    cualquier caracter que no sea ni número ni letra mayúscula.
[a-zA-Z]    cualquier letra sea mayúscula o minúscula.
[Ax5]    cualquier carácter que sea A, x o 5.
niño|niña|nada    una de las tres palabras.
(s|arb)usto    la palabra susto o arbusto.
ga?t[oa]    gato, gata, gasto, gaita, etc.
\<ga    cualquier palabra que empiece por ga.
 ño\>    cualquier palabra que termine por ño
\<niño\>    la palabra niño
o\{2,\}    dos o más oes en una misma fila.

Siempre que empleemos expresiones regulares con grep, deben se encerradas entre comillas dobles para que el interprete de órdenes no los considere. Si dentro de la expresión regular tenemos el metacarcter $ , deberemos emplear comillas simples en lugar de las comillas dobles.
Filtros.

sort                               Sintaxis            sort [-ndt] [+campo] [archivo(s)]
Este filtro se utiliza para ordenar líneas compuestas por cmpos, separados por tabuladores, aunque podemos especificar cualquier tipo de separador de campo. Si a sort no le pasamos ningún archibo como prámetro, tomará su entrada de la entrada estándar como cualquier filtro. Con este filtro podemos ordenar las líneas de uno varios archivos según un campo en particular. Esta ordenación no produce ninguna modificación en los archivos tratados.
Algunas opciones:
-n    considera el valor numérico para ordenar los campos.
-d    considerar sólo espacios en blanco y caracteres alfanuméricos.
-t sep    utiliza sep como separador de campos.

grep                               Sintaxis            grep [-inv] patrón [archivo(s)]
Es un filtro que permite buscar cadenas de caracteres en los archivos que le indiquemos
Opciones:
-i    Indica a grep que se ignoren mayúsculas y minúsculas
-v    visualiza por pantalla las líneas que no contienen el patrón indicado.
-n    muestra por pantalla el número de línea en que se encuentra el patrón.

wc                                 Sintaxis            wc [-lwc] [archivo(s)]
Se trata de un contador de líneas, palabras y caracteres.
Opciones:
-l    visualiza sólo el número de líneas.
-w    visualiza sólo el número de palabras.
-c    visualiza sólo el número de caracteres.

cut                                 Sintaxis            cut -c lista [archivo(s)]
cut -f lista [-dcar] [archivo(s)]
Se usa para cortar y pasar a la salida estándar las columnas o campos de la entrada estándar o del archivo especificado. La opción -c es para cortar columnas y -f para cortar campos. Al cortar un campo, existe la opción -d para especificar los caracteres de separación entre los distintos campos (car). Por defecto el delimitador es el tabulador, al menos que se indique otra cosa.
Una lista es una secuencia de números que se usa para indicarle a cut qué campos o columnas se quieren cortar. Hay varios formatos para esta lista.
X-Y    Columnas o campos desde X hasta Y inclusive.
X-    Columnas o campos desde X hasta el final.
X-Y    Columnas o campos X e Y.

tr                                    Sintaxis            tr [-dsc] cadena1 cadena2
Se emplea como traductor. Como todo filtro tr lee datos de la entrada estándar, los procesa y deposita los resultados en la salida estándar. Busca los caracteres indicados por cadena1 y los sustituye por cadena2.
-d    sirve para eliminar los caracteres indicados por cadena 1
-s    elimina caracteres repetidos indicados por cadena1
-c    indica contrario, que no coincida con cadena1.

tee                                 Sintaxis            tee [-a] [archivo(s)]
Esta orden orden lee la entrada estándar por defecto y escribe su salida a la salida estándar y al archivo especificado. Si se utiliza la opción -a (append), tee  añade su salida al archivo en lugar de sobreescribirlo.
La orden find.

find                               Sintaxis            find camino expresión
La orden find es una de las más potentes de UNIX, pero también una de las que tienen una sintaxis más compleja. Esta orden se usa para examinar toda la estructura de directorios, o señalados en la línea de órdenes. Una vez localizados, podemos hacer que ejecute distintas acciones sobre ellos. El campo expresión sirve para indicar los criterios de selección de los archivos y la acción que queremos aplicarles al encontrarlos.
Ejemplo:
$ find / -name ifconfig                               (busca el archivo ifconfig dentro de la estructura de directorios)
La opción -name indica a find que únicamente se busquen los archivos cuyo nombre se especifica a continuación. Cuando find no puede buscar en un determinado directorio por no poseer derechos de acceso, no los comunica. Para evitar estos mensajes de error podemos redirigir el error a /dev/null.
Ejemplo:
$ find / -name login 2>/dev/null
Opciones:
-user    le indicamos a find que seleccione los archivos que pertenezcan al usuario que se indica a continuación de -user.
-group    selecciona los archivos pertenecientes al grupo indicado a continuación.
-mtime n    archivos modificados hace n días.
-mtime -n    archivos modificados en los últimos n días.
-mtime +n    archivos modificados hace más de n días.
-size -m    archivos cuyo tamaño es menor de m bloques.
-size +m    archivos cuyo tamaño es mayor de m bloques.
-type x    archivos del tipo indicado por x (d directorios, f archivos, l enlaces, etc.).
-inum n    archivos cuyo inodo es n
-perm mode    archivos cuyos permisos sean los dados por mode.
-exec orden    ejecuta la orden usando como argumento los resultados de la búsqueda.

Todas estas opciones pueden ser negadas con el carácter ! seguido de un espacio en blanco.
Editor de flujo sed.

sed                                Sintaxis            sed [-f f_ord] [-n] [archivo(s)]
La herramienta sed es un editor de flujo (stream editor) utilizado para manipular archivos de texto. sed copia los archivos indicados (por defecto, el archivo estándar de entrada) en la salida estándar después de procesarlos. Este procesamiento de los archivos de entrada se lleva a cabo línea por línea, acorde con las órdenes dadas a sed, estas órdenes pueden residir en un archivo, en cuyo caso usaremos la opción -f seguida del nombre del archivo que contiene las órdenes (f_ord). La opción -n se utiliza si queremos ver la línea que está siendo procesada.
Algunas órdenes de sed:
s          sustituye
$ sed 's/procesar/manipular/g' archivo        (aquí indicamos que queremos sustituir s procesar por manipular a lo largo de todo                                                                el archivo, lo indica g.)
d          borra
$ sed '1,3d' archivo                                   (elimina desde la línea 1 hasta la 3 del archivo)

y          traduce caracteres (los cambia por otros)

$ sed 'y/[aeiou]/[AEIOU]/' archivo               (cambia las vocales en minúsculas por vocales en mayúsculas).

Editado pela última vez por pablino76 em Ter Out 12, 2010 10:53 am, em um total de 2 vezes.
pablino76
 

Re: (mii-tool) webadas.tgz de pablino

Mensagempor pablino76 » Qui Set 30, 2010 11:56 am

MII-TOOL

Descripcion FUENTE

Código: Selecionar todos

Mii-tool: Configurando manualmente la velocidad del ethernet

Publicado por fher98 on 12/26/07 • bajo Internetworking,Linux

MII-TOOL (media-independent interface status manipulation tool) es una herramienta la cual puede verificar o configurar el estatus de unidad de la Interfaz Independiente del Medio (MII) de la interfaz de red (NIC).
La mayoria de los adaptadores de fast ethernet utilizan el MII para autonegociar la velocidad del enlace (link) y ajustar su duplex. Estos dispositivos utilizan un protocolo de autonegociacion para comunicar cuales tecnologias de medios soportan, y asi de esta manera utilizar la tecnologia mas rapida soportada mutuamente.

Algunos dispositivos pasivos, como los hubs de velocidad simple (single-speed hubs), no tienen capacidad de autonegociacion. Para brindar soporte a dichos dispositivos el protocolo MII permite establecer la conexion con tan solo detectar el latido del enlace a 10baseT o 100baseT.

Es posible forzar el modo de operacion del protocolo MII con la opcion -F o –force. El reporte por default despliega la velocidad y el status del enlace para cada interface. Si una NIC o interface no fue especificada en la linea de comando, mii-tool verificara todas las interfaces disponibles desde eth0 hasta eth7.

A continuacion algunos ejemplos de como ver, ajustar o cambiar la velocidad de nuestra red via la interfaz ethernet:








DESCARGA mii-tool 1.9.1.1.1

usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]
-V, --version display version information
-v, --verbose more verbose output
-R, --reset reset MII to poweron state
-r, --restart restart autonegotiation
-w, --watch monitor for link status changes
-l, --log with -w, write events to syslog
-A, --advertise=media,... advertise only specified media
-F, --force=media force specified media technology
media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
(to advertise both HD and FD) 100baseTx, 10baseT

Editado pela última vez por pablino76 em Ter Out 12, 2010 10:54 am, em um total de 1 vez.
pablino76
 

Re: (by pablino music76) IN webadas.tgz

Mensagempor pablino76 » Sex Out 01, 2010 5:52 pm

·ESPACIALES·

musica descartable para escuchar una vez
escripter meditacion.

Imagem

esto trata sobre AHI.

DESCARGA ESPACIAL I [MU]
DESCARGA ESPACIAL I [RS]



[+]E·2

Imagem

DESCARGA ESPACIAL II [MU]
DESCARGA ESPACIAL II [RS]
Editado pela última vez por pablino76 em Ter Out 12, 2010 11:00 am, em um total de 2 vezes.
pablino76
 

Re: [Netcat 0.5.2 - Socat 1.4.0.3 ] IN webadas.tgz

Mensagempor pablino76 » Dom Out 10, 2010 4:59 pm

En unas pruebas compile 2 comandos mas para brazilfw 2.31.10
Netcat vs Socat


netcat (una version mas completa)
socat (un comando interesante con muchas relaciones a netcat mas interesantes)

GNU netcat 0.5.2 TGZ

GNU netcat 0.5.2, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere: netcat [options] hostname port [port] ...
listen for inbound: netcat -l -p port [options] [hostname] [port] ...
tunnel to somewhere: netcat -L hostname:port -p port [options]

Mandatory arguments to long options are mandatory for short options too.
Options:
-e, --exec=PROGRAM program to exec after connect
-g, --gateway=LIST source-routing hop point[s], up to 8
-G, --pointer=NUM source-routing pointer: 4, 8, 12, ...
-h, --help display this help and exit
-i, --interval=SECS delay interval for lines sent, ports scanned
-l, --listen listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to remote address
-n, --dont-resolve numeric-only IP addresses, no DNS
-o, --output=FILE output hexdump traffic to FILE (implies -x)
-p, --local-port=NUM local port number
-r, --randomize randomize local and remote ports
-s, --source=ADDRESS local source address (ip or hostname)
-t, --tcp TCP mode (default)
-T, --telnet answer using TELNET negotiation
-u, --udp UDP mode
-v, --verbose verbose (use twice to be more verbose)
-V, --version output version information and exit
-x, --hexdump hexdump incoming and outgoing traffic
-w, --wait=SECS timeout for connects and final net reads
-z, --zero zero-I/O mode (used for scanning)

Remote port number can also be specified as range. Example: '1-1024'





socat.tgz version 1.4.0.3
socat by Gerhard Rieger - see http://www.dest-unreach.org
Usage:
socat [options] <bi-address> <bi-address>
options:
-V print version and feature information to stdout, and exit
-? print a help text describing command line options and addresses
-?? like -?, plus a list of all common address option names
-??? like -?, plus a list of all available address option names
-d increase verbosity (use up to 4 times; 2 are recommended)
-D analyze file descriptors before loop
-ly[facility] log to syslog, using facility (default is daemon)
-lf<logfile> log to file
-ls log to stderr (default if no other log)
-lm[facility] mixed log mode (stderr during initialization, then syslog)
-lp<progname> set the program name used for logging
-lu use microseconds for logging timestamps
-v verbose data traffic, text
-x verbose data traffic, hexadecimal
-b<size_t> set data buffer size (8192)
-s sloppy (continue on error)
-t<timeout> wait seconds before closing second channel
-u unidirectional mode (left to right)
-U unidirectional mode (right to left)
-g do not check option groups
bi-address:
pipe[,<opts>] groups=FD,FIFO
<single-address>!!<single-address>
<single-address>
single-address:
<address-head>[,<opts>]
address-head:
create:<filename> groups=FD,REG,NAMED
exec:<command-line> groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX
fd:<num> groups=FD
gopen:<filename> groups=FD,REG,SOCKET,NAMED,OPEN,UNIX
ip4:<host>:<protocol> groups=FD,SOCKET,IP4
ip6:<host>:<protocol> groups=FD,SOCKET,IP6
open:<filename> groups=FD,REG,NAMED,OPEN
openssl:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP,OPENSSL
openssl-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,TCP,OPENSSL
pipe:<filename> groups=FD,FIFO,NAMED,OPEN
proxy:<proxy-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP,HTTP
pty groups=FD,NAMED,TERMIOS,PTY
socks4:<socks-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP,SOCKS4
socks4a:<socks-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP,SOCKS4
stderr groups=FD
stdin groups=FD
stdio groups=FD
stdout groups=FD
system:<shell-command> groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX
tcp4:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP
tcp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,TCP
tcp6:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP6,TCP
tcp6-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP6,TCP
udp4:<host>:<port> groups=FD,SOCKET,IP4,UDP
udp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP4,UDP
udp6:<host>:<port> groups=FD,SOCKET,IP6,UDP
udp6-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP6,UDP
unix-connect:<filename> groups=FD,SOCKET,NAMED,UNIX
unix-listen:<filename> groups=FD,SOCKET,NAMED,LISTEN,CHILD,UNIX



socat tiene un relativo a el clasico netcat -l -p port -e /bin/ls que no me funciono
en socat el relativo a eso seria

socat TCP-LISTEN:2323,reuseaddr SYSTEM:'ls' &


socat TCP-LISTEN:<puerto_de_escucha>,fork TCP:<direccion_de_Y>:<puerto>

por ejemplo, si quieres que X escuche en el puerto 3333 y el proxy Y es 210.10.10.10:8080, el comando sería:

socat TCP-LISTEN:3333,fork TCP:210.10.10.10:8080

(la opcion fork es para que no se cierre al termina la primera conexión y puedas conectar todas las veces que quieras)


Espero que a alguien le resulte util para algo de desarrollo.
SALUDOS

link lectura
http://www.distrotest.es/?p=2973
http://www.marblestation.com/?p=708
Editado pela última vez por pablino76 em Ter Out 12, 2010 11:02 am, em um total de 1 vez.
pablino76
 

Re: [HASERL 0.9.26 ] IN webadas pablino76

Mensagempor pablino76 » Dom Out 10, 2010 10:10 pm

HASERL

HASERL : permite escribir los scripts en HTML y agregar etiquetas CGI bashscript, haserl se puede decir que es un interprete como sh pero con un metodo quizas mas flexible para otros developers a la hora de crear un desarrollo especifico.

DESCARGA
haserl.tgz version 0.9.26

HASERL WEB SITE

una vez instalado el haserl

un ejemplo de formato de escritura seria este

pasos desde la consola

1º cat >/var/http/htdocs/cgi-bin/scripthaserl.cgi
2º pegar el siguiente codigo
Código: Selecionar todos
#!/bin/haserl

<HTML>
<HEAD>
<TITLE>Ejemplo basico de haserl</TITLE>
</HEAD>
<BODY>
<TABLE WIDTH="100%" HEIGHT="100%">
<TR>
<TD VALIGN="MIDDLE" ALIGN="CENTER">
<h1>esto es codigo HTML</h1>
<br>

<!-- la siguiente linea es una etiqueta haserl -->
<? echo "esto es codigo bash interpretado por haserl" ?>

<br>

<?
uptime
?>

<br>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>



3º darle permisos:
chmod +x /var/http/htdocs/cgi-bin/scripthaserl.cgi/scripthaserl.cgi

probar desde el webadmin
http://192.168.0.1:8180/cgi-bin/scripthaserl.cgi

Etiqueta haserl: <? AQUI PONER EL CODIGO BASH ?>
pablino76
 


Voltar para Otro Tema (Foro Off Topics)

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes

cron