MacBookPro 4,1 con Ubuntu 13.04 (Raring Ringtail) 64-bit

sudo dmidecode -s system-product-name

En mi caso: MacBookPro 4,1

sudo add-apt-repository ppa:mactel-support/ppa
sudo apt-get update && sudo apt-get upgrade
reboot

Nvidia Drivers

System Settings –> Software and Updates –> Additional Drivers

Seleccionar el que diga: Propietary Stable.

Ubuntu Intel-based Macs

sudo apt-get install pommed

Temperaturas e indicadores

Para monitorear la temperatura de la CPU y otras temperaturas del sistema, las velocidades de los ventiladores y los voltajes:

sudo apt-get install lm-sensor

Seguidamente aceptar todas las preguntas de sensors-detect:

sudo sensors-detect

Hardware temperature monitor:

sudo apt-get install psensor

System Load Indicator:

sudo apt-get install indicator-multiload

System Tools –> Preferences –> Startup Applications –> Add

indicator-multiload

Control de ventiladores

sudo apt-get install macfanctld

sudo service macfanctld stop

sudo vi /etc/macfanctl.conf

En mi caso, ajustar mis ventiladores con:

fan_min: 4000

Google Chrome

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

sudo apt-get update
sudo apt-get install google-chrome-stable

Restricted extras

sudo apt-get install ubuntu-restricted-extras

Medibuntu

sudo apt-get install mplayer vlc
sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update
sudo apt-get --yes install app-install-data-medibuntu apport-hooks-medibuntu
sudo apt-get install libdvdcss2
sudo apt-get --force-yes install w64codecs
sudo /usr/share/doc/libdvdread4/./install-css.sh

FileZilla, the free FTP solution

sudo apt-get install filezilla

Password Manager

sudo apt-get install keepassx

Oracle Java8

sudo apt-get purge openjdk*
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Probar que el Applet carga bien desde:

http://www.java.com/en/download/testjava.jsp

Aptana Studio 3

Primero bajar Aptana Studio desde:

http://www.aptana.com/products/studio3/download

Seguidamente descomprimir la versión bajada de Aptana Studio:

sudo unzip Aptana_Studio_3_Setup_Linux_x86_64_3.4.1.zip -d /opt

Por ultimo crear un “menu shortcut”

sudo gedit /usr/share/applications/AptanaStudio3.desktop

Con el siguiente contenido:

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Aptana Studio 3
GenericName=Integrated Development Environment
Comment=Aptana Strudio 3 Integrated Development Environment
Exec=/opt/Aptana_Studio_3/AptanaStudio3 %F
TryExec=/opt/Aptana_Studio_3/AptanaStudio3
Icon=/opt/Aptana_Studio_3/icon.xpm
StartupNotify=true
StartupWMClass="Aptana Studio 3"
Terminal=false
Type=Application
MimeType=text/xml;application/xhtml+xml;application/x-javascript;application/x-php;application/x-java;text/x-javascript;text/html;text/plain
Categories=GNOME;Development;IDE;

Wireshark

sudo apt-get install wireshark
sudo groupadd wireshark

sudo usermod -a -G wireshark josoroma
sudo chgrp wireshark /usr/bin/dumpcap

sudo chmod 750 /usr/bin/dumpcap

sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

sudo getcap /usr/bin/dumpcapsudo

Hardinfo

apt-get install hardinfo

Por favor consultar: https://help.ubuntu.com/community/HardInfo

Esenciales

sudo apt-get install vim traceroute mtr nmap zenmap vnstat nethogs iftop iptraf arp-scan fping httping tcptraceroute hping3 ngrep tcpdump tcptrace dsniff etherape aircrack-ng ascii

Eliminar los puntos de la ventana de bienvenida en LightDM

sudo xhost +SI:localuser:lightdm

sudo su lightdm -s /bin/bash

gsettings set com.canonical.unity-greeter draw-grid false

Remover Unity Lenses

sudo apt-get remove unity-lens-shopping

Instalar y activar GUFW

sudo apt-get install gufw

Retornar al “scroll bar” clásico

gsettings set com.canonical.desktop.interface scrollbar-mode normal

Desplegar nombre de usuario en el Panel superior

gsettings set com.canonical.indicator.session show-real-name-on-panel true

Skype voice-over-IP service

sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"

sudo apt-get update

sudo apt-get install skype && sudo apt-get -f install

Gimp

“The GNU Image Manipulation Program”

sudo add-apt-repository ppa:noobslab/ppa-gimp

sudo apt-get update

sudo apt-get install gimp

sudo apt-get install gimp-plugin-registry

Linux Networking: Lo que sucede en la Red

“Siempre hay que guardar los registros para que otros también puedan interpretar los reportes tal y como los vimos.”

Probando la conectividad con ping

No es un secreto que ping es la herramienta número uno para comprobar la conectividad.

ping -c3 scanme.nmap.org

Se recomienda no bloquear los siguientes mensajes:

  • echo-request
  • echo-reply
  • time-exceeded
  • destination-unreachable

Algunos administradores de sistemas bloquean los mensajes de ping en sus firewalls, y este es un error y un problema porque la mayoría de las funciones de las redes ocupan que al menos estos 4 mensajes operen de manera adecuada.

Perfile y compare la red con FPing y Nmap

Primero descubramos todos los hosts de la red, los que conforman la subred:

arp-scan -I eth0 192.168.0.0/24 10.0.0.0/8

nmap -sP 192.168.0.0/24 10.0.0.0/8

Seguidamente podemos establecer la línea base de rendimiento de la red mediante ping, lo cual es útil para tener con que comparar al momento de tratar de encontrar soluciones a problemas de rendimiento. Muchas de estas características se pueden automatizar con ping, con un script que reporte el rendimiento de toda una subred.

Por favor consulte:

fping -c1 -sdg 192.168.0.0/24 2>&1 | egrep -v "ICMP|xmt"

Encontrando IPs duplicadas

arping -c5 -D 192.168.0.1

arping -c5 -D 192.168.0.15

arping también es esencial para ver si un host se encuentra arriba cuando ping falla, pero usar arping no va a funcionar cuando ping se encuentre bloqueado.

Pruebas de latencia y rendimiento HTTP

httping -c5 -g scanme.nmap.org

httping -c5 -Gg scanme.nmap.org

httping -c5 -h scanme.nmap.org -p 80

httping -c5 -Gsbrg scanme.nmap.org

Escarbando y localizando los problemas de red

Si existe un problema tratando de alcanzar algún host o equipo en la red y además ping lo confirma, hay que imaginar que deben de haber varios routers entre nosotros y el problema, por esta razón es que es necesario escarbar un poco más, gracias a la bondad esto se puede hacer con:

traceroute scanme.nmap.org

traceroute -n scanme.nmap.org

traceroute -q5 -w1 scanme.nmap.org

Traceroute significa seguir la ruta de los paquetes desde una IP de la red en su camino hacia un host determinado. Utiliza el tiempo de vida (TTL) del protocolo IP e intenta provocar una respuesta ICMP TIME_EXCEEDED para cada puerta de enlace a lo largo de la ruta necesaria para llegar al host destino.

Si por alguna razón traceroute no funciona sobre la Internet, ya que algunos routers pueden estar programados para ignorar datagramas UDP. Por esta razón, si vemos muchos “timeouts”, podemons intentar con la opción -I, le dice a traceroute que envíe peticiones ICMP ECHO en lugar de peticiones TCP SYN.

También se puede usar tcptraceroute, el cual envía paquetes TCP SYN en lugar de paquetes UDP o paquetes ICMP ECHO. Estos son más propensos a pasar a través de firewalls, y van a ser menos ignorados por routers. Una vez que el host responde, tcptraceroute envía TCP RST para cerrar la conexión, por lo que el “TCP three-way handshake” nunca es completado. Este es igual a las opciones (-sS) de exploración medio-abierta utilizada por Nmap.

Como alternativa, también se puede usar tcptraceroute:

tcptraceroute scanme.nmap.org

Cuando se inicia mtr, investiga la conexión de red entre el host donde se corre mtr y el host destino HOSTNAME. Lo que hace es enviar paquetes con un TTL bajo, entonces continúa enviando paquetes con un TTL bajo, considerando el tiempo de respuesta de los routers intermedios. Esto le permite a mtr desplegar el porcentaje de respuesta y los tiempos de respuesta de la ruta vía internet hacia nombre el host destino HOSTNAME. Por lo tanto, un aumento repentino en la pérdida de paquetes o en el tiempo de respuesta, a menudo es una indicación de problemas de sobrecarga en un enlace.

mtr scanme.nmap.org

mtr -n scanme.nmap.org

mtr -c60 scanme.nmap.org

Debido a que mtr puede generar una gran cantidad de tráfico de red, se recomienda no dejarlo corriendo de manera indefinida.

Entonces si un router se presenta caido de manera constante, o si mtr consistentemente muestra más de un 5 por ciento en la pérdida de paquetes o largos tiempos de tránsito en el mismo router, entonces es seguro decir que ese router en particular tiene un problema. Si se trata de un router que podemos controlar, entonces hay buenos motivos para intentar arreglarlo. Si no es así, entonces podemos usar dig o whois para averiguar a quién pertenece, incluso para avisarles sobre el problema por si no se han dado cuenta.

Linux Networking: Pruebas y seguimiento de cableado

“No importa cuántas certificaciones puedas tener, no importa qué tan avanzado seas en ingeniería de alto nivel, nunca te vas a escapar de hacer cableado para Redes.”

Hay todo tipo de herramientas interesantes para realizar pruebas con el cableado, usando pequeños aparatos de bajo costo:

Recursos y herramientas básicas para cableado:

  • Cable para LAN, se recomienda Cat5e.
  • Conectores RG45.
  • Martilla cables (Punch Down Tool, 110 Blade).
  • Patrón B cuando se martilla-perfora el cable.
  • Tijeras de electricista.
  • Crimpadora (Crimper).
  • Para probar los cables (Patch Cable Tester).

Posición de cables en “Patch Cable”:

  • Naranja/Blanco, Naranja
  • Verde/Blanco, Azul
  • Azul/Blanco, Verde
  • Café/Blanco, Café
T568B

T568B

Linux Networking: “three-way handshake”

Para establecer una conexión, TCP utiliza lo que se conoce como negociación en tres pasos (three-way handshake). Antes de que un cliente intente conectar con un servidor, se necesita que el servidor este escuchando por conexiones en un puerto que se encuentre abierto para ello, esto se llama una apertura pasiva (passive open), se debe verificar que el servidor-destino ofrezca el servicio activo y esté aceptando peticiones en el número de puerto que el cliente intenta usar para la sesión. Una vez que se establece la apertura pasiva, un cliente puede iniciar una apertura activa (active open).

Al establecer una negociación en tres pasos ocurre lo siguiente:

  • SYN: La apertura activa es iniciada por el cliente que envía un SYN al servidor. El cliente establece el número de secuencia del segmento a un valor al azar A.
  • SYN-ACK: En respuesta, el servidor responde con un SYN-ACK. El número de acuse de recibo se fija a uno más que el número de secuencia recibido, por ejemplo, A+1 y el número de secuencia que el servidor elige para el paquete es otro número aleatorio, por ejemplo, puede ser B.
    En caso de que el servidor no se encuentre escuchando en ese puerto, se puede regresar al cliente un paquete de respuesta con el bit RST activado, lo que significa el rechazo del intento de conexión.
  • ACK: Por último, el cliente envía un ACK de regreso al servidor. El número de secuencia se fija al número de acuse de recibo A+1 y el número de acuse de recibo se fija a uno más que el número de secuencia recibido es decir, B+1.

Establecimiento de conexión

Alcanzada esta fase, tanto el cliente como el servidor reconocen la conexión.  Se puede decir que:

  • Las fases 1, 2 establecen el parámetro de conexión (número de secuencia) para una dirección y se reconoce el acuse de recibo.
  • Las fases 2, 3 establecen el parámetro de conexión (número de secuencia) para la otra dirección y se reconoce el acuse de recibo. Con esto es que se establece una comunicación conocida como “full-duplex”.
sudo wireshark&

De la misma manera se puede usar (es mejor crear un grupo y darle sus permisos necesarios):

gksu wireshark

Seguidamente seleccionar la interface, empezar a capturar y luego ingresar el siguiente filtro:

(ip.dst == IP_EXTERNA && ip.src == IP_LOCAL) || (ip.dst == IP_LOCAL && ip.src == IP_EXTERNA) && tcp.port == 80

Usar tcpdump es un poco más divertido:

tcpdump -i eth1 -nN -c 15 ‘(tcp) and (((src host IP_LOCAL) and (dst host IP_EXTERNA)) or ((src host IP_EXTERNA) and (dst host IP_LOCAL))) and (port 80)’