Me acabo de percatar que mysql tiene un problema en el momento de hacer una igual "=", ya que no es sensitivo a las mayusculas y minusculas.
Ejemplo:
mysql> SELECT * from User where name= 'admin' ;
| id | name | password |
| 1 | admin | 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 |
| 2 | ADMIN | 112bb791304791ddcf692e29fd5cf149b35fea37 |
Como se aprecia, encuentra a los dos usuario.
Para solucionar ese problema, ose para hacerlo sensitivo al de las mayuscular. La consulta sería la siguiete:
mysql> SELECT * from User where binary name= 'admin' ;
+----+-------+------------------------------------------+
| id | name | password |
+----+-------+------------------------------------------+
| 1 | admin | 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 |
+----+-------+------------------------------------------+
Listo :)!
lunes, 15 de diciembre de 2014
miércoles, 12 de noviembre de 2014
Codigos PHP
Leer Archivo de texto y almacenarlo en un array
<?php
echo '<h1 align=center> Logs de los usuarios de Tacacs+ </h1>';
$fileName = "/tmp/backup/logs_tacacs.txt";
$fp = fopen($fileName,"r");
if( $fp == false )
{
echo ( "Error in opening file" );
exit();
}
while(!feof($fp))
{
$a[]=fgets($fp);
}
$count=count($a);
echo '<table border=1>';
for($i=0;$i<$count;$i++)
{
echo '<tr><td>'.$a[$i].'</td></tr>';
}
echo '</table>';
?>
Para ingresar un txt separado por comas y que termine cada linea.
mysql> load data local infile '/tmp/backup/log_tacacs_mod.txt' into table logs fields terminated by ',' lines terminated by '\n' (Dia,Mes,Fecha_dia,Hora,Ano,Ip_dest,Usuario,Vty,Ip_orig,Accion,Id_log,Time,Service,Privilegio,Comando_1,Comando_2);
Leer Archivo de texto y almacenarlo en un array
<?php
echo '<h1 align=center> Logs de los usuarios de Tacacs+ </h1>';
$fileName = "/tmp/backup/logs_tacacs.txt";
$fp = fopen($fileName,"r");
if( $fp == false )
{
echo ( "Error in opening file" );
exit();
}
while(!feof($fp))
{
$a[]=fgets($fp);
}
$count=count($a);
echo '<table border=1>';
for($i=0;$i<$count;$i++)
{
echo '<tr><td>'.$a[$i].'</td></tr>';
}
echo '</table>';
?>
Para ingresar un txt separado por comas y que termine cada linea.
mysql> load data local infile '/tmp/backup/log_tacacs_mod.txt' into table logs fields terminated by ',' lines terminated by '\n' (Dia,Mes,Fecha_dia,Hora,Ano,Ip_dest,Usuario,Vty,Ip_orig,Accion,Id_log,Time,Service,Privilegio,Comando_1,Comando_2);
lunes, 3 de noviembre de 2014
Configuración y comandos de SNMP en Linux
Comandos:
snmpwalk -v 2c -c public 172.18.0.245
snmpwalk-> pide todos los mibs
snmpget -v 2c -c public 172.18.0.245 "OID"
Si se desea cargar mibs en el linux, se hace con estos comandos
snmpwalk -v 2c -c public 172.18.0.245
snmpwalk-> pide todos los mibs
snmpget -v 2c -c public 172.18.0.245 "OID"
Si se desea cargar mibs en el linux, se hace con estos comandos
$ sudo apt-get install snmp-mibs-downloader
$ sudo download-mibs
Y se modifica en el archivo /etc/snmp/snmp.conf lo siguiente:
#
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loaging them by commenting out the following line.
mibs +ALL
Para ver la tranlasción se usa el comando:
$ snmptranslate -Tp
Y listo, ya hara un translate.
Como algo adicional, hay un aplicativo que se llama qmib, se instala con:
$ sudo dpkg -i qmib_X.Y.Z_1_amd64.ubuntu.deb
Es muy bueno.
lunes, 27 de octubre de 2014
Configuración básica de IP estatica y DHCP de eth0
Es algo, que quisiera tener a la mano :).
El archivo se encuentra en /etc/network/interfaces
DHCP para eth0
El archivo se encuentra en /etc/network/interfaces
DHCP para eth0
# The primary network interfaceauto eth0iface eth0 inet dhc
Estatica para eth0
auto eth0 iface eth0 inet static address 192.0.2.7 netmask 255.255.255.0 gateway 192.0.2.254
Para solicitar ip se hace con el siguiente comando: dhclient eth0
domingo, 19 de octubre de 2014
Instalación Cisco IOU
Alguna vez no le ha pasado, que cuando comienzan a usar cosas más avanzadas, ya no sirve el cisco packet tracert. Normalmente nos mudamos al GNS3.
La desventaja de usar GNS3 es que es limitado para el uso de Switches. Por ello, hay una herramienta que se llama Cisco IOU, el cual esta montado sobre UNIX en un Debian. Y os enseñaré como instalarlo.
Programas que vamos a necesitar:
La desventaja de usar GNS3 es que es limitado para el uso de Switches. Por ello, hay una herramienta que se llama Cisco IOU, el cual esta montado sobre UNIX en un Debian. Y os enseñaré como instalarlo.
Programas que vamos a necesitar:
- VmWare Workstation
- Putty
- Hay que descargar el software IOU. El cual les voy a dejar el enlace en mi dropbox. Encontrarlo es un poco complicado, especialmente porque no es un software legal. Yo lo encontré en una pagina de torrents. Sino descarguen el enlace desde aquí.
- Luego cuando lo extraigan hay que abrir este archivo.
- Luego que se abra el Vmware, hay que editar los Interfaces de Red. Y se hace abriendo Edit>Virtual Network Editor
- Luego a prender la Virtual Machine, y aparecerá lo siguiente:
user: root
pass: flyxj.cn
5. luego los pasos que hay que hacer, son los que dicen en la imagen. Primero ingresamos en la carpeta LAB, con el comando cd LAB.
Luego con el comando show nos mostrará la topología por default que hay en el software.
6. Y ahora, a seguir los pasos:
- Ingresamos el comando ROUTE para iniciar todos los routers
- Ingresamos el comando SWITCH para iniciar los switches
- Despues de los dos comandos, ingresamos el comando BR para iniciar el local net
7. Luego ejecutamos el comando show nuevamente, para ver como quedo nuestra topología.
8. Bonito no? y ahora como entramos a los Routers y Switches? Pues no desesperarse, A los Routers y Switches se ingresa por telnet al IP que tiene el vmware, el cual normalmente es 192.168.80.160. Pero si es que lo quieren comprobar, ejecuten el comando ifconfig. Si les gana la pantalla, y aparece muy rápido y que no pueden ni verlo, ejecuten el comando ifconfig | more.
9. Ahora a abrir nuestro putty para nuestra conexión Telnet. Como para hacerlos entender es así.
- Para entrar al Router 1 tenemos que ingresar el puerto 2001
- Para entrar al Router 2 tenemos que ingresar el puerto 2002 y asi sucesivamente.
- Para el Switch 10 es el puerto 2010.
10. Hay que presionar algunos Enters, hasta que entre. Y gualaaa!
Gracias :)!
viernes, 17 de octubre de 2014
Convertir PDF a Imagen usando terminal Linux
Algo muy interesante, es la herramienta convert que esta instalado en Debian. El cual convierte de pdf a una imagen, indicandole que calidad quieres o la densidad de pixeles de la imagen.
El comando es el siguiente:
convert -quality 100 -density 200 Diagrama\ SNPOWER-ahora.pdf[2] imagen6.jpg
El SNPOWER-ahora.pdf[2] signifca que va a tomar la pagina 3, ya que el contador comienza con 0. y lo convertida en la imagen jpg imagen6.jpg
Y listo.
PD: no subir mucha la densidad ya que consumira muchos recursos
El comando es el siguiente:
convert -quality 100 -density 200 Diagrama\ SNPOWER-ahora.pdf[2] imagen6.jpg
El SNPOWER-ahora.pdf[2] signifca que va a tomar la pagina 3, ya que el contador comienza con 0. y lo convertida en la imagen jpg imagen6.jpg
Y listo.
PD: no subir mucha la densidad ya que consumira muchos recursos
jueves, 16 de octubre de 2014
Configurar Telefonos en Packet Tracert
Como yo no domino mucho de este tema, intenté configurando primero unos telefonitos en el packet tracert.
La topología es la siguiente.
La topología es la siguiente.
- Hay que prender los telefonos IP en el Packet Tracert, eso se hace conectando el cable en el hueco del telefono IP.
- Luego hay que configurar el switch para que entienda la vlan de Voz.
- Los puertos del Switch lo ponemos como acceso, y le decimos que es de Voz. Como entenderán la de defecto es la Vlan 1 asi que la configuracion quedaría como:
3. Ahora llego el momento mas interesante, la configuración del Router.
- He configurado un dhcp básico en el router. El comando option 150, significa segun Cisco, que provee una dirección IP de una lista de Servidores de TFTP y que es necesario que ese dato lo tenga el telefono VoIP.
- Luego hay que decirle al router que ejecute el servicio de Telefonía, junto con unos directorios que el usara.
- Luego, configurar los telefonos.
Y listo, ya tendran sus telefonos funcionando y llamando.
miércoles, 8 de octubre de 2014
DHCP-Teoría y Configuración
DHCP: Dinamic Host Configuration Protocol
Como seguramente ya saben, DHCP es el protocolo que se encarga en dar IP, más que dar, es un proceso de alquiler que tiene un tiempo determinado.
4. Y por ultimo el Servidor DHCP manda un DHCPACK, que en realidad es el ultimo datagrama para hacer efectivo esta entrega de IP.
Router(config)#service dhcp // Con esto se activa el Servicio
Router(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.10
//Le damos un rango de IPS a excluir del direccionamiento, Para Switch, Server y otros
Router(config)#ip dhcp pool LAN
// Le damos un nombre al Pool de direccionamiento
Router(DHCP-config)#network 192.168.1.0 255.255.255.0
// Le indicamos con que red va a trabajar
Router(DHCP-config)#default-router 192.168.1.1
// Señalamos la IP que va a ser Gateway
Router(DHCP-config)#dns-server 192.168.1.3
// Indicamos los servidores DNS que se van a dar
Comandos opcionales:
Router(DHCP-config)#lease 1
// El tiempo de alquiler, el cual esta en días
Router(DHCP-config)#netbios-name-server 192.168.1.5
//Estas IPS suelen ponerse del rango de IPS excluidas para que no haya conflictos
Router(DHCP-config)#domain-name alex.com
// Les damos un nombre de dominio
Comandos de Verificación
Router#show ip dhcp conflict
//Para Mostrar la Dirección IP del conflicto
Router#show ip dhcp binding
//Para Mostrar la Dirección fijada al cliente del DHCP
Router#show ip dhcp server statistics
//Para Mostrar la Dirección IP estatica del Server DHCP
listo!
Como seguramente ya saben, DHCP es el protocolo que se encarga en dar IP, más que dar, es un proceso de alquiler que tiene un tiempo determinado.
- Cuando el Host recién se conecta, el Host no tiene nigun IP como se supone. Entonces lanza un paquete de tipo broadcast llamado DHCP Discover, el cual tiene las siguientes características.
- IP origen: 0.0.0.0
- IP destino: 255.255.255.255
- Pto. Origen: 68 - UDP
- Pto. Destino: 67 - UDP
- IP origen: 192.168.1.1 (IP del Servidor DHCP)
- IP destino: 255.255.255.0
- Puerto Origen: 67 - UDP
- Puerto Destino: 68 - UDP
- Opciones de configuración: El IP, mascara, gateway, dns todo eso para el host.
4. Y por ultimo el Servidor DHCP manda un DHCPACK, que en realidad es el ultimo datagrama para hacer efectivo esta entrega de IP.
Configuración de DHCP:
Router(config)#service dhcp // Con esto se activa el Servicio
Router(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.10
//Le damos un rango de IPS a excluir del direccionamiento, Para Switch, Server y otros
Router(config)#ip dhcp pool LAN
// Le damos un nombre al Pool de direccionamiento
Router(DHCP-config)#network 192.168.1.0 255.255.255.0
// Le indicamos con que red va a trabajar
Router(DHCP-config)#default-router 192.168.1.1
// Señalamos la IP que va a ser Gateway
Router(DHCP-config)#dns-server 192.168.1.3
// Indicamos los servidores DNS que se van a dar
Comandos opcionales:
Router(DHCP-config)#lease 1
// El tiempo de alquiler, el cual esta en días
Router(DHCP-config)#netbios-name-server 192.168.1.5
//Estas IPS suelen ponerse del rango de IPS excluidas para que no haya conflictos
Router(DHCP-config)#domain-name alex.com
// Les damos un nombre de dominio
Comandos de Verificación
Router#show ip dhcp conflict
//Para Mostrar la Dirección IP del conflicto
Router#show ip dhcp binding
//Para Mostrar la Dirección fijada al cliente del DHCP
Router#show ip dhcp server statistics
//Para Mostrar la Dirección IP estatica del Server DHCP
listo!
Instalar VPCS en Debian-Linux
Como encontré un problema, sobre como ejecutar VPCS en Linux para así poder tener hosts en GNS3.
No es complicado.
No es complicado.
- Descargar el .zip desde este link vpcs.
- Luego ponlo en el lugar que quieras, igual funcionará. Despues de extraerlo hay que darle permisos para que se pueda ejecutar. Usamos el comando chmod 775 en los archivos de la carpeta.
- Luego, simplemente entramos en la carpeta y ejecutamos el comando ./vpcs64
Y listo.!
lunes, 6 de octubre de 2014
Funciones PHP Interesantes
Esta función convierte la mascara en CIDR
function mask2cidr($mask){
$long = ip2long($mask);
$base = ip2long('255.255.255.255');
return 32-log(($long ^ $base)+1,2);
}
Esta función convierte CIDR en mascara
function cidr2mask($n) {
$netmask = str_split(str_pad(str_pad('', $n, '1'), 32, '0'), 8);
foreach ($netmask as &$element) $element = bindec($element);
return join('.', $netmask);
}
sábado, 4 de octubre de 2014
HSRP-Teoría
HSRP es un protocolo de redundancia de propiedad de Cisco. El cual trabaja simulando un Router Virtual en una LAN. El cual para compartir su dirección IP y dirección MAC, los dos o más router que pertenecen al grupo de HSRP pueden actuar como un virtual Router.
Tener en cuenta que funciona así:
- La computadora va a tener como Gateway el IP del Router Virtual. Entonces cuando las tramas van a ser enviadas al default gateway, la computadora use el ARP para resolver la MAC asociada con la dirección IP del Gateway (que sería el IP del Router Virtual).
- El ARP resuelve la dirección MAC del Router Virtual. Con dicha información, las tramas pueden ser enviadas.
Funcionamiento del HSRP
HSRP posee el mecanismo de determinar cual router debe tomar el control del Rol Activo (Active Role) para que envíe el tráfico y también determina cuando ese Rol Activo debe ser tomando por el Router de Reserva (Standby Router).
HSRP usa Mensajes de saludo (Hello Messages) para así saber cuando el Router Activo (Forwarding Router) está funcionando. El Forwarding Router es el que envía los Hellos Messages, si el Standby Router no recibe los Hellos Messages por un tiempo determinado, el Standby Router se convertirá en Forwarding Router.
Entonces para que se pueda enviar los Hells Messages se necesita que haiga una conexión de capa 2 para que los paquetes Hellos puedan intercambiarse.
Roles de HSRP
HSRP presenta 4 roles: Virtual Router, Active Router, Standby Router y Other Routers.
- Virtual Router
- Es el Router Virtual el cual tiene una dirección IP y dirección MAC virtuales (valga la redundancia) los cuales son usados por el Active Router para enviar los paquetes.
- El Active Router es el que se encarga de enviar los paquetes usando la dirección IP y MAC virtual.
- Escucha los periódicos Hello Messages. Si el Active Router falla, el Standby Router asume el rol de Active Router.
- Puede haber más de dos routers en un grupo HSRP, pero sólo un Active Router y un Standby Router. Los demás Router se llaman Other Routers
Existen 5 estados en el HSRP: Initial, Listen, Speak, Standby y Active
- Initial
- Es el estado de inicio. Este estado indica que HSRP aún no corre.
- Es el estado de los Other Routers, los cuales estan en escucha de los Hello Messages. Los cuales no som ni Active Router y ni Standby Router.
- El router envía Hello Messages periódicos y participa activamente en la elección del Active y Standby Router.
- Es el Router candidato de volverse Active Router, el cual monitorea los Hello Messages del Active Router, y si después de cierto tiempo no llega pasa a Active Router.
- Es el Router el cual envía paquetes con la MAC address del Virtual Router. Este Router envía Hello Messages hacía el Standby Router.
Por ahora eso es todo :).
jueves, 18 de septiembre de 2014
Comandos Basicos de MySQL
Crear Tabla
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
Tipo Bytes Valor Mínimo Valor Máximo
(Con signo/Sin signo) (Con signo/Sin signo)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615
Insertar datos
INSERT INTO animals (name) VALUES ('dog'),('cat'),('penguin'),
('lax'),('whale'),('ostrich');
Para ver la estructura de una Tabla
describe "Nombre de la Tabla";
Para alterar el tipo de datos de una Columna
ALTER TABLE <NOMBRE DE TABLA> MODIFY <NOMBRE DE COLUMNA> <TIPO DE DATO>;
Borrar Fila de una Tabla con una condición
delete from Redes where id='1';
Cambiar un dato de un campo
update Redes set ip_red='10.0.32.0' where id='1';
Agregar Columna
alter table Redes add (IP varchar(15));
Borrar Columna
alter table Redes drop column c;
Cambiar Valor de campo
update Redes set IP='10.0.32.1' where id='1';
Cambiar el Nombre de una Columna
alter table Entradas change opciones comentario varchar(30);
opciones=antiguo nombre
comentario= nombre al que quiero cambiar
Insertar Valores
insert into Redes (suc_id,ip_red,mask_red,gateway,dns_ip_1,dns_ip_2,rango_libre_ini,rango_libre_fin,default_lease_time,
max_lease_time,prefijo) values ('Santa Teresa','10.0.32.12','255.255.255.0','10.0.32.1','10.0.32.221','10.100.0.77',
'10.0.32.100','10.0.32.120','86400','172800','P17');
RIGHT JOIN
mysql> select Sucursales.nombre from Redes right join Sucursales on Sucursales.id=Redes.suc_id;
RIGHT LEFT
mysql> select Redes.ip_red from Redes LEFT join Sucursales on Sucursales.id=Redes.suc_id;
Unir Tablas basado en una condición
mysql> select * from Sucursales as a left outer join Redes as o on a.id=o.suc_id;
Para poder sacar los NULLS
mysql> select * from Sucursales as a left outer join Redes as o on a.id=o.suc_id where o.ip_red is not null;
Para insertat el .txt
mysql> load data local infile '/tmp/DatosMySQL/NombreHostMySQL.txt' into table Host lines terminated by '\n' (nombre);
Tabla Sucursales
mysql> describe Sucursales;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| nombre | varchar(20) | YES | | NULL | |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql> create table Sucursales (id int not null auto_increment primary key, nombre varchar (20));
Tabla Redes
mysql> create table Redes (id int not null auto_increment primary key, suc_id varchar(15), ip_red varchar(15),
mask_red varchar(15), gateway varchar(15), dns_ip_1 varchar(15), dns_ip_2 varchar(15), rango_libre_ini varchar(15),
rango_libre_fin varchar(15), default_lease_time varchar(15), max_lease_time varchar(15), prefijo varchar(10));
Tabla Host
mysql> create table Host (id int not null auto_increment primary key, nombre varchar(20), red_id varchar(20));
Query OK, 0 rows affected (0.00 sec)
select * from Host;
+----+-----------+--------+
| id | nombre | red_id |
+----+-----------+--------+
| 1 | lap0204_w | 1 |
| 2 | UPS0058 | 1 |
| 3 | SEN0022 | 2 |
| 4 | CPU2420 | 1 |
+----+-----------+--------+
Tabla NIC
mysql> create table NIC (id int not null auto_increment primary key, host_id varchar(15), mac varchar(20));
Query OK, 0 rows affected (0.00 sec)
Tabla Entradas
mysql> create table Entradas (id int not null auto_increment primary key, red_id int, nic_id int, ip varchar(15),
opciones varchar(30));
Query OK, 0 rows affected (0.01 sec)
jueves, 11 de septiembre de 2014
Comandos Ingresados en el Terminal Linux.
History se encarga de mostrar los comandos que han sido ingresados en Linux.
Para poder almacenarlo en un archivo de texto usamos.
history>log.tx
Luego si se desea ordenar el history, empleamos grep.
history | grep cd
Upgrade OpenSSL
Actualizar la version de OpenSSL. (Funciono con un RedHat 6)
1.- Bajarse el .tar último de la pagina https://www.openssl.org/source/
2.- Con Winscp colocar el archivo en la direccion /usr/src
Si aun así no se actualiza la version. Se hace lo siguiente:
1.- Bajarse el .tar último de la pagina https://www.openssl.org/source/
2.- Con Winscp colocar el archivo en la direccion /usr/src
$ cd /usr/src
$ tar -zxf openssl-1.0.1g.tar.gz
$ cd openssl-1.0.1g
$ ./config
$ make
$ make test
$ make install
$ openssl version
Si aun así no se actualiza la version. Se hace lo siguiente:
$ mv /usr/bin/openssl /root/
$ ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
openssl version
OpenSSL 1.0.1g 7 Apr 2014
Suscribirse a:
Entradas (Atom)