(Linux) Miscellaneous

Este arquivo possui algumas configurações e comandos úteis para um administrador de redes linux. Espero que ajude.
abraços J5
================================================================
Para acesso via putty usando o teclado númerico. Serve para corrigir aquelas maluquices que aparecem no vi ou vim quando acessamos uma maquina remotamente e tentamos usar o teclado numérico.

colocar essas “tags” no /etc/vimrc
imap Oq 1
imap Or 2
imap Os 3
imap Ot 4
imap Ou 5
imap Ov 6
imap Ow 7
imap Ox 8
imap Oy 9
imap Op 0
imap On .
imap OQ /
imap OR *
imap Ol +
imap OS -
================================================================
Para utilizar a chave dos repositórios default do fedora, elas estão
no diretório:
/usr/share/doc/fedora-release-9/
Então você executa:
rpm –import /usr/share/doc/fedora-release-9/*GPG*
Então tente executar novamente o ‘yum update’.
===============================================================
Para ver o arquivo de log do tcpdump:
tcpdump -n -e -ttt -r /var/log/pflog
===============================================================
Para gerar o arquivo de log do tcpdump:
tcpdump -vvv -w telef0854.eth -i any port 80 and host 201.21.45.106
===============================================================
Para ver a lista de processos do mysql
mysqladmin processlist
=====================================================================
Para procurar nas regras de nat do iptables um determinado IP
iptables -nL -t nat | grep 192.168.121.14
=====================================================================
Para Limpa o os enderecos IPs de uma Interface
ip addr flush dev eth0
=====================================================================
Para configurando ip na interface
ifconfig eth0 50.50.101.1 netmask 255.255.255.0
ou
ip addr add 50.50.101.1/24 brd + dev eth0
=====================================================================
para desativar e/ou ativar uma interface de rede, podemos utilizar os comandos abaixo:
ip link set eth0 down (desativa);
ip link set dummy0 up (ativa).
=====================================================================
Para verificar os endereços de rede configurados, podemos utilizar:
ip addr list
=====================================================================
Para verificar os links existentes
ip link show
=====================================================================
Para verificar as tabelas de roteamento no kernel
cat /etc/iproute2/rt_tables
=====================================================================
Usando SCP
scp -C -r j5@10.0.28.247:fwbr.sql saida-fwbr.sql
=====================================================================
Exportando um Dump de MySQL
mysqldump -u root -p test >teste.sql
========================================================================
Importando um Dump de MySQL
mysql> source /home/j5/teste.sql
=====================================================================
Passando SQL por bash (prompt de comando bash e não MySQL)
mysql fwbr -e “select *, MAX(byte) AS byte from utilizaold where data > ’2010-08-03 00:00:00′ GROUP BY maquina;” >teste_mysql
=====================================================================
Procurando RPMs / excluíndo pacotes indesejados:
rpm -qa | egrep -i ‘(apache|httpd|sql|java|jdk|jre|kaffe|jakarta|bind|rsync|spell)’
para remover: rpm -e “nome do pacote encontrado”
=====================================================================
Formas de atualizar pacotes no Linux (dependendo da distro)
yum -y install
up2date -u
apt-get install
wget
=====================================================================
Forçando estado das placas de rede
# Force 100/Full
mii-tool -F 100baseTx-FD eth0
mii-tool -F 100baseTx-FD eth1
=====================================================================
Variáveis de ambiente para libertar proxy para um usuário
basta colocar no arquivo de profile (.bash_profile) do usuário:
export http_proxy=http://10.0.28.2:8080/
export https_proxy=http://10.0.28.2:8080/
export ftp_proxy=http://10.0.28.2:8080/

Obs: atentar que http://10.0.28.2:8080/ é o meu proxy deve ser alterado para o seu inclusive com a porta correta.
=====================================================================
Para compartilhar a conexão usando uma única placa de rede
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
=====================================================================
Tornando uma conexão FTP passiva (passive mode)
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
=====================================================================
NTP – Ajuste de horário automático
Crontab -e (para editar o cron e colocar linha abaixo)
01 00 * * * /usr/sbin/ntpdate 10.10.19.1 > /dev/null 2>&1

Posted in Linux | Leave a comment

(Perl) acessando base MySQL e alterando dados

# acessando base MySQL e alterando dados
# Cyberia corp.S.A
# 04/07/2007
# by J5

#!/usr/bin/perl

use DBI();
$database = “fwbr”;
$host = “localhost”;
$usuario = “root”;
$senha = “”;

my $dbh = DBI->connect(“DBI:mysql:database=$database;host=$host”,”$usuario”, “$senha”,{‘RaiseError’ => 1});

$sth = $dbh->prepare(“SELECT idNetMaquina,dmzip1 FROM netmaquina”);
#$sth = $dbh->prepare(“SELECT * FROM netmaquina”);

$sth->execute();

while(($id,$rede) = $sth->fetchrow_array) {
#print ($id,” “,$rede,”\n”);
#print ($rede,”\n”);
$auxrede=substr($rede,0,10);

if ($auxrede eq “50.50.100.”){
$auxrede=”172.20.0.”;
$auxbit=”/23″;}
elsif ($auxrede eq “50.50.101.”){
$auxrede=”172.21.0.”;
$auxbit=”/23″;}
elsif ($auxrede eq “50.50.102.”){
$auxrede=”172.22.0.”;
$auxbit=”/23″;}
elsif ($auxrede eq “50.50.103.”){
$auxrede=”172.23.0.”;
$auxbit=”/23″;}
elsif ($auxrede eq “50.50.104.”){
$auxrede=”172.24.0.”;
$auxbit=”/23″;}
else {
$auxrede=$auxrede;
$auxbit=”";}
$delimit2=index($rede,”/”);
$auxmaq=substr($rede,10,$delimit2-(length($auxrede)+1));
chomp $auxmaq;
print ($auxrede,$auxmaq,$auxbit,”\n”);

$dbh->do(“UPDATE `netmaquina` SET `dmzip1` = ‘$auxrede$auxmaq$auxbit’ WHERE `idNetMaquina` =’$id’” );
}
$sth->finish();
$dbh->disconnect|| die “Falha na conexao..”;

Posted in Perl | Leave a comment

(Perl) manipulando arquivos texto com substr + index + lenght

# Depurador de logs
# Cyberia corp.S.A
# 04/10/2005
# by J5

#!c:\perl\bin\perl

print “Digite O nome do Arquivo que deseja tratar: “;
$arq_name=;
chomp $arq_name;
open(ww,”<$arq_name");
@arq=;
close(ww);
$linha=1;
$volta==1;
$cam=”C:\\ARQUIV~1\\INTERN~1\\iexplore.exe”;
open(outfile,”>zion.html”);
print(outfile “\n”);
print(outfile “\n”);
print(outfile ” Concurrent Users Template \n”);
print(outfile “\n”);
print(outfile “\n”);

for($i=0;$i<=$#arq;$i++)
{

if ($i==$linha)
{

$delimit1=index($arq[$i],":");
$aux=substr($arq[$i],$delimit1+1);
$delimit2=index($aux,"]");
$tamanho=length($aux);
$campo=($tamanho)-($tamanho-$delimit2);
$coluna=substr($arq[$i],$delimit1+1,$campo);
if ($count<=8 && $volta % 2 != 0)
{
$bg=ccffcc;
}
else
{

$bg=ffcc99;
}

print(outfile "
\n”);
print(outfile ” “,$coluna,”

\n”);
print(outfile “

\n”);
$count++;
if($count==8)
{
$count=0;
$volta++;
}
if($linha==1)
{
$linha=($linha+48);
}
else
{
$linha=($linha+48);
}
}

}

print(outfile “

\n”);
print(outfile “\n”);
print(outfile “”);
close (outfile);
exec($cam,”c:\\depurador\\zion.html”);

Posted in Perl | Leave a comment

SSH (encapsulando comandos)

#Script de Backup e restore de BD entre dois servidores
# Cyberia corp.S.A
# 04/10/2006
# by J5
#
#
ssh 192.168.1.1 ‘mysqldump –add-drop-table –tables table01 table02 table03 table04 table05 >/backup.sql’
scp 192.168.1.1:/backup.sql /scripts/
scp /scripts/backup.sql 192.168.1.2:/
ssh 192.168.1.2 ‘mysql fwbr < /backup.sql'

Posted in Uncategorized | Leave a comment

Snmpwalk (coletando dados para capacity planning)

# Coleta de dados da Gi1/1 de um cisco 4507, para Capacity planning
# Cyberia corp.S.A
# 16/04/2005
# by J5
#
#
#!/bin/bash
#
#
if ls /coleta/Inboud.now; then
mv /coleta/Inboud.now /coleta/Inboud.bef
mv /coleta/Outboud.now /coleta/Outboud.bef
fi
#
unset data
unset In
unset Out
#
data=`date +%d%m%Y-%H%M`
#
snmpwalk -v 1 -c sfc 10.10.19.1 IF-MIB::ifInOctets.2|cut -d: -f4> /coleta/Inboud.now
snmpwalk -v 1 -c sfc 10.10.19.1 IF-MIB::ifOutOctets.2|cut -d: -f4> /coleta/Outboud.now
#
cat /coleta/Inboud.now>/coleta/bpsinbound
cat /coleta/Inboud.bef>>/coleta/bpsinbound
in_n=`cat /coleta/Inboud.now`
in_b=`cat /coleta/Inboud.bef`
#
cat /coleta/Outboud.now>/coleta/bpsoutbound
cat /coleta/Outboud.bef>>/coleta/bpsoutbound
ou_n=`cat /coleta/Outboud.now`
ou_b=`cat /coleta/Outboud.bef`
if [ $in_n -lt $in_b ] || [ $ou_n -lt $ou_b ]; then
exit 0
else
#
In=`cat /coleta/bpsinbound|xargs|awk ‘{in_now=($1-$2)/(300)*8} END {printf”%2.2f”, in_now}’`
Out=`cat /coleta/bpsoutbound|xargs|awk ‘{out_now=($1-$2)/(300)*8} END {printf”%2.2f”, out_now}’`
v=”;”
echo $data $v $In $v $Out >>/var/www/cgi-bin/coleta.txt
fi

Posted in bash (bourne again shell) | Leave a comment

Sincronizando com Rsinc

# Sincronizando com Rsinc
# Cyberia corp.S.A
# by J5

#!/bin/bash

DATA=$(date +%d-%m-%Y)
INIT_TIME=$(date +%H:%M)
END_TIME=$(date +%H:%M)

echo “Iniciando backup do dia $DATA em: $INIT_TIME” > /backup/REPORT-$DATA.log

rsync -ravz –progress –partial –delete-excluded 50.50.101.4:/var/www/ /var/www/
rsync -ravz –progress –partial –delete-excluded 50.50.101.4:/mrtg/ /mrtg/
rsync -ravz –progress –partial –delete-excluded 50.50.101.4:/home/fwold/ /home/fwold/

echo “Finalizando o backup em: $END_TIME” >> /backup/REPORT-$DATA.log

Posted in bash (bourne again shell) | Leave a comment

C++ Keylogger Primitivo

#include <stdio.h>

#include <conio.h>

int main(){

FILE *fp;

int ch;

fp=fopen(“arqtext.txt”,”w”);

while ((ch=getche())!=’\x1b’)

putc(ch,fp);

fclose(fp);

printf(“Gravacao efetuada com Sucesso !!!”);

getch();

}

Posted in Linguagem C / C++ | Leave a comment