@Bucio: Niño bien http://t.co/We55zfT1qN

Archivos de ‘Programación‘

 
 

Escaneo Básico de puertos utilizando FLAGS

Seguido del documento el cual Alejandro Hernández  (a.k.a s0n 0f g0d nitr0us) me  compartió referente a  ami duda, sobre cómo saber, si un puerto esta encendido o apagado;

“ESCANEO BÁSICO DE PUERTOS UTILIZANDO FLAGS TCP”
Autor: nitr0us 

Les recomiendo una leída para desempolvar algunos conocimientos básicos, después de la leída opte por hping una herramienta que se me hizo muy completa, nos permite crear y analizar paquetes TCP/IP y también nos permite crear unos ataques.

hping is a command-line oriented TCP/IP packet assembler/analyzer. The interface is inspired to the ping(8) unix command, but hping isn’t only able to send ICMP echo requests. It supports TCP, UDP, ICMP and RAW-IP protocols, has a traceroute mode, the ability to send files between a covered channel, and many other features.
http://www.hping.org/

Con la asesoría de nitr0us, pude crear un pequeño script, el cual simplemente verifica si esta abierto o cerrado mediante un IF  usando un regex de comparación … :

 

#!/bin/bash
pingche=$(hping3 127.0.0.1 -p 1337 -S -c 1)
if [[ $pingche =~ .?SA.? ]] ; then
echo Puerto en linea
echo que siga la fiesta
else
echo "No lo esta"
fi

flags=SA → SYN/ACK → Abierto
flags=RA → RST/ACK → Cerrado

Negociación en tres pasos o Three-way handshake

Negociación en tres pasos o Three-way handshake

Mi otra opción era usar nmap, pero me gusto más hping.
Saludos.

Ext Designer

Es una aplicación de escritorio, ayuda a crear interfaces más rápido que nunca en un formato fácil de usar, el medio ambiente de arrastrar y soltar, esta disponible para mac, windows y linux

http://www.sencha.com/products/designer/download.php

En esté vídeo se muestra su uso.

Compilar Java desde la terminal

En la universidad estamos cursando la materia de POO  (Programación Orientada a Objetos), por lo cual veremos Java, el D.R. Pimentel dejo un pequeño script, el cual sería compilado desde la consola/terminal/cmd… uno muy básico que devuelve unos parámetros, lamentablemente yo había reinstalado mi debian y así que no me acordaba que no podía compilar (cómo no uso java y lo odio pero me tiene que gustar o repruebo), no me corrió así que aquí dejo que hice para poder compilarlo desde la terminal.

Instalamos Lo siguiente:

# apt-get install openjdk-6-jdk openjdk-6-jre

Editamos nuestro .bashrc (root o tu usuario yo edite los dos :-) )
El archivo está en /home/tuUSUARIO/.bashrc /

export JAVA_HOME='/usr/lib/jvm/java-6-openjdk'
PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

Después vamos y actualizamos nuestra configuraciones para ver quien nos provee java.

# update-alternatives --config java

Saldrá algo cómo esto:

Hay 5 alternativas que proveen `java'.

  Selección     Alternativa
-----------------------------------------------
          1    /usr/lib/jvm/java-6-sun/jre/bin/java
*         2    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
          3    /usr/bin/gij-4.3
          4    /usr/lib/jvm/java-gcj/jre/bin/java
 +        5    /usr/lib/jvm/java-6-openjdk/jre/bin/java

Tecleamos el digito 5 que es /usr/lib/jvm/java-6-openjdk/jre/bin/java.

y Listo podemos usar Javac para compilar en bytecodes :-). (para leer más sobre Javac click aquí)

Ahora a probarlo con el siguiente script.


//Progama 0
public class parametros {
        public static void main (String argv[])
                {
        for  (int i=0; i < argv.length ;i++)

                System.out.print(argv[i] + " ");

        System.out.print("\n");

        System.exit(0);

                }

        }

Guardamos el código con el nombre de parametros.java (por el nombre que se creo la clase.)
Es hora de usar javac, si todo lo anterior salio bien pues :

> javac parametros.java 
> java parametros hola mundo
 hola mundo 
>

Y Listo a darle en la terminal ;-).. Existen muchas herramientas/IDE etc. cómo eclipse que la instalación después la posteo si es que me da tiempo un saludo

Programación Estructurada C

Portafolio:

Siguiendo con el portafolio virtual, es hora de las instrucciones y ciclos, esto me servirá o no cómo dice el D.r. Pimentel jeje, esté post solo contiene cómo esta estructurado, lo cual quiero recalcar que es para mi uso si alguien quiere dar una aportación es bienvenida.

INSTRUCCIONES:

IF

Nos sirve para tomar decisiones sobre que acciones realizar, esas decisiones pueden depender de datos introducidos por el usuario, esté sería un ejemplo de cómo se estructura el IF:

if ( condición )
{
sentencias por cumplir si es verdadera;
}

IF – ELSE

Cuando la condición sea verdadera esté ejecutara las sentencias, mientras está no sea verdadera entra las sentencias del segundo bloque. La estructura queda de la siguiente forma:

if ( condición )
{
sentencias por cumplir si es verdadera;
}
else /* esté bloque funciona cuando no se cumple la condición */
{
sentencias por cumplir si NO es verdadera;
}

Las condiciones usan operadores de comparación y también una agrupación de operadores los cuales se mezclan con las condiciones para lograr un resultado.

SWITCH-CASE

Una sentencia condicional múltiple que generaliza a la sentencia “if-else”:

switch ( expresión_entero )	{
case expresión_constante_entera : sentencia
break:
case expresión_constante_entera : sentencia
…
default : sentencia
}

CICLOS

MIENTRAS

El ciclo mientras o llamado WHILE, sirve para para ejecutar un código reiteradas veces.

while ( condición de ejecución del ciclo )	{
/*código*/
}

HACER – MIENTRAS

El ciclo hacer mientras. DO WHILE, es un ciclo que solo se ejecuta una vez.

La diferencia con el WHILE es que el DO WHILE siempre se ejecuta al menos una vez #

Do {
/*código*/
}

while ( condición de ejecución del ciclo )

FOR

El ciclo for tiene muchas funciones, la más común y su estructura clásica es de está forma

for {/* inicialización */; /* sentencia condicional */; /* incremento o decremento */}

Inicialización; es la parte donde donde se controla el ciclo, es la primera sentencia que lee el ciclo.
Sentencia Condicional; Después de leer la inicialización, esté ve si la sentencia es validad.
Incremento o decremento; dependiendo de las operadores esté evaluá si será en incremento o decremento.

/* IF-ELSE.C */
/* implementando IF-else */
#include "stdio.h"
#include "stdlib.h"

int main( int argc, char *argv[] )

{
int edad, din, menu;
system("clear");
system("figlet CANTINA");
printf("Que Edad Tiene  \n ");
scanf("%d", &edad);
if ( edad >= 18)

printf("Bienvenido :-)  \n");
printf("Que Desea  tomar \n 1 Michelada \n 2 Pomo \n 3 Solo vine a ver");
printf(" Solo numeros ");
scanf("%d", &menu);
if ( menu == 1 )
printf("El precio de la michelada es de 55 pesos se paga en caja");
if ( menu == 2 )
printf("El precio del pomo  es de 900  pesos se paga en caja");
if ( menu == 3 )
printf(" En la cantina solo hay 4 mesas, menos blabla y puro gluglu a platicar al parque..");

else
{
printf(" no eres bienvenido debes ser mayor de edad \n ");
printf(" \n ");
printf("Pero cuanto dinero traes.. \n");
scanf("%d", &din);
if  ( din > 200 )
printf("Ok te ajusta para tu pomo con tus %d \n ",din);
else
printf("Crees que con tus %d podras estar aquí .. bye \n ",din);
}
exit (0);

}

Programación Estructurada

En la universidad el Dr. Pimentel nos pidio un portafolio virtual, el cual decidí hacer en blog con una categoría la cual al final de la materia de Programación estructurada la mandaré a llamar mediante RSS, cuando sea la entrega de esté. (Lo que escribo es solo fragmentos de lo que es más importante para mi)

Programación Estructurada.

La programación estructurada es un método (un paradigma de programación) de programacion basado sobre el concepto de la unidad y del alcance (la gama de la visión de los datos de una declaración ejecutable del código). Un programa estructurado se compone de unas o más unidades o módulos — escrito por el usuario, o sacado de una librería; cada módulo se compone de uns o más procedimientos, también llamado una función, una rutina, un subprograma, o un método, dependiendo del lenguaje de programación. Es posible que un programa estructural tenga niveles múltiples o alcances, con los procedimientos definidos dentro de otros procedimientos. Cada alcance puede contener las variables que no se pueden considerar en alcances externos.

BYTES

La representación de los tipos de datos..   lo que la computadora leerá será binarios, ejemplo seria el número 127 que su representación es 01111111, ahora un número negativo -128 que sería 10000000 en binario.. (Esto me sirve de referencia.)

Tipos de Datos.

Hay tipos de datos como enteros, short, int, long y long long.. Flotantes, float y el double, Tipo de dato de caracter que es el Char, en la clase el D.r. Pimentel nos hablo sobre el uso de estos, para lograr una buena optimización. Comento sobre una función sizeof() el cual nos ayudará para calcular el tamaño de los tipos de datos

char

  • bytes = 1
  • Máximo = 127 (255 cuando es unsigned)
  • Mínimo = -128 (0 cuando es unsigned)

int

  • bytes = 4
  • Máximo = 2,147,483,647 (4294967295 cuando es unsigned)
  • Mínimo = -2,147,483,648 (0 cuando es unsigned)

float

  • bytes = 4
  • Máximo Exponente = 10^37
  • Mínimo Exponente = 10^-37

long

  • bytes = 4
  • Máximo = 2,147,483,647 (4294967295 cuando es unsigned)
  • Mínimo = -2,147,483,648 (0 cuando es unsigned)

long long

  • bytes = 8
  • Máximo = 9,223,372,036,854,775,807 (18,446,744,073,709,551,616 cuando es unsigned)
  • Mínimo = 9,223,372,036,854,775,808 (0 cuando es unsigned)

short

  • bytes = 2
  • Máximo = 32767 (65,535 cuando es unsigned)
  • Mínimo = -32768 (0 cuando es unsigned)

double

  • bytes = 8
  • Máximo Exponente = 10^308
  • Mínimo Exponente = 10^-308

Variables y Constantes

Una variable, como su nombre lo indica, es un determinado objeto cuyo valor puede cambiar durante el proceso de una tarea específica. Contrario a una variable, una constante es un determinado objeto cuyo valor no puede ser alterado durante el proceso de una tarea específica

Para declarar constantes existe la palabra reservada const, así como la directiva #define. A continuación se muestran ejemplos de declaración de variables y constantes.

Variables Constantes Constantes
int a; const int a = 100; #define a 100
float b; const float b = 100; #define b 100

Notas:

A diferencia de las constantes declaradas con la palabra const los símbolos definidos con #define no ocupan espacio en la memoria del código ejecutable resultante.

El tipo de la variable o constante puede ser cualquiera de los listados en Tipos primitivos, o bien de un tipo definido por el usuario.

[Fuente Variables y Constantes]


Campus Party

Publicidad