netcat

Netcat é uma das ferramentas mais legais que existe no mundo *nix, se bem usado pode salvar sua vida quando não se tem outras ferramentas de rede disponíveis. É uma versão mais sofisticada do telnet. Com ele você pode transferir arquivos, testar portas ( como o nmap ), criar um web server etc.

Truques básicos:
Conectando na porta 80 do localhost (tente com outras URLs e servidores):

$ nc localhost 80

Servidor socket na porta 5000:

nc -l 5000

Se combinados os dois exemplos anteriores vão se comportar como um Chat 🙂
Um webserver muito útil para testar portas ou até mesmo subir uma página de manutenção em um servidor.

$ while true; do; sudo nc -l 80 < index.html; done

O Loop while permite renderizar a página para mais de uma conexão, é possível servir formatos binários também.

Mais um exemplo legal, um backdoor shell 🙂 Precisa acessar um computador remoto ? Sem problemas:

Abrindo a porta 2222 com o bash rodando:

$ ncat -v -l 2222 -e /bin/bash

Para acessar sua backdor basta:

$ ncat localhost 2222

Lembrando que pode ser usado em servidores remotos, basta trocar o localhost pelo IP ou dominio.

É possível usar o netcat como portscanner, por exemplo para escanear da porta 1 até a 100:

 

$ nc -v -z localhost 1-100

Transferência de arquivos também não é um problema para netcat:

Para disponibilizar um arquivo na porta 5000:

$ nc -l 5000 < /etc/passwd

Para copiar o arquivo:

 $ nc localhost 5000 > passwd

Clonar um HD/SSD de um servidor direto no de outro também é possível:

No servidor original:

$ dd if=/dev/vda | nc -l 5000

No servidor que vai receber a cópia:

$ nc -n localhost 5000 | dd of=/dev/vda

Sempre lembrando que os comandos valem para servidores e máquinas remotas, é só trocar o localhost dos exemplos pelo domínio.

Backup remoto também não é um limitador para o netcat:

No servidor

$ nc -l 5000 | tar -xv

No cliente:

$ tar -cv /path/ | nc localhost 5000

fonte http://aarvik.dk/netcat-basics-and-a-few-smart-examples/

possible SYN flooding ?

Se aparece essa mensagem no dmesg do seu servidor, é possível que ele esteja sofrendo um ataque de SYN Flood. Nesse tipo de ataque, as máquinas atacantes abrem conexões, do tipo SYN e deixam elas abertas, então abrem novas conexões …. O ciclo se repete até que a tabela TCP do server esgotar sua memória,  então visitantes legitmos  vão experimentar lentidão no site.

Uma regra de firewall que ajuda no problema é essa aqui:

iptables -N syn_flood
iptables -A INPUT -p tcp --syn -j syn_flood
iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A syn_flood -j DROP

Você pode limitar o número de conexões por segundo em –limit 1/s

Como fazer o git ignorar as permissões dos arquivos ?

Quando se usa o git em diferentes sistemas operacionais, com diferentes sistemas de arquivo é bastante comum ao fazer git pull receber uma série de mudanças de permissões, principalmente entre máquinas Windows e Unix. Para fazer o git ignorar essas mudanças em um repositório use:

 git config core.filemode false 

Para ignorar em todos os seus projetos:

 git config --global core.filemode false 

Acelerando o Entropy

Não é novidade pra ninguém, mas estou usando Sabayon em todas as minhas máquinas já faz um tempo 🙂  Pra quem não conhece, Sabayon é uma distro italiana derivada do gentoo, diferente do pai no sabayon os pacotes são entregues já compilados, mas o emerge tá lá presente para customizar e otimizar qualquer pacote, a distro vem pronta e com codecs, plugins e toda sorte de bibliotecas livres ou não, já vem com as baterias inclusas.

Por ser uma distro rolling release o Sabayon tem atualizações constantes, e assim como o Fedora os caras adotaram um esquema de deltas entre os pacotes, reduzindo o tamanho dos dados transmitidos durante os upgrades. Mas ainda assim tem vários pontos onde o gerenciamento de pacotes pode ser acelerado.

Usando os mirrors mais rápidos

Use o comando abaixo para ordenar os mirrors por ordem de velocidade:

equo repo mirrorsort sabayon-weekly

 Habilite o multifetch

O entropy esta preparado para fazer downloads paralelos, por padrão, ele faz 3 … mas se sua conexão é boa, pode aumentar pra 10 ou mais 🙂

Abra /etc/entropy/client.conf e altere:

multifetch = 10

Use deltas de pacotes

A cereja do bolo é a tecnologia de deltas, um delta é um diff entre dois arquivos binários, o sabayon oferece upgrades por delta de pacotes, oque reduz muito o tamanho dos updates, primeiro instale o bsdiff:

equo install bsdiff

E habilite packages-delta em /etc/entropy/client.conf:

packages-delta = enable

fonte

 

Let it snow, Let it snow, Let it snow …

Entrando no clima de natal, faça seu console nevar com esse código:


#!/bin/bash

LINES=$(tput lines)
COLUMNS=$(tput cols)

declare -A snowflakes
declare -A lastflakes

clear

function move_flake() {
i=”$1″

if [ “${snowflakes[$i]}” = “” ] || [ “${snowflakes[$i]}” = “$LINES” ]; then
snowflakes[$i]=0
else
if [ “${lastflakes[$i]}” != “” ]; then
printf “\033[%s;%sH \033[0;0H ” ${lastflakes[$i]} $i
fi
fi

printf “\033[%s;%sH*\033[0;0H” ${snowflakes[$i]} $i

lastflakes[$i]=${snowflakes[$i]}
snowflakes[$i]=$((${snowflakes[$i]}+1))
}

while :
do
i=$(($RANDOM % $COLUMNS))

move_flake $i

for x in “${!lastflakes[@]}”
do
move_flake “$x”
done

sleep 0.1
done

fonte: sontek