segunda-feira, 22 de dezembro de 2008

Batch Commands

Comandos Batch.

Aqui fica alguma informação extra que pode ser util.

@ - Previne que uma linha seja mostrada no ecrã quando escrito no inicio da linha.
ECHO [offon] - Activa ou desactiva o echo de ecrã.
ECHO "menssagem" - Mostra a "mensagem" no ecrã.
if [not] Errorlevel num cmd - Executa o cmd se o novel de erro for superior ao "num" o not inverte o sentido.
if [not] Exists file cmd - Executa o cmd se o ficheiro existir. Not inverte o sentido.
if [not] txt1 == txt2 - Executa o cmd se o ficheiro txt1 for igual ao txt2 Not inverte o sentido.
goto label - Salta para a label
:label - Identifica a label.
for %%var in (set) do [cmd] %% var - Executa um loop pelo conteudo de set correndo o cmd por cada intem do set.
shift - Faz um shift aos parametros uma casa ficando os parametros %2 em %1 e %3 em %2.
call batch args - Chama um ficheiro batch e passa argumentos voltando ao codigo quando o ficheiro batch acaba de executar.
setlocal - define variaveis locais ao programa que está a correr.
endlocal - Faz com que as variaveis locais sejam conhecidas pelo sistema. Ficam activas no sistema quando o batch encerra a sua execução.
pushd path - Grava a pasta local num stack e altera a path
popd - Muda para a ultima pasta colocada na pilha pelo pushd e remove-a da pilha.
pause - suspende o programa até uma tecla ser pressionada.
title - Define o titulo da janela de comandos.

sexta-feira, 12 de dezembro de 2008

TCP in Windows Vista & Windows 2008 Server

Bem para que ninguem fique a tentar fazer o que está no artigo Tunning Rede Windows XP, informo que o TCP foi redesenhado para estes sistemas e que este já inclui um conceito de Window-Auto Tunning.
Este conceito tem por base o anucio por parte dos parceiros de comunicação de um tamanho de janela inicialmente pequeno e que vai sendo ajustado "on the fly" dependendo da latencia e da velocidade do link. Esta nova implementação é muito mais eficiente por defeito do que as anteriores.

Os factores que são utilizados para o ajuste do tamanho de Janela TCP são:
Velocidade da Linha.
Latencia
"Application Delay" - > tempo que a aplicação demora a ir buscar informação á janela TCP.

Por defeito o windows também não deixa ter valores superiores a 16Mb.

Já agora para estimular o interesse podem ver como está o vosso TCP com o seguinte comando:

netsh int tcp show global

Mais tarde falarei sobre isto.

Maximum HTTP Connections...

Para acabar com as vezes em que o IE apenas nos deixa ter alguns downloads em simultâneo e quando queremos abrir mais uma página ou fazer um novo download este fica a moer até alguma ligação anterior ter sido encerrada.

O IE por defeito está limitado a um determinado numero de ligações em simultâneo se nós alterarmos essas limitações podemos ter um controlo maior sobre o nosso ie impedindo que fiquemos á espera...

Para isso temos de adicionar as seguintes chaves no nosso registo de forma a indicar outros valores que não os de defeito.

HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings"MaxConnectionsPerServer"=dword:00000010"MaxConnectionsPer1_0Server"=dword:00000010
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"MaxConnectionsPerServer"=dword:00000010"MaxConnectionsPer1_0Server"=dword:00000010

Aqui damos um valor de 10.
Atenção que não convêm aumentar muito alem das 10. Pois também pode aumentar o numero de sites http em que temos problemas. Se tivermos muitos problemas nos que visitamos convêm descer o numero.
Isto tem a ver com a sobrecarga que podemos dar a um servidor ao abrir demasiadas ligações simultâneas, se ele tiver algum tipo de restrição então esta solução não se torna mais rápida...

Para a próxima a ver se coloco alguma coisa do género para o firefox...

Tunning de Rede Windows XP

Neste artigo vou descrever como fazer um tweak ao windows XP registry para tentarmos melhorar a performance deste a nivel da rede.

O objectivo é que comprendam um pouco mais do modo como funciona o windows xp em rede e que não comprem ou instalem software adicional para melhorar o desempenho de rede da máquina sem necessidade.
O windows XP contem vários parametros de registo que devidamente configurados podem afectar a performance radicalmente.

Temos o TCP Window por exemplo, que é uma especie de buffer que armazena os pacotes que recebemos da rede antes de as enviar para a aplicção (mdelo OSI) que está á espera delas para processar a informação. Estas ficam aqui armazenadas até uma flag de push ser defenida nos pacotes que chegam ou quando a aplicação decidir ir buscar ao buffer os dados necessários.

Durante o "handshake de TCP/IP" da ligação TCP/IP, ambos os lados informam o parceiro de qual é o seu tamanho de Janela ou "Window Size" Esta informação fica registada no TCP Header (como já vimos anteriormente noutro post) e pode ter um valor de 0 a 65535 e esse é o valor máximo em bytes que o buffer ou Janela pode ter.

Por defeito o windows XP utiliza um sistema de Window Scaling que muda de acordo com a forma como ele está a trabalhar. Isto é se ele está a receber uma ligação ele comporta-se como um servidor e ele utiliza este sistema, quando ele está a iniciar uma ligação ele não utiliza este Window Scaling.

Se um parceiro fica sem espaço durante a troca de pacotes este envia um pacote com uma sinalização de Window=0 O parceiro TCP para de enviar pacotes até um novo pacote seja enviado com a sinalização de Window diferente de 0. Aqui a troca de dados é reiniciada até haver outro pacote de sinalização com o Window=0.

Com o aumento de velocidade de ligações os 65535 bytes tornam-se pequenos, é aqui que o Window Scaling é utilizado, se ambos os lados da comunicação tem a opção de window scaling no TCP Header então o window Scaling é suportado, o Window scale define o factor multiplicativo para usar e determinal o tamanho de janela. Um window Scale de 1 significa que o Window Size vai ser multiplicado por 2

Com esta lógia temos então
0 -> multiplica por 1
1 -> multiplica por 2
2 -> multiplica por 4
3 -> multiplica por 8
4-> multiplica por 16
5-> multiplica por 32
6-> multiplica por 64
7-> multiplica por 128

Exemplo:
Queremos fazer download de um ficheiro de 75Mbytes, se não tivermos estas opções activas o que acontece é que rápidamente ficamos com o buffer cheio, se as tivermos activas o nosso buffer seria escalado por 4 e que nos daria um buffer de 262,140 bytes.

Para activar o Windows Scaling temos de editar o registo:
na chave hkey_Local_Machine\SYSTEM\CurrentControlSet\Services\TCPIP\
Key: TcpipParameters
Adicionar uma chave tipo
Value Type: REG_DWORD
Nome da chave:tcp1323opts
Valor: 1

Com esta alteração quanto maior for o ficheiro que temos a transferir maior é o nosso window size ou buffer.

Outas alterações que podem ajudar são:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersSackOpts="1"
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersTcpMaxDupAcks="2"
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\InterfacesMTU="1500"

No windows vista o tamanho por defeito do Window size é de 131072.

domingo, 23 de novembro de 2008

Descodificar um Pacote TCP/IP (TCP apenas)

O TCP é a outra parte que normalmente vem agarrada ao protocolo IP.

O TCP é encontrado na segunda parte de uma frame TCP/IP.
No pacote anteriormente analisado no texto "Descodificar um pacote TCP/IP (IP Apenas) reparamos que o TCP é o pedaço assinalado a azul.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 0000 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8 64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

O pedaço assinalado em azul dá-nos conta de toda a informação sobre o TCP.

Os 2 primeiros bytes indicam a porta de origem (porta onde se iniciou o pedido).
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

c0 43 é em decimal 49219.

A porta de Destino é a:
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

1f90 = em decimal 8080 :) endereço de um proxy? :)

O numero sequencial que vem de seguida serve para controlar a fragmentação dos pacotes bem como a ordem porque eles são enviados... (Muito util para recolher todos os pacotes de uma comunicação).

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

Depois vem o nemero de reconhecimento ou seja, como sabem um computador quando acabar de receber uma sequencia de pacotes tcp e enche a sua Janela responde com um ack+1 relativamente ao pacote recebido. Este numero é indicado pelos seguintes bytes.

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

Depois vem o tamanho do cabeçalho: 5

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00

As flags que podem ser URG, ACK, PSH, RST, SYN, e FIN

c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00
Neste caso o 010 representa em binário 010000 e é uma flag tipo ACK.

O tamanho da janela vem de seguida,
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00
Que em decimal representa cerca de 16425. Que representa o tamanho máximo que a origem consegue manipular.

O "checksun"
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 1040 29 49 d2 00 00 e por fim os 0000 que representa o ponteiro de urgencia o que quer dizer que certos pacotes podem passar á "frente da fila" e ser processados primeiro. a Flag URG indica que esses dados existem e o ponteiroindica a posição deles dentro da area de dados.

terça-feira, 18 de novembro de 2008

The Enhanced Bob Maneuver for Subnetting

Este é um quadro que nos pode auxiliar muito para o calculo de subnets.














































192224240248252254255Subnet Mask
1286432168421Target Number
87654321Bit Place
12662301464NANumber of Valid Subnets

Explicando o quadro.

Imaginemos que nos pedem uma rede com 15 subnets...

Ora na linha de Number of Valid Subnets vamos ver onde fica o 15, este fica entre o 14 e o 30 pelo que escolhemos o 30 para poder albergar as 15 subnets.

Depois na linha de cima (bit place) vemos qual o numero de bits que são 5, depois no (targuet number) contamos 5 da esquerda para a direita e ficamos 8 e a subnet fica logo por cima indicada. em que é 248.

Não me perguntem porque ficou assim com tanto espaço porque tabém não sei... :)

Binary "ANDing"

É o processo pelo qual é feita uma muliplicação entre dois numeros binarios. (Na numeração decimal).

Então temos

0 and 0 = 0
1 and 0 = 0
0 and 1 = 0
1 and 1 = 1

Utiliza-se o anding quando se compara ip's com a sua subnet mask para saber qual a rede a que o ip pertence.

Ex:
Qual a rede a que pertence o IP 192.168.100.115 com subnet Mask de 255.255.255.240?


  1. Converter ambos os endereços para binario.

192.168.100.115 = 11000000.10101000.01100100.01110011

255.255.255.240 = 11111111.11111111.11111111.11110000

2. Realizar o AND

192.168.100.115 = 11000000.10101000.01100100.01110011
255.255.255.240 = 11111111 .11111111 .11111111 .11110000

Resultado = 11000000.10101000.01100100.01110000

Converter o resultado para decimal novamente:

11000000.10101000.01100100.01110000 = 192.168.100.112

O endereço de IP pertence á rede 192.168.100.112 qundo uma subnet mask 255.255.255.240 é usada.

domingo, 16 de novembro de 2008

Protocolos alem do 06 (TCP)

Aqui estão uma lista de protocolos alem do 06 só para matar a curiosidade.
E ... Estão em decimal por isso há que fazer contas... :)


0 HOPOPT, IPv6 Hop-by-Hop Option.RFC 1883
1 ICMP, Internet Control Message Protocol.RFC 792
2 IGAP, IGMP for user Authentication Protocol.IGMP, Internet Group Management Protocol.RGMP, Router-port Group Management Protocol.

3 GGP, Gateway to Gateway Protocol.

4 IP in IP encapsulation.

5 ST, Internet Stream Protocol.

6 TCP, Transmission Control Protocol.

7 UCL, CBT.

8 EGP, Exterior Gateway Protocol.

9 IGRP, Interior Gateway Routing Protocol.

10 BBN RCC Monitoring.

11 NVP, Network Voice Protocol.

12 PUP.

13 ARGUS.

14 EMCON, Emission Control Protocol.

15 XNET, Cross Net Debugger.

16 Chaos.

17 UDP, User Datagram Protocol.

18 TMux, Transport Multiplexing Protocol.

19 DCN Measurement Subsystems.

20 HMP, Host Monitoring Protocol.

21 Packet Radio Measurement.

22 XEROX NS IDP.

23 Trunk-1.

24 Trunk-2.

25 Leaf-1.

26 Leaf-2.

27 RDP, Reliable Data Protocol.

28 IRTP, Internet Reliable Transaction Protocol.

29 ISO Transport Protocol Class 4.

30 NETBLT, Network Block Transfer.

31 MFE Network Services Protocol.

32 MERIT Internodal Protocol.

33 DCCP, Datagram Congestion Control Protocol.

34 Third Party Connect Protocol.

35 IDPR, Inter-Domain Policy Routing Protocol.

36 XTP, Xpress Transfer Protocol.

37 Datagram Delivery Protocol.

38 IDPR, Control Message Transport Protocol.

39 TP++ Transport Protocol.

40 IL Transport Protocol.

41 IPv6 over IPv4.

42 SDRP, Source Demand Routing Protocol.

43 IPv6 Routing header.

44 IPv6 Fragment header.

45 IDRP, Inter-Domain Routing Protocol.

46 RSVP, Reservation Protocol.

47 GRE, General Routing Encapsulation.

48 DSR, Dynamic Source Routing Protocol.

49 BNA.

50 ESP, Encapsulating Security Payload.

51 AH, Authentication Header.

52 I-NLSP, Integrated Net Layer Security TUBA.

53 SWIPE, IP with Encryption.

54 NARP, NBMA Address Resolution Protocol.

55 Minimal Encapsulation Protocol.

56 TLSP, Transport Layer Security Protocol using Kryptonet key management.

57 SKIP.

58 ICMPv6, Internet Control Message Protocol for IPv6.MLD, Multicast Listener Discovery.

59 IPv6 No Next Header.

60 IPv6 Destination Options.

61 Any host internal protocol.

62 CFTP.

63 Any local network.

64 SATNET and Backroom EXPAK.

65 Kryptolan.

66 MIT Remote Virtual Disk Protocol.

67 Internet Pluribus Packet Core.

68 Any distributed file system.

69 SATNET Monitoring.

70 VISA Protocol.

71 Internet Packet Core Utility.

72 Computer Protocol Network Executive.

73 Computer Protocol Heart Beat.

74 Wang Span Network.

75 Packet Video Protocol.

76 Backroom SATNET Monitoring.

77 SUN ND PROTOCOL-Temporary.

78 WIDEBAND Monitoring.

79 WIDEBAND EXPAK.

80 ISO-IP.

81 VMTP, Versatile Message Transaction Protocol.

82 SECURE-VMTP

83 VINES.

84 TTP.

85 NSFNET-IGP.

86 Dissimilar Gateway Protocol.

87 TCF.

88 EIGRP.

89 OSPF, Open Shortest Path First Routing Protocol.MOSPF, Multicast Open Shortest Path First.

90 Sprite RPC Protocol.

91 Locus Address Resolution Protocol.

92 MTP, Multicast Transport Protocol.

93 AX.25.

94 IP-within-IP Encapsulation Protocol.

95 Mobile Internetworking Control Protocol.

96 Semaphore Communications Sec. Pro.

97 EtherIP.

98 Encapsulation Header.

99 Any private encryption scheme.

100 GMTP.

101 IFMP, Ipsilon Flow Management Protocol.

102 PNNI over IP.

103 PIM, Protocol Independent Multicast.

104 ARIS.

105 SCPS.

106 QNX.

107 Active Networks.

108 IPPCP, IP Payload Compression Protocol.

109 SNP, Sitara Networks Protocol.

110 Compaq Peer Protocol.

111 IPX in IP.

112 VRRP, Virtual Router Redundancy Protocol.

113 PGM, Pragmatic General Multicast.

114 any 0-hop protocol.

115 L2TP, Level 2 Tunneling Protocol.

116 DDX, D-II Data Exchange.

117 IATP, Interactive Agent Transfer Protocol.

118 ST, Schedule Transfer.

119 SRP, SpectraLink Radio Protocol.

120 UTI.
121 SMP, Simple Message Protocol.
122 SM.
123 PTP, Performance Transparency Protocol.
124 ISIS over IPv4.
125 FIRE.
126 CRTP, Combat Radio Transport Protocol.
127 CRUDP, Combat Radio User Datagram.
128 SSCOPMCE.

129 IPLT.

130 SPS, Secure Packet Shield.

131 PIPE, Private IP Encapsulation within IP.

132 SCTP, Stream Control Transmission Protocol.

133 Fibre Channel.

134 RSVP-E2E-IGNORE.

135 Mobility Header.

136 UDP-Lite, Lightweight User Datagram Protocol.

137 MPLS in IP.

138 MANET Protocols.

139 HIP, Host Identity Protocol.

140-252


253254
Experimentation and testing.

255
reserved.

Descodificar um Pacote TCP/IP (IP apenas)

Bem aqui fica uma informação de como descodificar um pacote TCP/IP.

Vamos imaginar que com um TCPDUMP temos um pacote capturado e queremos ler a sua informação...

Este é um exemplo de uma frame que navegava na rede em exadecimal.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

Ora bem o inicio da frame indica-nos qual o MAC de Destino.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

O segundo indica-nos qual o MAC de Origem

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

O proximo valor indica-nos o tipo de pacote que vai dentro da frame.
Neste caso 0x0800 que representa o IP.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

Bem agora chegamos ao protocolo ip.
O protocolo ip é representado pelo conjunto em baixo indicado.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

O primeiro valor deste conjunto exadecimal indica qual a versão de IP (versão 4).
00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 000
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

O segundo caracter indica-nos qual o IHL. (Internet Header Lenght)
Que nos indica qual o tamanho do Header do Pacote IP. Significa também que é de 20bytes e é o valor minimo para um pacote IP.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

O campo 00 logo de seguida é utilizado para serviços diferenciados ou como alguem lhe gosta de chamar tipo de serviços. RFC 1349... não vou falar muito deste hoje :)

Depois vem o tamanho do "datagram" que é de 0028 em exadecimal que transformado para decimal é de 40bits. (Podem usar a calculadora do windows para isto).

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

A identificação é indicada por 5a b1 logo no conjunto seguinte. É usado para distinguir um datagram de outro.

Depois vem o indicador de "flags" o :
00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

é utilizado para a fragmentação dos pacotes.

Agora vem o tempo de vida do datagram.
Neste caso é:

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00
E quanto é 80 de hexa para decimal?
é 128...
Quando este valor chega a zero é descartado.

Depois vem o TCP Ou pelo menos o indicador que dentro do ip vem o protocolo TCP...

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

Quase no fim vem o headerCheck Sum que é representado pelos seguintes numeros:
00 00 logo a seguir ao protocolo.

E por fim o que nos faltava para isto ser válido o ip de origem.... Que é
00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

que fazendo as contas em decimal é de 192.168.100.101

e o ip de Destino que fazendo as contas é o 192.168.100.1
00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01
c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

E acabamos a parte do IP num proximo post vem a parte do TCP que são o resto dos numeros hexadecimais que faltam analizar.

00 4f 4e 0e b2 45 00 1a 80 d8 43 ef 08 00 45 00
00 28 5a b1 40 00 80 06 00 00 c0 a8 64 65 c0 a8
64 01 c0 43 1f 90 b0 d8 c2 30 ea 48 e1 3a 50 10
40 29 49 d2 00 00

sábado, 15 de novembro de 2008

CISCO + Activação de SSH

Uma coisa que nunca pensei que me iria esquecer... Pelo sim pelo não aqui fica para o caso de ter outra branca mais tarde.

Para activaros as ligações ao router por SSH temos de primeiro gerar a chave RSA Keypair.
Para isso seguimos os seguintes passos.

->Enable
-->Config Terminal
--->Crypto Key Generate RSA

Depois devemos escolher qual o o numero de bits a usar na cifragem
Eu aconselho pelo menos 1024 mas há quem aconselhe no minimo 768. Eu gosto de jogar pelo seguro.

Depois só temos de activar o ssh com o simples comando:

--->ip ssh version 2

Para ver o estado podemos usar o comando:

show ip ssh.

E podemos usar o cliente de ssh para nos ligarmos a outros equipamentos com o comando

ssh

Em caso de duvidas sobre as suas opções podem fazer

ssh ?

quinta-feira, 30 de outubro de 2008

Lista de ips dos ISP's

Para quem não gosta de andar a fazer whois interminaveis a tentar ver qual o range de ip's que um possivel isp pode ter este é um site interessante.... http://ipindex.homelinux.net/index.php


Já agora deixo uma lista da telepac...

81.193.0.0 - 81.193.127.255
Telepac - Comunicacoes Interactivas, SAPT
81.193.128.0 - 81.193.255.255
Telepac - Comunicacoes Interactivas, SAPT
82.154.0.0 - 82.154.243.255
Telepac - Comunicacoes Interactivas, SAPT
82.154.0.0 - 82.155.255.255
PT.Com - Comunicacoes Interactivas, S.A.PT
82.154.244.0 - 82.154.255.255
Telepac - Comunicacoes Interactivas, SAPT
82.155.0.0 - 82.155.127.255
Telepac - Comunicacoes Interactivas, SAPT
82.155.128.0 - 82.155.191.255
Telepac - Comunicacoes Interactivas, SAPT
82.155.192.0 - 82.155.211.255
Telepac - Comunicacoes Interactivas, SAPT
82.155.212.0 - 82.155.255.255
Telepac - Comunicacoes Interactivas, SAPT
85.240.0.0 - 85.240.127.255
Telepac - Comunicacoes Interactivas, SAPT
85.240.0.0 - 85.247.255.255
PT.Com - Comunicacoes Interactivas, S.A.PT
194.65.0.0 - 194.65.0.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.0.0 - 194.65.255.255
PT.Com - Comunicacoes Interactivas, S.A.PT
194.65.3.0 - 194.65.3.31
Telepac - Comunicacoes Interactivas, SAPT
194.65.3.32 - 194.65.3.63
Telepac - Comunicacoes Interactivas, SAPT
194.65.3.64 - 194.65.3.95
Telepac - Comunicacoes Interactivas, SAPT
194.65.3.96 - 194.65.3.127
Telepac - Comunicacoes Interactivas, SAPT
194.65.4.0 - 194.65.4.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.7.0 - 194.65.7.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.8.0 - 194.65.8.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.9.0 - 194.65.9.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.10.0 - 194.65.10.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.11.0 - 194.65.11.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.12.0 - 194.65.12.255
Telepac - Servicos Telecomunicacoes SAPT
194.65.13.128 - 194.65.13.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.21.0 - 194.65.21.255
Telepac S.A.PT
194.65.50.0 - 194.65.50.255
Marketing NetworkPT
194.65.57.144 - 194.65.57.151
Tech Support NetworkPT
194.65.87.0 - 194.65.87.255
Guine TelecomGW
194.65.89.0 - 194.65.89.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.96.0 - 194.65.96.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.98.0 - 194.65.98.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.99.0 - 194.65.99.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.100.0 - 194.65.100.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.101.0 - 194.65.101.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.104.0 - 194.65.104.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.118.0 - 194.65.118.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.127.0 - 194.65.127.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.132.0 - 194.65.132.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.133.0 - 194.65.133.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.147.0 - 194.65.147.255
Telepac - Comunicacoes Interactivas, SAPT
194.65.160.0 - 194.65.255.255
Telepac - Comunicacoes Interactivas, SAPT

212.55.128.0 - 212.55.191.255
PT.Com - Comunicacoes Interactivas, S.A.PT
212.55.152.0 - 212.55.152.127
Telepac - Comunicacoes Interactivas, SAPT
212.55.160.0 - 212.55.191.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.0.0 - 213.13.255.255
Provider Local RegistryPT
213.13.0.0 - 213.13.15.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.16.0 - 213.13.31.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.32.0 - 213.13.63.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.72.0 - 213.13.79.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.112.0 - 213.13.127.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.140.0 - 213.13.140.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.200.0 - 213.13.207.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.208.0 - 213.13.223.255
Telepac - Comunicacoes Interactivas, SAPT
213.13.224.0 - 213.13.255.255
Telepac - Comunicacoes Interactivas, SAPT


terça-feira, 21 de outubro de 2008

Como Subnetar uma Rede IPV4

IPV4

Existem várias classes de redes.

Classe A do endreço 0 ao 127 ( em que o "zero" é um endereço inválido e o 127 é reservádo para o loopback address)
Ex: Testem fazer um ping 127.0.0.1 a ver o que acontece...
Classe B do endreço 128 ao endereço 191
Classe C do endereço 192 ao endereço 223
Classe D do endereço 224 ao endereço 239
Classe E do endereço 240 ao endereço 255

A maneira de conseguirmos qual o tipo de rede que temos em mão é conseguida pela conversão do seu primeiro octeto de decimal para binario.

Ai reparamos que as redes de Classe A se iniciam por um 0xxxxxxx as de Classe B se iniciam por 10xxxxxx as de Classe C iniciam-se por 110xxxxx por fim a D por 1110xxxx e a E 1111xxxx

Destas 5 classes apenas usamos as 3 primeiras dependendo da situação a D e a E são reservadas.
Sendo a D reservada para multicasting e a E para utilização futura.

Conversão de Binario para Decimal

Um octeto tem 8 possições possiveis que podem conter 0 ou 1.
Ex: 00000000 ou 11111111 ou 01001001

Se lermos as possições da direita para a esquerda "11111111" podemos dizer que a primeira seria o equivalente a 2 elevado a 0 a segunda de 2 elevado a 1 e a terceira de 2 elevado a 3 e assim sucessivamente até 2 elevado a 8.
Ai temos o seguinste calculo
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128

Ora se tivermos um octeto do tipo 11111111 sabemos que o seu valor em decimal é de 255 pois 1+2+4+8+16+32+64+128 é igual a 255.

Um endereço de rede é constituido por 4 octetos do tipo xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx onde os "x" é substituido por 1 ou por 0.

Imaginemos agora que este octeto é dividido em "hosts" e em "networks" em que podemos ter:
NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH

em que os N representam as redes possiveis e os H representam os computadores possiveis.

Como o espaço dos 4 octetos é limitado quando queremos aumentar o numero de redes "N" teremos de pedir espaço emprestado aos hosts "H" e quando queremos aumentar o numero de computadores teremos de pedir espaço emprestado ás redes.

Então temos a seguinte formula
2^N temos o numero total de redes que podemos ter.
2^H temos o numero de "Hosts" que podemos ter por cada uma das redes.

Mas como nem todas as redes são válidas e nem todos os "hosts" possiveis são válidos então temos a seguinte formula:

2^N-2 para o numero de redes válidas (todas as redes que tenham endereçamentos a começar por 00 são inválidas ver inicio do texto parte das classes).
2^H-2 para o numero de hosts válidos por cada rede. (O primeiro endereço de cada rede é o endereço que identifica a rede e é constituido por tudo a zeros no espaço dos H e o ultimo endereço é o endereço de broadcast e é constituido por tudo a uns no esapço dos H).

Então com base nisto tenho uma hipotetica rede de classe C em que o endereçamento 192.168.100.0/24

O "/24" representa o numero de bits marcados com 1 que identifica a subnet, ou seja temos 24 "uns" para identificar a rede.
11111111.11111111.1111111.00000000
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
como vimos anteriormente quando temos um octeto todo a uns isto em decimal representa 255.255.255.0 e esta é a nossa subnet.

Voltando á rede

192.168.100.0/24 quero saber quantos bits de Hosts "H" que tenho de pedir emprestado para criar 9 subnets válidas.

Numero de redes = 9

2^N-2 maior ou igual a 9

N = 4

2^4 = 16 - 2 = 14 Redes válidas

Então necessitamos de pedir 4 "H's" emprestados para defenir a nossa nova subnet.
Ficando a nossa Subnet Classe C dividida em 14 subnets diferentes das quais apenas 9 vão ser usadas por nós.

NNNNNNNN.NNNNNNNN.NNNNNNN.NNNNHHHH
11111111.11111111.1111111.11110000

192.168.100.0
255.255.255.240

Então obtemos o seguinte endereçamento.

hhhhnnnn
11110000

o primeiro endereço seria para a rede 000010000 que corresponde ao numeoro da rede porque o espaço dos h está a 0. (A rede seria 16)
O primeiro endereço válido seria para o 00010001 que corresponde ao endereço 192.168.100.17 o ultimo válido seria 00011110 que corresponde ao 192.168.100.30 o Endereço de Broadcast é o 00011111 que corresponde ao 192.168.100.31

O segundo endereço da rede corresponde ao 00100000 que é a rede 32
O primeiro válido seria o 00100001 que seria o 192.168.100.33 e o ultimo válido seria o 00101110 que é o 192.168.100.46 e o de broadcast é o 47.

Então com base nisto temos as seguintes redes:

SUBNET | Endereço de Rede | Intervalo de Endereços Válidos | Broadcast
0 | 192.168.100.0/28 | 192.168.100.1 ao 14 (INVALIDA) | 192.168.1.15
1 | 192.168.100.16/28 | 17 ao 30 | 192.168.1.31
2 | 192.168.100.32/28 | 33 ao 46 | 47
3 | 192.168.100.48/28 | 49 ao 62 | 63
4 | 192.168.100.64/28 | 65 ao 78 | 79
5 | 192.168.100.80/28 | 81 ao 94 | 95
6 | 192.168.100.96/28 | 97 ao 110 | 111
7 | 192.168.100.112/28 | 113 ao 126 | 127
8 | 192.168.100.128/28 | 129 ao 142 | 143
9 | 192.168.100.144/28 | 145 ao 158 | 159
10 | 192.168.100.160/28 | 161 ao 174 | 175
11 | 192.168.100.176/28 | 177 ao 190 | 191
12 | 192.168.100.192/28 | 193 ao 206 | 207
13 | 192.168.100.208/28 | 209 ao 222 | 223
14 | 192.168.100.224/28 | 225 ao 238 | 239
15 | 192.168.100.240/28 | 241 ao 254 (Invalida) | 255

Então temos todas as redes possiveis em que escolhemos 9 e as outra ficariam para uso futuro.

quarta-feira, 15 de outubro de 2008

IIS 7 + WEBDAV

Ao preparar o meu windows server 2008 reparei que este já não vem com o webdav o que nos causa alguns transtornos para a actualização dos sites.
Apenas ficamos com ftp, share na rede ou acesso local. Para a sua actualização, o que é impraticavel.

Depois de navegar um pouco pela web reparei que a Microsoft Reconheceu a falha e criou um pacote adicional com o webdav para o windows 2008 e IIS 7.

Aqui ficam os seus links

WEBDAV Service for IIS-7 x86

WEBDAV Service for IIS-7 X64

Já agora também ficam os links para o FTP service :)


FTP Service for IIS-7 X86


FTP Service For IIS-7 X64

terça-feira, 14 de outubro de 2008

Configurar o STEAM numa firewall

Tenho uma firewall e tive problemas com o sistema do Half Life 2 "STEAM".

Aqui fica a forma que eu contrei para o configurar.

Temos de permitir que o "SETAM" aceda livremente a estas portas:

Steam Client

* UDP 27000 to 27020 inclusive
* TCP 27020 to 27050 inclusive

Dedicated or Listen Servers

* TCP 27015 (SRCDS Rcon port)

Depois de criarmos estas entradas podemos dar uns tirinhos.

sexta-feira, 3 de outubro de 2008

Comandos a usar para envios SMS por telnet.

Deixo uma lista de comandos para quem quer enviar SMS por um telemovel ligado a um PC por telnet.
Isto pode ser usado para programáticamente criar-se uma forma de envio de mensagens SMS para telemoveis. Util para monitorizar sistemas ou situações que possam acontecer.
Alem destes comandos aproveito e deixo todos os comandos possiveis de executar no telemovel via telnet.


Comandos:

ATA - Atender Chamada
ATD - Comando de Marcação
ATH - Desligar Chamada
ATL - Verificar Speaker Loudness
ATM - Verificar Monitor Speaker Mode
ATO - ir On-Line
ATP - Marcação por Impulsos por defeito
ATT - Marcação por tons por defeito
AT+CSTA - Selecionar topo de morada
AT+CRC - Cellular Result Codes
ATI - Identificação
ATS - Selecionar um S-register
ATZ - Rechamar um perfil armazenado
AT&F - Restaurar defenições de fábrica
AT&V - Ver configuração activa
AT&W - Guardar parametros num determinado perfil
AT&Y - Selecionar "SET" como Powerup Option
AT+CLCK - Facility Lock Command
AT+COLP - Connected Line Identification Presentation
AT+GCAP - Pedir lista completa de capacidades
AT+GMI - Pedir identificação do fabricante
AT+GMM - Pedir identificação do modelo
AT+GMR - Request Revision Identification
AT+GSN - Pedir serial Number de produto.
AT+CBC - Carga da bateria
AT+CGMI - Pedir identificação do fabricante
AT+CGMM - Pedir identificação do modelo
AT+CGMR - Pedir identificação da revisão
AT+CGSN - Pedir o numero de serie do produto
AT+CMEE - Reportar erros de equipamento movel
AT+CPAS - Actividade de telefone e status
AT+CPBF - Encontrar Phone Book Entries
AT+CPBR - Ler Phone Book Entry
AT+CPBS - Selecionar Phone Book Memory Storage
AT+CPBW - Escrever Phone Book Entry
AT+CSCS - Selecionar TE Character Set
AT+CSQ - Qualidade de sinal
ATE - Command Echo
ATQ - Result Code Suppression
ATV - Define Response Format
ATX - Response Range Selection
AT&C - Define DCD Usage
AT&D - Define DTR Usage
AT&K - Select Flow Control
AT&Q - Define Communications Mode Option
AT&S - Define DSR Option
AT+ICF - DTE-DCE Character Framing
AT+IFC - DTE-DCE Local Flow Control
AT+IPR - Fixed DTE Rate
AT+CLIP - Calling Line Identification Presentation
AT+CR - Service Reporting Control
AT+DR - Data Compression Reporting
AT+ILRR - DTE-DCE Local Rate Reporting
ATB - Communications Standard Option
AT+CBST - Select Bearer Service Type
AT+CEER - Extended Error Report
AT+CRLP - Radio Link Protocol
AT+DS - Compressão de dados
A/ - Reexecutar a linha de comandos
AT? - Ajuda de comandos
AT*C - Iniciar SMS Interpreter
AT*T - Entrar em SMS Block Mode Protocol
AT*V - Activar modo V.25bis
AT*NOKIATEST - Commando de Teste
AT+CESP - Enter SMS Block Mode Protocol
AT+CSMS - Select Message Service
AT+CPMS - Preferred Message Storage
AT+CMGF - Message Format
AT+CSCA - Service Centre Address
AT+CSMP Defenir parametros do modo texto
AT+CSDH Mostrar parametros do modo texto

AT+CSCB - Selecionar "Cell Broadcast Message Types"
AT+CSAS - Gravar Definições
AT+CRES - Repor definições
AT+CNMI New Message Indications to TE
AT+CMSS Envia mensagem do armazenamento
AT+CMGD Apaga mensagens
AT+CMGL Lista mensagens
AT+CMGR Lê mensagem
AT+CMGS Envia mensagem
AT+CMGW Escreve mensagem na memória

quinta-feira, 2 de outubro de 2008

Para quem tem necessidades de Enviar SMS's

Aqui fica mais um bom programa e gratuito para envio de sms's.
Pode ser util para muitos administradores receberem informação dos seus serviços.

Microsoft® SMS Sender, Version 1.0

Basta instalar e ler o readme.html para saber como podemos enviar SMS's por linha de comandos.

domingo, 28 de setembro de 2008

Cluster Windows 2003 + Virtual Machine - Part II

Bem continuo sem ter imagens disto mas logo que as arranje eu coloco aqui.

Voltando ao assunto!

O que necessitamos para criar um cluster de windows 2003 em VMWARES?

1 - necessitamos do Windows 2003 Enterprise Edition.
2 - Criar uma VM
3 - Adicionar um Disco IDE virtual
4 - Adicionar outro disco SCSI (o de quorum) que vai ser partilhado pelo cluster
5 - Adicionar uma placa de Rede
6 - Adicionar outra placa de Rede, a que vai funcionar como heartbeat do cluster
7 - Criar outra VM exactamente igual á primeira...

Depois sobra-nos 2 problemas para resolver.
O primeiro que é como vamos partilhar o disco do Quorum o outro como vamos conseguir que o scsi seja correctamente detectado e funcione estavel.

Bem os 2 problemas até são simples de resolver.

O primeiro temos de editar o ficheiro com as defenições da VM o que tem extenção *.VMX e adicionar numa linha o seguinte texto disk.locking = false
O segundo temos de ir á página da VMware e retirar no folder drivers and tools os drivers para o controlador SCSI e instalar ou no inicio da instalação do windows selecionando a opção de adicionar drivers ou no fim da instalação do windows.

Espero ter tempo para arranjar umas imagens e colocar aqui para as coisas ficarem mais visiveis e fáceis de acompanhar.

O que é bom é para se dizer...

E o que é bom e gratuito melhor ainda.

Caso já tenham tropeçado em alguma necessidade de criar um ficheiro ISO a partir de qualquer fonte. Aqui fica o programa gratuito.

ImageBurn é o nome e penso que vale a pena

Cluster Windows 2003 + Virtual Machine

Estava tudo a correr bem com o VMWare 2.0 até que necessitei de criar um cluster de windows 2003 com 2 virtual machines.
Como estou entretido a analisar o VMWare 2.0 decidi cria-lo nesta aplicação e descrever o processo de criação.

É simples mas tem alguns pormenores que temos de saber se não o nosso cluster não se levanta.

Començando, criamos a virtual machine a que vamos chamar Node1

Opss...


Vai ter de ficar para a próxima, faltam as imagens...

:)

sábado, 27 de setembro de 2008

Vmware Server 2.0

Descobri agora que já saiu a versão do VMWARE Server 2.0.

Interessante estou já a instalar para dar uma olhada com mais detalhe...

Espero que este já funcione decentemente com o windows serever 2008.

Daqui a uns dias trago novidades.

domingo, 31 de agosto de 2008

e-Mail over Telnet... III

Depois de nos ligarmos por telnet ao servidor de SMTP na porta 25 iniciamos o dialogo...

Primeiro cumprimentamos o servidor com um silples...

Hello

Depois indicamos quem somos...

MAIL FROM: nosso@server.com

Depois obtemos uma resposta educada do genero "250 OK"
Seguidamente indicamos com quem queremos falar:
RCPT TO: Destino@algures.com, Todos_os_outros@aqui.com

Mais uma vez obtemos a resposta educada do servidor de destino: "250 OK"

Agora só falta dizer o que pensamos aos nossos destinatários.... para isso fazemos o seguinte:

DATA
Resto da mensagem aqui...
Podemos escrever o que queremos e dar entrers á vontade....
(comver não acabar paragrafos com ponto e enter... :)

Para indicar que chegamos ao fim temos de fazer:

.

"Carregamos no ponto e logo se seguida na tecla enter"

Seguida só nos resta fazer quit para sair do programa de telnet... Pois acabamos de enviar um email e de testar as nossas ligações / relays...


sexta-feira, 22 de agosto de 2008

e-Mail over Telnet II

Depois de executarmos o comando atrás indicado deveremos ter algo equivalente a isto no monitor.

hjfr-info.com MX preference = 10, mail exchanger = hjfr-info.com
hjfr-info.com internet address = 82.154.130.119

Neste exemplo podemos ver qual o nome do dominio que administra os nossos e-mails... e também qual o seu ip.

Agora é só fazer:

telenet 82.154.130.119 25 para obtermos ligação ao servidor de e-mail via smtp.

E isto é o que vemos de resposta da ligação ao servidor.

220 w2k3-srv.home Microsoft ESMTP MAIL Service ready at Fri, 22 Aug 2008 23:27:3 4 +0100

Neste caso o servidor de e-mail é um exchange com um pouco mais iformação do que deveria ter exposta para publico... :)


Continua...

quinta-feira, 7 de agosto de 2008

e-Mail over Telnet...

Bem para quem quiser enviar um email anónimo ou testar um servidor de e-mail publico ou privado... aqui fica a dica...

1- Descobrir qual o endereço do servidor de e-mail...

Normalmente um servidor de e-mail tem um dominio associado esse dominio tem um mxrecord associado indicando qual o ip que recebe e processa os e-mails.

Para o descobrir vamos usar uma ferramenta chamada nslookup que nos permite ligar a um servidor DNS publico ou privado para perguntar quais são os servidores de email que respondem a um determinado dominio, seja ele publico ou privado.

entao vamos escrever numa shell ou numa linha de comandos o seguinte comando:

nslookup
set type=MX
[escrever o dominio que queremos saber os SMTP server]
exit



Continua....

terça-feira, 5 de agosto de 2008

Um site de um Amigo...

Bem aqui fica um site de um amigo.

Ele também procura conhecimento e é sedento por aprender...

Anda agora pelas alturas e em verdadeira queda livre...

Aqui fica...

Tiago Vidigal

ehehe eu não tenho paciência para escrever o nome que falta...

Inicio...

Cheguei hoje a este universo...

Tenho esperanças de que o escrito aqui venha ser importante para os leitores da mesma forma que foi para mim.

Muito do conteudo deste blog é técnico com informações que vou reunindo nos meus dias de trabalho.

Até ao próximo post....