<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>beraldoleal.com</title>
	<atom:link href="http://beraldoleal.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://beraldoleal.com</link>
	<description>Just another geek site</description>
	<lastBuildDate>Sun, 06 Sep 2009 23:10:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mutt + sidebar patch + postfix + vim + offlineimap + cron = MUA perfeito (para mim)</title>
		<link>http://beraldoleal.com/index.php/2009/09/mutt-sidebar-patch-postfix-vim-offlineimap-cron-mua-perfeito-para-mim/</link>
		<comments>http://beraldoleal.com/index.php/2009/09/mutt-sidebar-patch-postfix-vim-offlineimap-cron-mua-perfeito-para-mim/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 23:08:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/?p=62</guid>
		<description><![CDATA[Fazia bastante tempo que eu queria voltar a usar o mutt, mas tinha perdido meus backups dos arquivos de configuração e estava sem tempo para configurá-lo novamente. Finalmente neste fds tive tempo para fazer a brincadeira funcionar com múltiplas contas. Depois eu posto aqui os arquivos de configuração.... (se me restar tempo...)

]]></description>
			<content:encoded><![CDATA[<p>Fazia bastante tempo que eu queria voltar a usar o mutt, mas tinha perdido meus backups dos arquivos de configuração e estava sem tempo para configurá-lo novamente. Finalmente neste fds tive tempo para fazer a brincadeira funcionar com múltiplas contas. Depois eu posto aqui os arquivos de configuração.... (se me restar tempo...)</p>
<p><a rel="lightbox" href="http://beraldoleal.com/wp-content/uploads/2009/09/mutt.png"><img class="alignnone size-medium wp-image-63" title="Mutt" src="http://beraldoleal.com/wp-content/uploads/2009/09/mutt-299x174.png" alt="Mutt" width="299" height="174" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2009/09/mutt-sidebar-patch-postfix-vim-offlineimap-cron-mua-perfeito-para-mim/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grabbing and sending packets with Scapy (Scapy, part 2)</title>
		<link>http://beraldoleal.com/index.php/2009/02/grabbing-and-sending-packets-with-scapy-scapy-part-2/</link>
		<comments>http://beraldoleal.com/index.php/2009/02/grabbing-and-sending-packets-with-scapy-scapy-part-2/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 19:15:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Admin]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/?p=61</guid>
		<description><![CDATA[HI folk, in the last post (a long time ago), I write a short introduction to Scapy tool. With this post, I need, show to you, how grab and send packets with Scapy. This is a good way to develop tools to test any network application, such study Kaminsky's DNS flaw, since no talks about [...]]]></description>
			<content:encoded><![CDATA[<p>HI folk, in the <a href="http://beraldoleal.com/index.php/2008/07/scapy-part-1/">last post</a> (a long time ago), I write a short introduction to <a href="http://www.secdev.org/projects/scapy/">Scapy tool</a>. With this post, I need, show to you, how grab and send packets with Scapy. This is a good way to develop tools to test any network application, such study <a href="http://www.unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html">Kaminsky's DNS flaw</a>, since no talks about anything else on the Internet.</p>
<p>In scapy there are many methods to send or receive a packet in network.  We have the families of commands, below:</p>
<ul>
<li><strong>Send family</strong> - Just send packets in layer 2 or 3.</li>
<li><strong>Send and Receive family</strong> - Send packets in layer 2 or 3 and print or store results.</li>
<li><strong>Sniff family</strong> - Receive packets in promisc mode and return them in a packet list.</li>
</ul>
<p>This post is not intended as a reference for each of the families above. For more informations, execute lsc() in scapy and see <a href="http://www.secdev.org/projects/scapy/files/scapydoc.pdf">Scapy doc</a>.</p>
<p>You can see a sample of Sniff family in action, below (execute scapy as root):</p>
<pre>&gt;&gt;&gt; a=sniff(count=2)
&gt;&gt;&gt; a
&lt;Sniffed: UDP:2 ICMP:0 TCP:0 Other:0&gt;
&gt;&gt;&gt; a.nsummary()
0000 Ether / IP / UDP / DNS Qry "www.google.com."
0001 Ether / IP / UDP / DNS Ans "www.l.google.com."
&gt;&gt;&gt; a[0].show()
###[ Ethernet ]###
dst= 00:03:99:89:83:a9
src= 00:1e:c9:1b:7b:da
type= 0x800
###[ IP ]###
version= 4L
ihl= 5L
tos= 0x0
len= 60
id= 12959
flags= DF
frag= 0L
ttl= 64
proto= udp
chksum= 0xd5af
src= 10.1.0.1
dst= 200.170.95.182
options= ''
###[ UDP ]###
sport= 54584
dport= domain
len= 40
chksum= 0x329c
###[ DNS ]###
id= 16628
qr= 0L
opcode= QUERY
aa= 0L
tc= 0L
rd= 1L
ra= 0L
z= 0L
rcode= ok
qdcount= 1
ancount= 0
nscount= 0
arcount= 0
qd
|###[ DNS Question Record ]###
|  qname= 'www.google.com.'
|  qtype= A
|  qclass= IN
an= 0
ns= 0
ar= 0
&gt;&gt;&gt;</pre>
<p>You can have many parameters in sniff() function, like a <strong>filter</strong> , <strong>timeout</strong> , an interface (<strong>iface</strong> ), and a function to apply to each packet (<strong>prn</strong> and <strong>lfilter</strong> ).</p>
<pre>&gt;&gt;&gt;  sniff(filter="udp and port 53", count=2, iface="eth0")
&lt;Sniffed: UDP:2 ICMP:0 TCP:0 Other:0&gt;
&gt;&gt;&gt;</pre>
<p><strong>Sending a simple ICMP packet</strong></p>
<pre>&gt;&gt;&gt; pkt=IP(dst="10.0.0.1")/ICMP()
&gt;&gt;&gt; pkt
&lt;IP  frag=0 proto=icmp dst=10.0.0.1 |&lt;ICMP  |&gt;&gt;
&gt;&gt;&gt; send(pkt,count=2)
..
Sent 2 packets.</pre>
<p>Ok, this is a simple sample, I know, but you now can use your mind and play with Scapy.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2009/02/grabbing-and-sending-packets-with-scapy-scapy-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scapy, part 1</title>
		<link>http://beraldoleal.com/index.php/2008/07/scapy-part-1/</link>
		<comments>http://beraldoleal.com/index.php/2008/07/scapy-part-1/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 16:45:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Admin]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/?p=57</guid>
		<description><![CDATA[Okay, you can say: You are outdated!! Since it is a tool of five years old. But I never gave  considerable attention to it. In last week I see in top 100 network security tool in Fyodor's site, and I can't stop using it. I am talking about the Scapy, a Python program that [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Okay, you can say: You are outdated!! Since it is a tool of five years old. But I never gave  considerable attention to it. In last week I see in top 100 network security tool in <a href="http://insecure.org/">Fyodor's site</a>, and I can't stop using it. I am talking about the <a href="http://www.secdev.org/projects/scapy/">Scapy</a>, a Python program that enables you to forge, dissect, emit or sniff network packets, probe, scan and what your mind wants.</p>
<p>This is a simple post, only to show the basic concepts of scapy.</p>
<p><strong>What is scapy?</strong></p>
<p>From <a href="http://www.secdev.org/projects/scapy/">Scapy</a>:</p>
<blockquote>
<p align="justify">"Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like  scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace  hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs  very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames,  combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on  WEP encrypted channel, ...), etc."</p>
</blockquote>
<p><strong>What you saw in scapy?</strong></p>
<p>If you, like me, needs tools to:</p>
<ul>
<li>Does unitary tests (ping, arp, traceroute, hping2, etc...);</li>
<li>Sniffing tool for captures packets and possibly dissects them (tcpdump, ethereal, vomit, iptraf, etc...);</li>
<li>Scanning a given range (nmap, amap, firewalk, etc...);</li>
<li>Forges packets and sends them (packeth, packit, packet excalibur, nemesis, tcpinject, libnet, etc...), and possibly</li>
<li>know the service / version of some host. (nmap, xprobe, p0f, cron-OS, queso, etc...)</li>
</ul>
<p>Then you need know scapy.</p>
<p>Scapy, has the following principle: Machines are good at decoding and humans are good at interpreting:</p>
<p>When a nmap tool say:</p>
<pre>Interesting ports on 10.0.0.1:
PORT   STATE    SERVICE
22/tcp filtered ssh</pre>
<p align="justify">Is different to say: It was an ICMP host unreachable. The port is not filtered, but there is no host behing the firewall.</p>
<p><strong>Okay, its show time!</strong></p>
<p>Install Scapy in your Unix box. Detail in <a href="http://www.secdev.org/projects/scapy/portability.html">Scapy portability page</a>.</p>
<p>Start scapy:</p>
<pre>anita:~# scapy
Welcome to Scapy (v1.1.1 / -)
&gt;&gt;&gt;</pre>
<p><strong>First steps with packet manipulation:</strong></p>
<pre>&gt;&gt;&gt; ip=IP(ttl=10)
&gt;&gt;&gt; ip
&lt; IP ttl=10 |&gt;
&gt;&gt;&gt; ip.src
’127.0.0.1’
&gt;&gt;&gt; ip.dst="192.168.1.1"
&gt;&gt;&gt; ip
&lt; IP ttl=10 dst=192.168.1.1 |&gt;
&gt;&gt;&gt; ip.src
’192.168.8.14’
&gt;&gt;&gt; del(ip.ttl)
&gt;&gt;&gt; ip
&lt; IP dst=192.168.1.1 |&gt;
&gt;&gt;&gt; ip.ttl
64
&gt;&gt;&gt; tcp=TCP(flags="SF")
&gt;&gt;&gt; pkt=ip/tcp
&gt;&gt;&gt; pkt
&gt;
&gt;&gt;&gt; pkt.command()
"IP(dst='192.168.1.1', ttl=10)/TCP(flags=3)"
&gt;&gt;&gt; pkt.show()
###[ IP ]###
version= 4
ihl= 0
tos= 0x0
len= 0
id= 1
flags=
frag= 0
ttl= 10
proto= tcp
chksum= 0x0
src= 10.1.0.1
dst= 192.168.1.1
options= ''
###[ TCP ]###
sport= ftp_data
dport= www
seq= 0
ack= 0
dataofs= 0
reserved= 0
flags= FS
window= 8192
chksum= 0x0
urgptr= 0
options= {}
&gt;&gt;&gt;</pre>
<p><strong>Some stuff you can do on a packet:</strong></p>
<ul>
<li><strong>str(pkt)</strong> to assemble the packet</li>
<li><strong>hexdump(pkt)</strong> to have an hexa dump</li>
<li><strong>ls(pkt)</strong> to have the list of fields values</li>
<li><strong>pkt.summary()</strong> for a one-line summary</li>
<li><strong>pkt.show()</strong> for a developped view of the packet</li>
<li><strong>pkt.show2()</strong> same as show but on the assembled packet (checksum is calculated, for instance)</li>
<li><strong>pkt.sprintf()</strong> fills a format string with fields values of the packet</li>
<li><strong>pkt.decode_payload_as()</strong> changes the way the payload is decoded</li>
<li><strong>pkt.psdump()</strong> draws a postscript with explained dissection</li>
<li><strong>pkt.pdfdump()</strong> draws a PDF with explained dissection</li>
<li><strong>pkt.command()</strong> return a Scapy command that can generate the packet</li>
</ul>
<p>You can send, receive, sniffer, and more. I will try show others methods in nexts parts.</p>
<p><strong>And the grand finale:</strong></p>
<pre>&gt;&gt;&gt; pkt.pdfdump()</pre>
<p>The output:<br />
<a rel="lightbox" href="http://beraldoleal.com/wp-content/uploads/2008/07/scapy.png"><img src="http://beraldoleal.com/wp-content/uploads/2008/07/scapy.png" alt="" width="350" /></a><br />
If I have time, I will write <a href="http://beraldoleal.com/index.php/2008/08/grabbing-and-sending-packets-with-scapy-scapy-part-2/">part 2</a>. Bye.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2008/07/scapy-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Development at the hackathon, go Forrest go!!</title>
		<link>http://beraldoleal.com/index.php/2008/06/development-at-the-hackathon-go-forrest-go/</link>
		<comments>http://beraldoleal.com/index.php/2008/06/development-at-the-hackathon-go-forrest-go/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 20:31:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/?p=56</guid>
		<description><![CDATA[In openbsd-misc mail list:

"Development is really fast right now, because of the hackathon in Edmonton. 
We are testing as much as we can before we commit, but as always during these hackathon processes we really depend on our user community -- to track our changes and help spot the occasional bug we accidentally introduce.
We are [...]]]></description>
			<content:encoded><![CDATA[<p>In openbsd-misc mail list:</p>
<blockquote><p>
"Development is really fast right now, because of the hackathon in Edmonton. </p>
<p>We are testing as much as we can before we commit, but as always during these hackathon processes we really depend on our user community -- to track our changes and help spot the occasional bug we accidentally introduce.</p>
<p>We are developing really fast and hard; please help us by testing really fast and hard too.</p>
<p>There are some snapshots being made, of course, but people who are familiar with checking out their own trees can really help us by buildind and running it immediately."
</p></blockquote>
<p>- Theo de Raddt, in a <a href="http://kerneltrap.org/mailarchive/openbsd-misc/2008/6/11/2091724"> June 11th, 2008 message</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2008/06/development-at-the-hackathon-go-forrest-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kids 0.1b released</title>
		<link>http://beraldoleal.com/index.php/2008/02/kids-01b-released/</link>
		<comments>http://beraldoleal.com/index.php/2008/02/kids-01b-released/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 16:47:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/46</guid>
		<description><![CDATA[
It is my great pleasure to announce the availability of KIDS 0.1b, an Kernel (Network) Intrusion Detection System. This project is the result of a year of research on kernel and Network IDS. The Kernel Intrusion Detection System-KIDS, is a Network IDS, where the main part, packets grab/string match, is running at kernelspace, with a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://beraldoleal.com/wp-content/uploads/2008/02/kids_logo2.png" alt="" align="left" /></p>
<p align="justify">It is my great pleasure to announce the availability of KIDS 0.1b, an Kernel (Network) Intrusion Detection System. This project is the result of a year of research on kernel and Network IDS. The Kernel Intrusion Detection System-KIDS, is a Network IDS, where the main part, packets grab/string match, is running at kernelspace, with a hook of Netfilter Framework. This project is not ready for use. It is only a proof of concept and should not be put in an environment in production, yet.</p>
<p align="justify">The main goal of KIDS is to try to reduce the delay in the processing of the rules, with the elimination of two changes in context (kernel-user-user-kernel), as this task is performed in kernelspace.</p>
<p align="justify">The main goal of KIDS is to try to reduce the delay in the processing of the rules, with the elimination of two changes in context (kernel-user-user-kernel), as this task is performed in kernelspace.</p>
<p align="justify">Very thanks to Amador Pahim, my boss and Teacher Advisor.</p>
<p align="justify">A more detailed document for development / hacking will be drafted later.</p>
<p>For more information about KIDS project, please see:</p>
<p><a href="http://sourceforge.net/projects/ids-kids/">http://sourceforge.net/projects/ids-kids/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2008/02/kids-01b-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitlbee</title>
		<link>http://beraldoleal.com/index.php/2008/01/bitlbee/</link>
		<comments>http://beraldoleal.com/index.php/2008/01/bitlbee/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 21:21:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/43</guid>
		<description><![CDATA[
Bom.. depois de mais de um mês out, voltei, espero. Ano novo, vida nova, cidade nova (estou morando agora em Sampa) e eu na luta para conseguir tempo para postar algo aqui.
Bom... eu sou fã do tal do IRC, desde de mil novecentos e bolinha, e depois que passei a usar o bitlbee, mais ainda! [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://beraldoleal.com/wp-content/uploads/2008/01/bitlbee.png" align="left" /></p>
<p align="justify">Bom.. depois de mais de um mês out, voltei, espero. Ano novo, vida nova, cidade nova (estou morando agora em Sampa) e eu na luta para conseguir tempo para postar algo aqui.</p>
<p align="justify">Bom... eu sou fã do tal do IRC, desde de mil novecentos e bolinha, e depois que passei a usar o <a href="http://www.bitlbee.org">bitlbee</a>, mais ainda! <img src='http://beraldoleal.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Para quem não conhece, trata-se de um gateway IRC para redes de instant messaging (atualmente suporta gtalk, jabber, yahoo, icq, msn, aim e skype). Se você fica conectado full time no IRC, trocando ideias com outros nerds, e não quer ter outras aplicações abertas como Gaim, Gtalk, amsn, ou qualquer outro IM, para falar com as pessoas que não usam IRC, seus problemas acabaram!! Instale hoje mesmo o <a href="http://www.bitlbee.org">bitlbee</a>, e tenha seus contatos em uma sala IRC, normalmente, com seu client preferido. Tem até integração com o emacs!</p>
<p align="justify">Instalação fácil fácil (disponível no apt-get mais próximo de você), conectou, registrou, logou, tá lá.. todos os contatos, perfeito! Ou quase, por default vem sem suporte a SSL, então trate de fazer um túnel seguro (<a href="http://www.stunnel.org">stunnel</a> é uma boa sugestão), e seja feliz.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2008/01/bitlbee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bebo nerd&#8230;</title>
		<link>http://beraldoleal.com/index.php/2007/12/bebo-nerd/</link>
		<comments>http://beraldoleal.com/index.php/2007/12/bebo-nerd/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 23:41:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Teletypewriter]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/42</guid>
		<description><![CDATA[Sabe aquelas brincadeiras de mesa de bar com os palitos de dente, ou coisa parecida? Bom, quem toma umas, sabe que bar também é cultura.... Mas nerd é osso, então, só pra pensar um pouquinho, um Puzzle C, bem conhecido:
Adicionando ou modificando apenas um caracter, no código abaixo, faça este código imprimir exatamente 20 asteriscos:

int [...]]]></description>
			<content:encoded><![CDATA[<p>Sabe aquelas brincadeiras de mesa de bar com os palitos de dente, ou coisa parecida? Bom, quem toma umas, sabe que bar também é cultura.... Mas nerd é osso, então, só pra pensar um pouquinho, um Puzzle C, bem conhecido:</p>
<p>Adicionando ou modificando apenas um caracter, no código abaixo, faça este código imprimir exatamente 20 asteriscos:</p>
<pre>
int main()
{
        int i, n = 20;
        for (i = 0; i &lt; n; i--)
                printf("*");
	return 0;
}</pre>
<p>É simples, e existem algumas soluções para isto! <img src='http://beraldoleal.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2007/12/bebo-nerd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oops</title>
		<link>http://beraldoleal.com/index.php/2007/09/oops/</link>
		<comments>http://beraldoleal.com/index.php/2007/09/oops/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 00:21:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/41</guid>
		<description><![CDATA[Quem disse que o Linux não trava ?? Que atire a primeira pedra quem nunca viu ao menos um kernel panic na tela ? Pois bem, quando um erro grave ocorre no sistema, entre outras coisas que o kernel faz uma delas é exibir no terminal e/ou sistema de log, uma mensagem bastante conhecida por [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Quem disse que o Linux não trava ?? Que atire a primeira pedra quem nunca viu ao menos um kernel panic na tela ? Pois bem, quando um erro grave ocorre no sistema, entre outras coisas que o kernel faz uma delas é exibir no terminal e/ou sistema de log, uma mensagem bastante conhecida por quem já passou por isso, a famosa mensagem de <strong>Oops</strong>. Trata-se de um dump do estado do CPU e da pillha do Kernel no momento em que o problema ocorreu. A mensagem de Oops mais conhecida é a que vem acompanhada de um kernel panic. Muitos ao se deparar com isso, percebem que nada funciona (na maioria dos casos), Ctrl+Alt+Backspace, teclas de função, e nem água, ai, simplesmente reiniciam a máquina, podendo causar ainda mais problemas.</p>
<p>Abaixo um exemplo de uma mensagem de Oops:</p>
<pre>Unable to handle kernel paging request at virtual address 00010015
 printing eip:
c01e6608
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[usb_unlink_urb+8/64]    Tainted: P
EFLAGS: 00010202
eax: 00010001   ebx: d70c6494   ecx: c7c81000   edx: 00010001
esi: c7c81640   edi: d70c6400   ebp: d70c64f0   esp: d2daded0
ds: 0018   es: 0018   ss: 0018
Process kpilotDaemon (pid: 30778, stackpage=d2dad000)
Stack: d892a2ed 00010001 d70c6494 d70c6400 d3df51c0 00000000 d8924350 d70c6494
       d3df51c0 d725a000 cc5faa40 c16063c0 c018c460 d725a000 d3df51c0 d3df51c0
       cc5faa40 c16063c0 c8117e40 00000001 d3df51c0 bffff0e8 00000000 00000000
Call Trace: [] [] [release_dev+576/1280]
[n_tty_ioctl+257/1200] [tty_release+10/16]
   [fput+76/224] [filp_close+92/112] [sys_close+67/96] [system_call+51/56] 

Code: 8b 42 14 85 c0 74 21 8b 80 bc 00 00 00 85 c0 74 17 8b 40 18</pre>
<p align="justify">Esta mensagem pode ajudar aos desenvolvedores do kernel a depurar melhor o problema, e mesmo que você não reporte o bug, você pode se utilizar de um recurso que foi desenvolvido pensando nisto: As <strong>Magic SysRq Keys</strong>.</p>
<p align="justify">Trata-se de uma combinação de teclas que é utilizada para comunicar-se com o kernel do Linux, caso a opção CONFIG_MAGIC_SYSRQ  tiver sido habilitada durante a compilação do kernel, ou em <strong>/proc/sys/kernel/sysrq</strong>.</p>
<p align="justify">Basta apertar <strong>Alt+PrintScreen+Tecla</strong> e a saída (dependendo da tecla) é enviada para o dmesg. Abaixo apenas algumas teclas:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td><strong>Tecla</strong></td>
<td><strong>Descrição</strong></td>
</tr>
<tr>
<td>t</td>
<td>Lista de tarefas/processos com suas informações detalhadas</td>
</tr>
<tr>
<td>u</td>
<td>Remonta todas as partições montadas, só que em read-only</td>
</tr>
<tr>
<td>m</td>
<td>Mostra informações sobre o estado atual da memória</td>
</tr>
<tr>
<td>e</td>
<td>Envia um sinal do tipo SIGTERM para todos os processos, exceto para o init</td>
</tr>
</tbody>
</table>
<p align="justify">Existe a famosa combinação: <strong>Alt+PrintScreen+R E I S U B</strong>, onde basicamente mata todos os processos, sincroniza os discos, remonta todas os filesystems montados em read-only, e só então reinicia a máquina. Por tanto, antes de "meter o dedão" no botão de power, <strong>REISUB</strong>. <img src='http://beraldoleal.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2007/09/oops/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Just for fun&#8230;</title>
		<link>http://beraldoleal.com/index.php/2007/08/just-for-fun/</link>
		<comments>http://beraldoleal.com/index.php/2007/08/just-for-fun/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 13:16:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Others]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/39</guid>
		<description><![CDATA[
Click na imagem acima para ampliar.
]]></description>
			<content:encoded><![CDATA[<p><center><a href="http://beraldoleal.com/wp-content/uploads/2007/08/tiraecol_en-260.png" rel="lightbox"><img src="http://beraldoleal.com/wp-content/uploads/2007/08/tiraecol_en-260.png" width="450" /></a></center></p>
<p>Click na imagem acima para ampliar.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2007/08/just-for-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vimdiff, a diferença diferente</title>
		<link>http://beraldoleal.com/index.php/2007/08/vimdiff-a-diferenca-diferente/</link>
		<comments>http://beraldoleal.com/index.php/2007/08/vimdiff-a-diferenca-diferente/#comments</comments>
		<pubDate>Sun, 19 Aug 2007 13:58:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Teletypewriter]]></category>

		<guid isPermaLink="false">http://beraldoleal.com/index.php/archives/37</guid>
		<description><![CDATA[Para nós, pobres mortais, analisar a saída do comando diff, pode não parecer muito amigável à primeira vista e as vezes precisamos conhecer o que mudou de um arquivo para outro, após uma edição. Bom, para os amantes do vi/vim o mesmo possui um utilitário chamado vimdiff, que em alguns casos, pode cair como uma [...]]]></description>
			<content:encoded><![CDATA[<p>Para nós, pobres mortais, analisar a saída do comando <em>diff</em>, pode não parecer muito amigável à primeira vista e as vezes precisamos conhecer o que mudou de um arquivo para outro, após uma edição. Bom, para os amantes do <em>vi/vim</em> o mesmo possui um utilitário chamado <strong><em>vimdiff</em></strong>, que em alguns casos, pode cair como uma luva, e ser muito útil.</p>
<p>O <strong><em>vimdiff</em></strong>, analisa a diferença entre dois ou três arquivos, dividindo a janela de edição e destacando as linhas que são diferentes entre estes arquivos. A navegação, ocorre da mesma forma quando se divide a janela de edição do <em>vim</em> através do comando <strong><em>:split</em></strong>, ou seja:</p>
<p>Ctrl-W + j = Vai para janela de baixo<br />
Ctrl-W + k =Vai para a janela de cima<br />
Ctrl-W + l = Vai para a janela da direita<br />
Ctrl-W + h = Vai para a janela da esquerada</p>
<p>Um exemplo do comando <strong><em>vimdiff</em></strong> em execução pode ser visto <a href="http://beraldoleal.com/wp-content/uploads/2007/08/vimdiff.png" rel="lightbox">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://beraldoleal.com/index.php/2007/08/vimdiff-a-diferenca-diferente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
