<?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>Piraten in der Wüste &#187; python</title>
	<atom:link href="http://blog.wuestenpirat.de/tag/python/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.wuestenpirat.de</link>
	<description>Ein Blog über das Leben und andere Spielereien</description>
	<lastBuildDate>Fri, 23 Jul 2010 11:28:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Tutorial: Plugins für den Glastopf</title>
		<link>http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html</link>
		<comments>http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html#comments</comments>
		<pubDate>Fri, 23 Oct 2009 20:06:41 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Glastopf]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=274</guid>
		<description><![CDATA[Tutorial: Plugins für den Glastopf Inhaltsverzeichnis 1. Einleitung 2. Was wird gebraucht? 3. Ein Überblick: Die Struktur des Plugins 4. Los geht's: Das Plugin 5. Sprachenwechsel: Annehmen der Glastopf Daten in PHP 6. Ausgeben der Daten in PHP 7. Schlusswort &#8230; <a href="http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://glastopf.1durch0.de/"><img class="size-full wp-image-275  aligncenter" title="Logo by Lukas Rist - http://glasblog.1durch0.de/" src="http://botnetz.com/wp-content/glastopf.png" alt="Logo by Lukas Rist" width="204" height="83" /></a><strong><br />
Tutorial: Plugins für den Glastopf</strong></p>
<hr />
<pre style="text-align: center;"><strong>Inhaltsverzeichnis</strong></pre>
<pre style="text-align: center;">1. Einleitung
2. Was wird gebraucht?
3. Ein Überblick: Die Struktur des Plugins
4. Los geht's: Das Plugin
5. Sprachenwechsel: Annehmen der Glastopf Daten in PHP
6. Ausgeben der Daten in PHP
7. Schlusswort</pre>
<p><strong>» Einleitung</strong></p>
<p>Seit einiger Zeit kann man für den Glastopf Honeypot eigene Module/Plugins basteln. Genauso wie beim Amun Honeypot, werden diese in der Skriptsprache <em>&#8220;Python&#8221;</em> geschrieben.<br />
Ich habe mich jetzt die letzten Tage ein klein wenig damit beschäftigt, vorallem, weil ich für meinem Blog gerne eine Statistk wollte.</p>
<p>Es hat mich überrascht, das es kaum Zeit brauchte, bis alles funktionierte. Die mitgelieferten Plugins, wie das Twitter oder IRC Plugin reichen vollkommen aus, um sich abzuleiten wie man was eigenes schreibt.</p>
<p>In diesem Tutorial will ich euch an einem Beispiel zeigen, wie man solch ein Plugin schreibt. Hierbei werden wir Python und PHP verwenden, um dies zu realisieren.</p>
<p><strong>» Was wird gebraucht?</strong></p>
<p>Um das Ganze hier schnell zu machen, zähle ich die Dinge, die benötigt werden mal eben in einer Liste auf:</p>
<ul>
<li>Grundlegende Kenntnisse in Python und PHP</li>
<li>Python &gt;= 2.5 auf dem Glastopf Server, PHP &gt;= 5 auf dem Webserver, MySQLdb Modul für Python 2.5, MySQL Datenbank auf dem Glastopf Server System</li>
<li>mysql.py in der glastopf.cfg aktiviert</li>
<li>funktionierende Glastopf Revision &gt;= 189 Installation</li>
</ul>
<p>Wichtig ist vorallem das ihr MySQL auf eurem Glastopf Server installiert habt, sowie das Plugin in der Config aktiviert ist, da sonst ohne dies keine Statistiken erfasst werden und zum Webupdater gesendet werden können.</p>
<p><strong>» Was programmieren wir jetzt?</strong></p>
<p>Wir werden uns jetzt ein kleines Plugin für den Glastopf schreiben, was jede Stunde Statistiken übermittelt, ähnlich wie das Twitter Plugin.<br />
Dieses Plugin übermittelt in diesem vorgegebenen Zeitraum folgendes: Anzahl der Unique IPs, Anzahl der Unique Paths und die Anzahl der Angriffe in den letzten 60 Minuten.<br />
Um diese Sachen zu erfassen, werden wir zwei PHP Skripte benötigen, das Erste nimmt die Daten vom Glastopf entgegen, das Zweite gibt diese wieder aus.</p>
<p><strong>» Ein Überblick: Die Struktur des Plugins<br />
</strong></p>
<p>Sehen wir uns die Ordnerstruktur des Glastopfes einmal an:</p>
<blockquote><p>glastopf@honeypot:/home/glastopf/topf$ ls<br />
AUTHORS    CREDITS  README  files  modules  res<br />
CHANGELOG  LICENSE  conf    log    plugins  webserver.py</p></blockquote>
<p>Im Hauptordner finden wir einen <em>&#8220;files&#8221;</em>-Ordner, wo die Malware gespeichert wird, im <em>&#8220;modules&#8221;</em>-Ordner sind Topfeigene Module enthalten, der <em>&#8220;conf&#8221;</em>-Ordner beinhaltet die Konfigurationsdateien, im <em>&#8220;log&#8221;</em>-Ordner finden wie Logdateien und im letzten Ordner<em> &#8220;plugins&#8221;</em> sind unsere hausgemachten Plugins enthalten.</p>
<p>Uns interessiert jetzt eigentlich nur der<em> &#8220;conf&#8221;</em> und der<em> &#8220;plugins&#8221;</em>-Ordner. Die restlichen können wir ausser acht lassen. Theoretisch ist das Plugin, was wir schreiben ein Logging Module, wie das hauseigene Twitter Modul. Allerdings werden wir ein wenig tricksen, damit unser Plugin als Dataplugin durchgeht. (Wir könnten uns auch die Mühe machen und die <em>&#8220;logger.py&#8221; </em>im <em>&#8220;modules&#8221;</em>-Ordner editieren, damit wir unser Plugin im <em>&#8220;logmodules&#8221;</em>-Unterordner ablegen können.)</p>
<p>Das soll uns aber nicht weiter groß stören. Mal sehen ob da in Zukunft noch eine Unterteilung in Log &#8211; und Datahandling Module eingebettet wird. An sich ist es aber gar nicht mal schlecht, unser Plugin als Datahandling Modul zu bauen, da wir später noch die Möglichkeit haben, komplette Datensätze zu verschicken. (Aber dazu werde ich vielleicht irgendwann nochmal einen Artikel schreiben.)</p>
<p>Da wir flexibel sind, bekommt unser Plugin natürlich auch eine eigene Konfiguration. (Ob das jetzt UNBEDINGT von Nöten ist, ist ja erstmal egal.)<br />
Dazu können wir jetzt schonmal in unserer IDE einen Unterordner &#8220;<em>conf&#8221; </em>sowie eine leere Datei <em>&#8220;gsweb.cfg&#8221;</em> anlegen. Danach folgt dann auch gleich noch der Unterordner <em>&#8220;plugins&#8221;</em>, in dem wir eine Datei<em> &#8220;gsweb.py&#8221; </em>anlegen.</p>
<p>Die PHP Dateien können wir erstmal in einem Unterordner <em>&#8220;php&#8221;</em> ablegen. Wie diese genannt werden, ist relativ egal, Vollständigkeitshalber nennen wir diese<em> &#8220;gssubmit.php&#8221;</em> und <em>&#8220;gsshow.php&#8221;</em>.</p>
<p><strong>» Los geht&#8217;s: Das Plugin</strong></p>
<p>Als erstes machen wir uns an die Python-Programmierarbeit. Um es einfacher zu gestalten, werde ich immer ein Stückchen Code posten und diesen dann erklären.</p>
<p>Schreiben wir uns zu allererst mal die benötigte Konfigurationsdatei, die wir gerade angelegt haben:</p>
<blockquote><p>[gsweb]</p>
<p>UpdateURL: http://glastopfblog.tld/gssubmit.php # URL to the submit script</p></blockquote>
<p>Wir ihr unschwer erkennen könnt, hat diese Konfiguration nur 2 Zeilen. Das <em>&#8220;[gsweb]&#8220;</em> dient dazu, dass der ConfigReader erkennen kann, in welchem Abschnitt er gerade ist und <em>&#8220;UpdateURL&#8221;</em> ist die URL zu eurer PHP Datei, die Daten vom Glastopf entgegen nimmt.</p>
<p>Nur noch kurz abspeichern, und die Konfiguration wäre soweit geschafft.</p>
<p>Jetzt geht es an den Käse! Die <em>&#8220;gsweb.py&#8221;</em>!</p>
<p>Schauen wir uns zunächst die Imports an:</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #483d8b;">&quot;&quot;&quot; Importing modules &quot;&quot;&quot;</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">datetime</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib2</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">ConfigParser</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">threading</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">time</span><br />
<span style="color: #ff7700;font-weight:bold;">import</span> MySQLdb<br />
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span><br />
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">time</span> <span style="color: #ff7700;font-weight:bold;">import</span> localtime, strftime<br />
<br />
<span style="color: #ff7700;font-weight:bold;">from</span> settings <span style="color: #ff7700;font-weight:bold;">import</span> options</div></div>
<p>Diesen Abschnitt müsste ich eigentlich nicht weiter erklären, da er wichtige Module lädt, die für die Ausführung des Plugins benötigt werden. Unteranderem &#8220;<em>urllib&#8221; </em>und <em>&#8220;urllib2&#8243;</em>, die zur Übermittlung von HTTP Daten genutzt werden.</p>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">class</span> toWeb<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:</div></div>
<p>Wir bauen uns als erstes eine kleine Klasse.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; config = <span style="color: #dc143c;">ConfigParser</span>.<span style="color: #dc143c;">ConfigParser</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; Reading MySQL Options &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; config.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;conf/glastopf.cfg&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span> = <span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;host&quot;</span> : config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mysql&quot;</span>, <span style="color: #483d8b;">&quot;host&quot;</span><span style="color: black;">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;port&quot;</span> : config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mysql&quot;</span>, <span style="color: #483d8b;">&quot;port&quot;</span><span style="color: black;">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;user&quot;</span> : config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mysql&quot;</span>, <span style="color: #483d8b;">&quot;user&quot;</span><span style="color: black;">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;pass&quot;</span> : config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mysql&quot;</span>, <span style="color: #483d8b;">&quot;pass&quot;</span><span style="color: black;">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;db&quot;</span> : config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mysql&quot;</span>, <span style="color: #483d8b;">&quot;db&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; Reading Glastopf Webupdate Options &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; config.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;conf/gsweb.cfg&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">UpdateURL</span> = config.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;gsweb&quot;</span>, <span style="color: #483d8b;">&quot;UpdateURL&quot;</span><span style="color: black;">&#41;</span></div></div>
</pre>
<p>Hier lesen wir zuerst unsere beiden Konfigurationsdateien aus, einmal die für den MySQL Server und unsere Webupdater Konfiguration. Danach starten wir einen Timer, der in einem vorgegeben Zeitraum etwas ausführt. (Dazu später noch mehr.)</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> update<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, data<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; POST new data to the Webupdate.php &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; parameter = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'update'</span> : data<span style="color: black;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; parameter = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlencode</span><span style="color: black;">&#40;</span>parameter<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; request = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">Request</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">UpdateURL</span>, parameter<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; response = <span style="color: #dc143c;">urllib2</span>.<span style="color: black;">urlopen</span><span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">!</span>= <span style="color: #483d8b;">&quot;SUCCESS&quot;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;GsWEB - Error: Couldn't update. (%s)&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1024</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">else</span>: <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;GsWEB: Successfully updated...&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">except</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;GsWEB - Error: Couldn't update.&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">pass</span></div></div>
</pre>
<p>Nachdem wir nun alles initialisiert und ausgelesen haben,  schauen wir uns die Funktion an, die unsere Daten vom Glastopf übermittelt.</p>
<p>Um den Glastopf vor unschönen Abstürzen zu bewahren, packen wir unseren Code in einen Try/Except-Block. Hier geben wir mit der <em>&#8220;parameter&#8221;</em>-Variable an, was an unsere <em>&#8220;gssubmit.php&#8221;</em>-Datei per POST gesendet wird. Hier gibt es eigentlich nicht mehr viel zu erklären, wir encoden die Daten, so dass wir sie danach senden können. Ist alles in Ordnung, sendet unsere PHP Datei <em>&#8220;SUCCESS&#8221;</em> zurück.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> dbconnect<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mysql = MySQLdb.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;host&quot;</span><span style="color: black;">&#93;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;user&quot;</span><span style="color: black;">&#93;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;pass&quot;</span><span style="color: black;">&#93;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;db&quot;</span><span style="color: black;">&#93;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">mysql_opts</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">&quot;port&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">except</span> MySQLdb.<span style="color: black;">Error</span>, e:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;MySQL Error %d: %s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>e.<span style="color: black;">args</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, e.<span style="color: black;">args</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">pass</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql.<span style="color: black;">threadsafety</span> = <span style="color: #ff4500;">2</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> mysql</div></div>
</pre>
<p>Auch hier ist nicht viel zu sagen. Die Funktion verbindet sich mit dem MySQL Server.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> squawk_all<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:</div></div>
</pre>
<p>Hier kommen wir noch einmal zu einer interessanten Funktion, die ein wenig näher erläutert werden sollte. Mit dieser Funktion ziehen wir unsere Daten aus der MySQL Datenbank und setzen sie zu einem einheitlichen Datensatz zusammen, der später von unserem PHP Skript bearbeitet werden kann.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; mysql = gsweb.<span style="color: black;">dbconnect</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor = mysql.<span style="color: black;">cursor</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; sql1 = unique IPs, sql2 = unique paths, sql3 = attacks in 60 minutes &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; sql = <span style="color: black;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;1&quot;</span> : <span style="color: #483d8b;">&quot;&quot;&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT ip FROM log<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GROUP BY ip<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;2&quot;</span> : <span style="color: #483d8b;">&quot;&quot;&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT vicpath FROM path<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;3&quot;</span> : <span style="color: #483d8b;">&quot;&quot;&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT id FROM log<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHERE attime &amp;gt; %s<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: black;">&#125;</span></div></div>
</pre>
<p>Hier verbinden wir uns zur MySQL Datenbank und legen dann fest, welche Queries gesendet werden sollen. Hier habe ich ein <em>Dict</em> als Variablentyp genommen, da es am sinnvollsten erscheint. (Klar, man könnte auch alle 3 SQL Queries in 3 verschiedene Variablen packen&#8230;)</p>
<p>Was die einzelnen Queries nun machen, steht im Kommentar.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; first sql query for the IPs &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor.<span style="color: black;">execute</span><span style="color: black;">&#40;</span>sql<span style="color: black;">&#91;</span><span style="color: #483d8b;">'1'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; message = <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>cursor.<span style="color: black;">rowcount</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot;|&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; second sql query for the paths &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; cursor.<span style="color: black;">execute</span><span style="color: black;">&#40;</span>sql<span style="color: black;">&#91;</span><span style="color: #483d8b;">'2'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; message = message + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>cursor.<span style="color: black;">rowcount</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot;|&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; third sql query for the attacks &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; lasttime = <span style="color: black;">&#40;</span><span style="color: #dc143c;">datetime</span>.<span style="color: #dc143c;">datetime</span>.<span style="color: black;">now</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> - <span style="color: #dc143c;">datetime</span>.<span style="color: black;">timedelta</span><span style="color: black;">&#40;</span>minutes=<span style="color: #ff4500;">60</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">strftime</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%Y-%m-%d %X&quot;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">try</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cursor.<span style="color: black;">execute</span><span style="color: black;">&#40;</span>sql<span style="color: black;">&#91;</span><span style="color: #483d8b;">'3'</span><span style="color: black;">&#93;</span>, <span style="color: black;">&#40;</span>lasttime,<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">except</span> MySQLdb.<span style="color: black;">Error</span>, e:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;MySQL Error %d: %s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>e.<span style="color: black;">args</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, e.<span style="color: black;">args</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; message = message + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>cursor.<span style="color: black;">rowcount</span><span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot;|&quot;</span> + strftime<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;%a, %d %b %Y %H:%M:%S&quot;</span>, localtime<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></div></div>
</pre>
<p>Jetzt führen wir diese Queries aus, packen das Result davon in eine Variable und fügen zusätzlich noch einen <em>&#8220;I&#8221; </em>als Delimiter hinzu.<br />
Bei der <em>&#8220;lasttime&#8221;</em>-Variable wird festgestellt, welche Angriffe in den letzten 60 Minuten stattfanden.<br />
Wenn wir alle 3 Results zusammengesetzt haben, senden wir noch Zeit und Datum mit.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #483d8b;">&quot;&quot;&quot; close the MySQL connection and update &quot;&quot;&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; gsweb.<span style="color: black;">update</span><span style="color: black;">&#40;</span>message<span style="color: black;">&#41;</span></div></div>
</pre>
<p>Ist alles getan, schließen wir die Verbindung zum MySQL Server und senden den Datensatz an unser PHP Skript.</p>
<p>Jetzt haben wir unsere Klasse soweit fertiggestellt. Aber bisher haben wir NUR die Klasse, die bisher noch nichts macht, ausser im Quellcode stehen. Wir brauchen also noch ein Stückchen Code, der mit der Klasse umgeht. Zu diesem Abschnitt kommen wir jetzt.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">def</span> dbwrite<span style="color: black;">&#40;</span>data<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">pass</span></div></div>
</pre>
<p>Oh, eine Funktion die gar nichts macht? Erinnert euch einmal zurück, ein Stück weiter oben hatte ich erwähnt, dass wir ein wenig tricksen müssen um unser Modul als Datahandlingplugin auszugeben. Die <em>&#8220;dbwrite&#8221;</em>-Funktion wird normalerweise vom Datahandler mit Daten gefüttert, die wir jetzt theoretisch noch weiterverarbeiten könnten. Da wir aber nur eine grobe Statistik führen wollen, fällt das ganze hier flach. Die Funktion habe ich nur mit in den Code genommen, damit uns der Glastopf keine Exception ausgibt.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #ff7700;font-weight:bold;">class</span> Timed<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> action<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">self</span>.<span style="color: black;">canceled</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gsweb = toWeb<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gsweb.<span style="color: black;">squawk_all</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">timed</span>.<span style="color: black;">start_timer</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> start_timer<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">canceled</span> = <span style="color: #008000;">False</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">timed</span> = Timed<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">t</span> = <span style="color: #dc143c;">threading</span>.<span style="color: black;">Timer</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3600</span>, timed.<span style="color: black;">action</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">t</span>.<span style="color: black;">start</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">def</span> stop_timer<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">t</span>.<span style="color: black;">cancel</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #008000;">self</span>.<span style="color: black;">canceled</span> = <span style="color: #008000;">True</span></div></div>
</pre>
<p>Diese Klasse dient als Timer. Sie sorgt quasi dafür, dass jede Stunde der Updateprozess gestartet wird und Daten an unser PHP Skript geschickt werden. Bedarf eigentlich auch keiner größeren Beschreibung.</p>
<pre>
<div class="codecolorer-container python default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">gsweb = toWeb<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
timed = Timed<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
timed.<span style="color: black;">start_timer</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
<span style="color: #ff7700;font-weight:bold;">def</span> cancelit<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; timed.<span style="color: black;">stop_timer</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><br />
<br />
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;GsWeb - Webupdater plugin loaded...&quot;</span><br />
<span style="color: #dc143c;">time</span>.<span style="color: black;">sleep</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span></div></div>
</pre>
<p>Puh. Gleich habens wir geschafft. Die letzten Zeilen Code sind dafür da, die Klassen zu initialisieren und eine kurze Meldung auszugeben, dass das Plugin gestartet wurde.</p>
<p><strong>» Sprachenwechsel: Annehmen der Glastopf Daten in PHP</strong></p>
<p>Das Plugin für den Glastopf wäre soweit fertig. Aber ohne unser PHP Skript kann es noch nicht viel machen. Als erstes werden wir also ein Skript schreiben, dass die Daten entgegennimmt und diese in eine Datei schreibt. Klingt einfach. Ist es auch.</p>
<p>Bevor ihr anfangt, achtet bitte darauf, dass ihr der Datei, in die euer Skript schreiben soll, die richtigen Chmod Rechte gebt. Sonst wundert ihr euch am Ende, warum es nicht geht und sucht wahrscheinlich Stunden nach den Fehler.</p>
<pre>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php<br />
<span style="color: #666666; font-style: italic;">/* Options */</span><br />
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;gsweb.dat&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$trusted</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;127.0.0.1&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;721.0.0.1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
</pre>
<p>In unserem PHP Skript werden wir die Optionen direkt festlegen, da eine Konfigurationsdatei hier überflüssig wäre. (Und ich ehrlich gesagt keine Ahnung hab, wie ich in PHP Konfigurationsdateien schreibe &amp; auslese.)</p>
<p>Also, die <em>&#8220;$data&#8221;</em>-Variable gibt an, in welcher Datei die Daten abgelegt werden. Dieser solltet ihr die entsprechenden Chmod Rechte geben.<br />
Bei der <em>&#8220;$trusted&#8221;</em>-Variable solltet ihr die IP Adresse von dem Server angeben, auf dem euer Glastopf läuft. Hier könnt ihr mehrere IP Adressen eintragen, die berechtigt sind, Daten zu speichern.</p>
<pre>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Checking if the accessing IP address is a trusted source.</span><br />
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$trusted</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$trust</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$trust</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$safe</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$safe</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
</pre>
<p>Hier fragen wir in einer Schleife ab, ob die IP Adresse die auf das Skript zugreift überhaupt berechtigt ist. Wenn das zutrifft, wird die <em>&#8220;$safe&#8221;</em>-Variable auf <em>TRUE</em> gesetzt und die Schleife unterbrochen.</p>
<pre>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// If the source is safe, proceed.</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$safe</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Getting the data</span><br />
<span style="color: #000088;">$submit</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'update'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Checking if the file is writable</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/is_writable"><span style="color: #990000;">is_writable</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$submit</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;ERROR|NO_DATA&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$handle</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'w'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;ERROR|404&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Can't write to file</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> <span style="color: #000088;">$submit</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;ERROR|403&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// If wrote, SUCCESS and close the file</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;SUCCESS&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;&amp;lt;a href=&quot;</span><span style="color: #339933;">/</span><span style="color: #0000ff;">&quot;&amp;gt;back to home&quot;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></div>
</pre>
<p>Wenn die Abfrage geklärt ist und alles in Ordnung ist, erhalten wir die ge<em>POST</em>eteten Daten, checken ob die Datei schreibbar ist und falls dies so ist, geben wir <em>&#8220;SUCCESS&#8221;</em> zurück.<br />
Falls unsere IP nicht berechtigt ist, wird einfach ein Link eingeblendet, der zurück auf die Hauptseite verweist. Damit wäre unser Skript, was die Daten entgegennimmt fertig.</p>
<p><strong>» Ausgeben der Daten in PHP</strong></p>
<p>Wir sind jetzt fast fertig mit unserem Plugin. Bevor wir uns dem Test widmen, müssen wir aber noch das Skript schreiben, dass den ganzen Kram ausgibt.<br />
Das ist aber eine Sache von 5 Minuten.</p>
<pre>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php<br />
<span style="color: #666666; font-style: italic;">/* Options */</span><br />
<span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;gsweb.dat&quot;</span><span style="color: #339933;">;</span></div></div>
</pre>
<p>Auch hier haben wir wieder eine kurze Optionen-Sektion. Diese Gibt an, welche Datei den gelesen werden soll.</p>
<pre>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$handle</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'r'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;Error reading glastopf informations.&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$line</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fgets"><span style="color: #990000;">fgets</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$line</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'|'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$line</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">print</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$line[0]</span> IPs in database<br />
<span style="color: #006699; font-weight: bold;">$line[1]</span> Paths in database<br />
<span style="color: #006699; font-weight: bold;">$line[2]</span> Attacks in the last hour<br />
&lt;span style=&quot;</span>font<span style="color: #339933;">-</span>size<span style="color: #339933;">:</span>9px<span style="color: #339933;">;</span><span style="color: #0000ff;">&quot;&gt;(last updated: <span style="color: #006699; font-weight: bold;">$line[3]</span>)&quot;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
?<span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span></div></div>

</span></pre>
<p>Wir öffnen die Datei, splitten die Daten nach <em>&#8220;|&#8221;</em> und geben diese dann aus.</p>
<p>Fertig!</p>
<p>Jetzt müssen wir nur noch die <em>&#8220;glastopf.cfg&#8221;</em> bearbeiten und unter <em>&#8220;dataplugins&#8221;</em> unser Plugin <em>&#8220;gsweb.py&#8221;</em> einfügen.<br />
Die <em>&#8220;gsweb.cfg&#8221;</em> wird ebenfalls im Config Ordner des Glastopfes abgelegt und unser <em>&#8220;gsweb.py&#8221;</em> in den Pluginordner.</p>
<p>Unsere beiden PHP Skripte legen wir jetzt auf unserem Webserver, auf dem auch ein Blog oder eine sonstige Webseite liegt ab. Unser Skript, dass die Daten ausliest, kann über einen PHP include leicht eingebunden werden. Sollte alles erledigt sein, kann der Glastopf wie gewohnt gestartet werden und die Meldung, dass unser Plugin geladen wurde, sollte zu sehen sein.</p>
<p><strong>» Schlusswort</strong></p>
<p>Ich hoffe das dass Tutorial verständlich rübergekommen ist und ihr euch einen Überblick darüber verschaffen konntet, wie ihr eigene Plugins für den Glastopf schreiben könnt.<br />
Falls ihr noch Fragen habt oder irgendeinen Fehler im Artikel findet, schreibt einfach einen Kommentar und ich schaue, dass ich euch helfen kann.</p>
<p>Wie gesagt, das Tutorial deckt nur einen kleinen Teil ab und zeigt, wie man anfangen kann, den Glastopf selber zu erweitern. Wenn man es richtig nimmt, ist dieses Plugin eigentlich nur eine Modifikation des Twitter Plugins. Man kann mit den Daten natürlich noch viel mehr anstellen, unteranderem könnte man ein Plugin schreiben, dass die Angriffe Live protokolliert und automatisiert Abuse Meldungen an die Hoster sendet usw.</p>
<p>Falls der Code im Tutorial nicht funktionieren solltet, wieso auch immer, für denjenigen habe ich das Plugin nochmal gezippt hochgeladen.</p>
<p>Download hier =&gt; <a href="http://botnetz.com/wp-content/gsweb-1.0.zip">gsweb.zip</a></p>
<p>So, viel Spaß mit diesem Plugin, wenn ihr mal oben links schaut, seht ihr, dass ich dieses Plugin schon benutze und es soweit 1a funktioniert. Wenn ich Lust habe, werde ich den Artikel eventuell auch noch ins Englische übersetzen.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf+http://is.gd/bUjup" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;submitHeadline=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;bm_description=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;title=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Ftutorial-plugins-fur-den-glastopf.html&amp;t=Tutorial%3A+Plugins+f%C3%BCr+den+Glastopf" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2009. |
<a href="http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html&title=Tutorial: Plugins für den Glastopf">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/glastopf-security" rel="tag">Glastopf</a>, <a href="http://blog.wuestenpirat.de/tag/plugin" rel="tag">plugin</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/tutorial-plugins-fur-den-glastopf.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Frühjahrsputz</title>
		<link>http://blog.wuestenpirat.de/fruhjahrsputz.html</link>
		<comments>http://blog.wuestenpirat.de/fruhjahrsputz.html#comments</comments>
		<pubDate>Tue, 31 Mar 2009 04:09:54 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Die Welt]]></category>
		<category><![CDATA[Amun]]></category>
		<category><![CDATA[cyberhackers]]></category>
		<category><![CDATA[Glastopf]]></category>
		<category><![CDATA[infiltrator]]></category>
		<category><![CDATA[IRCbm]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=202</guid>
		<description><![CDATA[Guten Morgen. Ich hab dem Blog jetzt mal nach einen paar Monaten wieder ein neues Design verpasst, da mich das alte anödete. Ich fand es einfach zu dunkel. Das neue hier ist schön hell, vermittelt einen tollen Eindruck und ich &#8230; <a href="http://blog.wuestenpirat.de/fruhjahrsputz.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Guten Morgen.</p>
<p>Ich hab dem Blog jetzt mal nach einen paar Monaten wieder ein neues Design verpasst, da mich das alte anödete. Ich fand es einfach zu dunkel. Das neue hier ist schön hell, vermittelt einen tollen Eindruck und ich hoffe das es mich nicht wieder so schnell anöden wird. :]</p>
<p>Die Sidebar ist ein wenig aufgeräumt worden und mal schauen, was ich demnächst noch so anpassen kann. Eventuell noch eine Übersetzung des Themes ins deutsche.</p>
<p>Wie gehts sonst weiter? Die Projekte, die ihr im Sidebar Widget seht, sind derzeit alle auf Pending oder Auf Eis. Liegt wohl daran, dass ich mir derzeit erstmal klar werden muss, welche Projekte noch sinnig sind, an welchen ich noch Lust habe usw. Was IRCbm angeht, glaube ich das es nicht mehr allzuviel Sinn macht, solch eine Applikation zu schreiben. Mit dem <a href="http://zeroq.kulando.de/post/2008/10/20/infiltrator-v0.3">Infiltrator</a> hat man hier schon eine Lösung in Python vorgestellt bekommen. Auch wenn ich ihn noch nicht getestet hab, aber ich denke er wird seine Arbeit verrichten. Falls man wirkliche Interesse an einem bestimmten Netz hat, kann man dieses auch manuell beobachten.</p>
<p>log_IRC hierbei werde ich wohl wieder aufnehmen, allerdings tendiere ich dazu das Twisted Framework für den IRC Part zu nutzen. Ich mag anmerken, das die aktuelle log_IRC Beta <strong>NICHT</strong> mit Amun v 0.17 funktioniert. Sollte das ganze gut funktionieren, werde ich es wahrscheinlich noch für den <a href="http://glastopf.1durch0.de/">glastopf</a> portieren.</p>
<p>Außerdem bin ich noch am überlegen, welche weiteren logging Module einen Sinn ergeben würden. Nun noch zu der Cyberhackers Geschichte. Auch wenn da bisher noch nicht wirklich etwas veröffentlicht wurde und der Blog auch derzeit offline ist, das ganze ist nicht tot. Derzeit fehlt mir nur die Motivation, der Ansporn und eine vernünftige Idee dafür. Ansätze für den Prolog sind bereits vorhanden und sofern ich mehr Lust am schreiben habe, werde ich den Blog wieder online setzen und das ganze veröffentlichen.</p>
<p>So, einen schönen Dienstag wünsche ich. Ihr werdet in ein paar Tagen wieder von mir hören.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_204" class="wp-caption aligncenter" style="width: 260px;">
<dt class="wp-caption-dt"><a rel="attachment wp-att-204" href="http://botnetz.com/fruhjahrsputz.html/dsc00408"><img class="size-medium wp-image-204" title="Rennmäuschen :]" src="http://botnetz.com/wp-content/dsc00408-250x187.jpg" alt="Rennmäuschen :]" width="250" height="187" /></a></dt>
</dl>
</div>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Fr%C3%BChjahrsputz+http://is.gd/bW4X2" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;submitHeadline=Fr%C3%BChjahrsputz&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;bm_description=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;title=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Ffruhjahrsputz.html&amp;t=Fr%C3%BChjahrsputz" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2009. |
<a href="http://blog.wuestenpirat.de/fruhjahrsputz.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/fruhjahrsputz.html#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/fruhjahrsputz.html&title=Frühjahrsputz">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/amun" rel="tag">Amun</a>, <a href="http://blog.wuestenpirat.de/tag/cyberhackers" rel="tag">cyberhackers</a>, <a href="http://blog.wuestenpirat.de/tag/glastopf-security" rel="tag">Glastopf</a>, <a href="http://blog.wuestenpirat.de/tag/infiltrator" rel="tag">infiltrator</a>, <a href="http://blog.wuestenpirat.de/tag/ircbm" rel="tag">IRCbm</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/fruhjahrsputz.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brachland, Boulder, Seile und Ägypten.</title>
		<link>http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html</link>
		<comments>http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html#comments</comments>
		<pubDate>Mon, 13 Oct 2008 21:40:52 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Amun]]></category>
		<category><![CDATA[Boulder]]></category>
		<category><![CDATA[Climbing]]></category>
		<category><![CDATA[honeypot]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[IRCbm]]></category>
		<category><![CDATA[Massiv]]></category>
		<category><![CDATA[Move]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=55</guid>
		<description><![CDATA[Es ist schon einige Zeit her, als ich den letzten Blogeintrag vornahm. Über einen Monat um genau zu sein. Naja, was soll&#8217;s. Ich war sehr faul in der Zeit, hatte auch keine große Motivation oder Lust, an dieser Krücke an &#8230; <a href="http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Es ist schon einige Zeit her, als ich den letzten Blogeintrag vornahm. Über einen Monat um genau zu sein. Naja, was soll&#8217;s. Ich war sehr faul in der Zeit, hatte auch keine große Motivation oder Lust, an dieser Krücke an meinen Projekten zu arbeiten. In den über 4 Wochen hab ich nicht viel geschafft, zwischendurch hatte ich noch 2 Wochen Ferien, allerdings ging die meiste Zeit von diesen für Reallife drauf. Ich hab eine neue Leidenschaft und Hobby entdeckt. Das Klettern. Zunächst war ich eher etwas skeptisch, nach kurzer Zeit gefiel mir dieser Sport aber schon. Ich war noch nicht oft klettern, doch ich muss sagen es macht extrem viel Spaß. Die Leute in den Kletterhallen sind allesamt nett und helfen ab und an bei Problemen. Nach dieser Tätigkeit fallen einem aber meist die Hände ab, da es doch schon eine gewisse Kraft benötigt, um die einzelnen Routen zu überwinden. Beim Indoor-Climbing unterscheidet man zwischen normalen Climbing mit Seilen und Sicherung und Bouldern, wobei Bouldern ohne Sicherung und Seil und in Absprunghöhe getätigt wird. (Diese Art geht auch mehr auf die Finger, da man zum Teil sehr krasse Abhänge hat.)<br />
Desweiteren unterscheidet man auch noch zwischen verschiedenen Schwierigkeitsgräden, welche von 3 bis 10 reichen. Als Anfänger tümmelt man sich natürlich erstmal bei 3 und 4 herum, der Rest ist schwierig, da man zum Teil wirklich unhandliche Griffe hat und so schnell fällt. (Wobei man auch wieder bei der Vertrauensfrage ist, da man einen Partner benötigt, der einen sichert und bei stürzen die Last tragen kann.)<br />
Die Kletterhalle Move in Düsseldorf und die Kletterhalle Massiv in Düsseldorf sind sehr empfehlenswert und von den Preisen sehr akzeptabel.</p>
<p>Kommen wir zum etwas sandigeren und warmen Teil des Eintrages. Ägypten. Ich werdet euch jetzt fragen, ob ich dort Urlaub gemacht habe. Falsch. Die Rede ist vom Python Honeypot &#8220;Amun&#8221;, welchen ich zum testen auf einem Debian Lenny System zur Arbeit verdonnert habe. Bisher liefert er mir gute Arbeit, allerdings zickt das <strong>submit-joebox</strong> und <strong>submit-anubis</strong> herum. (submit-joebox crasht den ganzen Daemon, submit-anubis übermittelt keine malware)<br />
Bug-Report zum <strong>submit-joebox</strong> Modul wurde bereits auf der Sourceforge Projektseite erstattet.<br />
Da eine Scriptsprache verwendet wird, ist es relativ simpel den Honeypot zu erweitern, derzeit spiel ich noch ein wenig rum, versuche mit an einem <strong>log-irc</strong> Modul, kämpfe aber noch mit kleineren Threading Problemen rum, um den Daemon nicht beim permanenten Datenaustausch zwischen Server und Client bei genau dieser Stelle freezen zu lassen. <img src='http://blog.wuestenpirat.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Naja, mal schauen, keine Ahnung ob ich das Modul fertigstelle und dann releasen werde. Liegt noch in den Sternen. Meine fortweiligen Projekte, die ich noch &#8220;beenden&#8221; müsste, sind der Relaunch der Seite mit einem neuen und böseren Design, das Python Tutorial zum Thema IRC Bot schreiben und meinen Botnet Monitor IRCbm. Mal sehen, inwiefern ich da die nächste Zeit vorran komme. Sofern nicht wieder irgendwas meine Motivation oder anderen Willen zerstört, denke ich mal, dass bald etwas passieren sollte. <img src='http://blog.wuestenpirat.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Eine Gute Nacht wünsche ich.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten.+http://is.gd/bW4uc" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;submitHeadline=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten.&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;bm_description=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;title=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fbrachland-boulder-seile-und-agypten.html&amp;t=Brachland%2C+Boulder%2C+Seile+und+%C3%84gypten." rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2008. |
<a href="http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html#comments">3 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html&title=Brachland, Boulder, Seile und Ägypten.">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/amun" rel="tag">Amun</a>, <a href="http://blog.wuestenpirat.de/tag/boulder" rel="tag">Boulder</a>, <a href="http://blog.wuestenpirat.de/tag/climbing" rel="tag">Climbing</a>, <a href="http://blog.wuestenpirat.de/tag/honeypot" rel="tag">honeypot</a>, <a href="http://blog.wuestenpirat.de/tag/irc" rel="tag">IRC</a>, <a href="http://blog.wuestenpirat.de/tag/ircbm" rel="tag">IRCbm</a>, <a href="http://blog.wuestenpirat.de/tag/massiv" rel="tag">Massiv</a>, <a href="http://blog.wuestenpirat.de/tag/move" rel="tag">Move</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/brachland-boulder-seile-und-agypten.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>skeletonIRC &#8211; Ein simples Skelett</title>
		<link>http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html</link>
		<comments>http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html#comments</comments>
		<pubDate>Mon, 08 Sep 2008 18:34:02 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Client]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Skelett]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=42</guid>
		<description><![CDATA[Guten Abend, liebe Freunde. Auf meinem Blog war ja schon lange keine Aktivität mehr, was auch was damit zu tun hat, dass ja mein Hauptrechner den Geist aufgab und ich derzeit an lahmen, alten Computern &#8220;arbeiten&#8221; muss. Die Produktivität leidet &#8230; <a href="http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Guten Abend, liebe Freunde.</p>
<p>Auf meinem Blog war ja schon lange keine Aktivität mehr, was auch was damit zu tun hat, dass ja mein Hauptrechner den Geist aufgab und ich derzeit an lahmen, alten Computern &#8220;arbeiten&#8221; muss. Die Produktivität leidet natürlich ganz schön darunter und die Überraschung, die für den Blog gedacht war, verschiebt sich ebenfalls wieder ein ganzes Stück. Ich hoffe mal, dass ich bis nächste oder spätestens übernächste Woche meinen neuen Rechner besitze. (Intel Q2D Q6600, MSI P35 Neo2-FR, 2 GB DDR2-800 von OCZ, Geforce 9800GT, 500GB HDD, Be Quiet NT&#8230;)</p>
<p>Naja, kommen wir eigentlich zu dem Hauptthema, was ich hier eigentlich ansprechen wollte. Die Rede ist von einem kleinen Python IRC Skelett, mit dem ihr anfangen könnt was ihr wollt. Aufgebaut ist das ganze Klassenbasiert, aber recht simpel gehalten.</p>
<p>Die einzige Funktion, die der Client tut ist, sich zum Server verbinden, abwarten bis er vollständig connected ist, einen Channel joinen, in diesem eine Nachricht schreiben und wieder quitten. Der Quellcode wird unter der GPLv2 veröffentlicht, sprich, ihr könnt ihn erweiteren, zerrupfen und benutzen, in jeglicher Form.</p>
<p>Naja, lange Rede, kurzer Sinn. Ihr benötigt eine funktionierende Python Installation. Getestet wurde der Kram unter Windows, sollte aber auch ohne weiteren Probleme unter Linux funktionieren, da nur Standard Module genutzt wurden.<br />
<strong><br />
</strong></p>
<blockquote><p><strong>Download: [download#1] &#8211; 3 kByte<br />
</strong></p></blockquote>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=skeletonIRC+%E2%80%93+Ein+simples+Skelett+http://is.gd/bW4Zv" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;submitHeadline=skeletonIRC+%26%238211%3B+Ein+simples+Skelett&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;bm_description=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;title=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fskeletonirc-ein-simples-skelett.html&amp;t=skeletonIRC+%26%238211%3B+Ein+simples+Skelett" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2008. |
<a href="http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html&title=skeletonIRC &#8211; Ein simples Skelett">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/client" rel="tag">Client</a>, <a href="http://blog.wuestenpirat.de/tag/irc" rel="tag">IRC</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a>, <a href="http://blog.wuestenpirat.de/tag/skelett" rel="tag">Skelett</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/skeletonirc-ein-simples-skelett.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lebenszeichen</title>
		<link>http://blog.wuestenpirat.de/lebenszeichen.html</link>
		<comments>http://blog.wuestenpirat.de/lebenszeichen.html#comments</comments>
		<pubDate>Mon, 16 Jun 2008 16:39:19 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[IRCbm]]></category>
		<category><![CDATA[Lebenszeichen]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=21</guid>
		<description><![CDATA[Einen wunderschönen guten späten Nachmittag, Leute. Heute am 16.06.2008, wo entschieden wird, ob Deutschland ins Viertelfinale einzieht oder nicht. Ich bin derzeit recht beschäftigt. Mache seit dem 05.06.2008 nun ja ein 6-wöchiges Praktikum, wo ich jeden Tag von 9-16 Uhr, &#8230; <a href="http://blog.wuestenpirat.de/lebenszeichen.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Einen wunderschönen guten späten Nachmittag, Leute. Heute am 16.06.2008, wo entschieden wird, ob Deutschland ins Viertelfinale einzieht oder nicht. Ich bin derzeit recht beschäftigt. Mache seit dem 05.06.2008 nun ja ein 6-wöchiges Praktikum, wo ich jeden Tag von 9-16 Uhr, bzw. 9-18 Uhr arbeiten muss. Die Hauptaufgabe dort besteht natürlich im coden. Aber naja. Nicht gerade die Sprache, die ich gebrauchen könnte und auch nie wirklich nutzen werde. Genau, von Delphi ist die Rede. Diese &#8220;tolle&#8221; Sprache, welche von Pascal hergeleitet wurde und die IDE den gleichen Namen besitzt. Dazu dann noch einen tolligen GUI Zusammenklicker, wobei das Executable dann gleich von Start, ohne irgendeine Funktionalität zu besitzen, an die 350kb groß ist. Naja weiter im Gespräch. Die Arbeiten an meinem Projekt gehen deshalb eher schleppend vorran, da ich nach der Arbeit wenig Lust habe noch weiter zu programmieren. Hab mir aber das Wochenende ein paar Gedanken dazu gemacht und Veränderungen herangezogen. Der alte Name &#8220;spickr&#8221;, welcher den Anschein erweckt, es sei ein tolliger Web 2.0 kompatibler Alias, wird geändert. Nach vielem Kopfzerbrechen kam ich auf &#8220;ibm&#8221;. Allerdings stellt sich bei diesem Namen das Problem, dass der Name geschützt ist. Also musste eine neue Variante her, die aber nicht zusehr vom Hauptprinzip abweichen sollte und den Sinn des Programmes enthalten sollte. Im IRC brachte mich &#8220;Atsutane&#8221; auf die Idee, den Namen &#8220;IRCbm&#8221; zu verwenden, was ich letztendlich auch habe. &#8220;IRCbm&#8221; steht für &#8220;IRC botnet monitor&#8221;. Ein simpler und ausdrucksvoller Name. Die Struktur des Programmes wird im Allgemeinen gleich bleiben, die Funktionen ebenso. Der größte Teil wird Objektorientiert in Python geschrieben. Die Featureseite für &#8220;IRCbm&#8221; werde ich nachher noch updaten.</p>
<p>Das war&#8217;s dann eigentlich schon für diesen Beitrag. Habe jetzt geplant, in 1-2 Wochen, je nachdem, wie ich es schaffe, eine Preview Version von diesem herauszubringen, damit versichert wird, dass mir etwas an diesem Projekt liegt.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Lebenszeichen+http://is.gd/bW4Qc" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;submitHeadline=Lebenszeichen&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;bm_description=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;title=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Flebenszeichen.html&amp;t=Lebenszeichen" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2008. |
<a href="http://blog.wuestenpirat.de/lebenszeichen.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/lebenszeichen.html#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/lebenszeichen.html&title=Lebenszeichen">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/ircbm" rel="tag">IRCbm</a>, <a href="http://blog.wuestenpirat.de/tag/lebenszeichen" rel="tag">Lebenszeichen</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/lebenszeichen.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blubberblasenhäschen</title>
		<link>http://blog.wuestenpirat.de/blubberblasenhaschen.html</link>
		<comments>http://blog.wuestenpirat.de/blubberblasenhaschen.html#comments</comments>
		<pubDate>Tue, 20 May 2008 14:02:08 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[glasblog]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=11</guid>
		<description><![CDATA[Schönen Nachmittag euch allen. Ich tätige mal wieder einen allgemeinen Blogeintrag, da ich denke, dass der letzte schon ein wenig her ist. Nun, wie siehts aus? Ich habe die nervige und sinnlose Layer-Ads Werbung entfernt und durch schönere ersetzt. Wir &#8230; <a href="http://blog.wuestenpirat.de/blubberblasenhaschen.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Schönen Nachmittag euch allen.</p>
<p>Ich tätige mal wieder einen allgemeinen Blogeintrag, da ich denke, dass der letzte schon ein wenig her ist.<br />
Nun, wie siehts aus? Ich habe die nervige und sinnlose Layer-Ads Werbung entfernt und durch schönere ersetzt. Wir ihr sicher auch seht, habe ich oben in der Navigation zwei Buttons hinzugefügt, welche euch zu der Filmdatenbank von mir führt und zu meinem derzeit aktiven Python Projekt, einem IRC Bot, den ich eigentlich nur schreibe, damit ich mich mit Klassen zurecht finde und danach dann sofort mit der Programmierung des Botnet Spy Bot&#8217;s beginnen kann. Nen&#8217; Namen hab ich noch nicht für das folgende Projekt, naja, mal sehen, da fällt einem sicher noch was tolles ein. Bei Google scheint der Blog, zumindest wenn man den Begriff &#8220;botnetz&#8221; eingibt, an 6. Stelle zu stehen. Mal schauen was die Zukunft noch so bringen wird. Ein Nachbarblog ist anscheinend ebenso auf meinen Blog gestoßen, begrüßt mit mir den <a title="http://www.1durch0.de/glaslos" href="http://www.1durch0.de/glaslos" target="_blank">GlasBlog</a> von glaslos. Dort werdet ihr fündig zu größtenteils Honeypot bezogenen Themen.</p>
<p>Weiter im Geschehen&#8230;<br />
Ich habs heut endlich mal geschafft, mir OOP mit Python anzusehen und in gewisser Weise hat man das schon nach sehr kurzer Zeit im Durchblick. Jedoch lenkt mich eins ab. Mein Buch &#8220;<em>A Clockwork Orange</em>&#8220;, welches ich mir in Englischer Originalsprache bestellt hatte, ist heute angekommen. Ist natürlich klar, dass ich deshalb nach langer Buchabstinenz mal wieder etwas ordentliches lesen möchte. (Die &#8220;Buchabstinenz&#8221;, so wie ich sie nenne, zeugt davon, dass man länger kein Buch oder kein ordentliches gelesen hat.)</p>
<p>Joar, soweit war&#8217;s das dann, vorn noch schnell die Joebox zur submit-norman.conf bei meinem Honeypot hinzugefügt und die Tage werde ich eventuell mal das Webinterface NepenthesFE ausprobieren. Immerhin hat der Herr ja Zeit ab Donnerstag. (Freier Tag und Feiertag.)</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Blubberblasenh%C3%A4schen+http://is.gd/bW1tW" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;submitHeadline=Blubberblasenh%C3%A4schen&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;bm_description=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;title=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fblubberblasenhaschen.html&amp;t=Blubberblasenh%C3%A4schen" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2008. |
<a href="http://blog.wuestenpirat.de/blubberblasenhaschen.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/blubberblasenhaschen.html#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/blubberblasenhaschen.html&title=Blubberblasenhäschen">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/glasblog" rel="tag">glasblog</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/blubberblasenhaschen.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stille heißt nicht gleich Tod.</title>
		<link>http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html</link>
		<comments>http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html#comments</comments>
		<pubDate>Sun, 27 Apr 2008 20:51:23 +0000</pubDate>
		<dc:creator>duke</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[botnetz]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://botnetz.com/?p=5</guid>
		<description><![CDATA[Guten Abend. Wer sich fragt warum hier kaum was kommt, keine Sorge, die Seite ist ganz und gar nicht tot. Ich bin nur zufaul irgendwas größeres zu schreiben, bzw. hab ich kein wirklich ernsthaftes Thema was ich groß anschreiben könnte. &#8230; <a href="http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Guten Abend. Wer sich fragt warum hier kaum was kommt, keine Sorge, die Seite ist ganz und gar nicht tot. Ich bin nur zufaul irgendwas größeres zu schreiben, bzw. hab ich kein wirklich ernsthaftes Thema was ich groß anschreiben könnte.</p>
<p>How it is going? Ich arbeite mich derzeit ein wenig in Python ein, mit dem Ziel später ein kleinen automatisierten Botnetz Monitor für das IRC Protokoll zu schreiben, da ich im Web keine derartigen Tools, jedenfalls keine die veröffentlicht wurden gefunden habe. Das ganze soll am Ende folgendes Konzept verfolgen: Anlegen der Botnetzinformationen in einer XML Datei -&gt; Bot liest die Datei aus und verbindet sich zu den verschiedenen Netzwerken -&gt; Wenn erfolgt loggt der Bot alles was ihm auffällt. (Channelnachrichten, Servernachrichten, Private Nachrichten)</p>
<p>Ich kann nur hoffen das ich mich gut in Python reinfinde, bisher ist es aber eine sehr komfortable und einfache Sprache. Und das beste daran, man kann sie plattformunabhängig nutzen.</p>
<p>Wenn ich genügend Motivation habe was ernstes dafür zu programmieren, werde ich mal eine Preview Version online stellen.</p>
<p><strong>Update:</strong></p>
<p>Mein Python-Lernvorgang geht ganz gut vorran. Mache schon erste Erfolge was Sockets und IRC angeht. Arbeite gerade an einem kleinen Channelbot, der ein paar sinnlose Befehle hat. (Derzeit kann er per Befehl einen kleinen Text wiedergeben, Zitate aus einer Textdatei lesen und ausgeben und Quitten mit Mastererkennung.)</p>
<p>Ich halte euch auf den laufenden.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Stille+hei%C3%9Ft+nicht+gleich+Tod.+http://is.gd/bW4HW" title="Post to Twitter"><img class="nothumb" src="http://blog.wuestenpirat.de/wp-content/plugins/tweet-this/icons/tt-twitter-micro3.png" alt="Post to Twitter" /></a></p><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://buzz.yahoo.com/submit?submitUrl=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;submitHeadline=Stille+hei%C3%9Ft+nicht+gleich+Tod.&amp;submitSummary=" rel="nofollow" title="Add to&nbsp;Buzz"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/buzz.png" title="Add to&nbsp;Buzz" alt="Add to&nbsp;Buzz" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;LinkedIn"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/linkedin.png" title="Add to&nbsp;LinkedIn" alt="Add to&nbsp;LinkedIn" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.mister-wong.com/index.php?action=addurl&amp;bm_url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;bm_description=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Mister Wong"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/misterwong.png" title="Add to&nbsp;Mister Wong" alt="Add to&nbsp;Mister Wong" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;title=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tipd.com/submit.php?url=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html" rel="nofollow" title="Add to&nbsp;Tip'd"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/tipd.png" title="Add to&nbsp;Tip'd" alt="Add to&nbsp;Tip'd" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fblog.wuestenpirat.de%2Fstille-heist-nicht-gleich-tod.html&amp;t=Stille+hei%C3%9Ft+nicht+gleich+Tod." rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://blog.wuestenpirat.de/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
<hr />
<p><small>© duke for <a href="http://blog.wuestenpirat.de">Piraten in der Wüste</a>, 2008. |
<a href="http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html">Permalink</a> |
<a href="http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html&title=Stille heißt nicht gleich Tod.">del.icio.us</a>
<br/>
Post tags: <a href="http://blog.wuestenpirat.de/tag/bot" rel="tag">bot</a>, <a href="http://blog.wuestenpirat.de/tag/botnetz" rel="tag">botnetz</a>, <a href="http://blog.wuestenpirat.de/tag/python" rel="tag">python</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuestenpirat.de/stille-heist-nicht-gleich-tod.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
