<?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>Butschek.de &#187; Zufallszahl</title>
	<atom:link href="http://www.butschek.de/tag/zufallszahl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.butschek.de</link>
	<description>Linux, Server &#38; Co</description>
	<lastBuildDate>Wed, 16 Nov 2011 21:06:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://www.butschek.de/?pushpress=hub'/>
		<item>
		<title>Zufallszahlen mit Modulo auf der Shell erzeugen</title>
		<link>http://www.butschek.de/2009/07/05/shell-zufallszahlen/</link>
		<comments>http://www.butschek.de/2009/07/05/shell-zufallszahlen/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 08:00:00 +0000</pubDate>
		<dc:creator>Michael Butschek</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[LST]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Modulo]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Zufallszahl]]></category>

		<guid isPermaLink="false">http://www.butschek.de/?p=522</guid>
		<description><![CDATA[Die Firewall aus dem letzten Artikel fand ich extrem lustig, doch die Methode der Zahlenermittlung fand ich sehr interessant. Eine IP-Adresse wurde hier wie folgt erstellt: echo &#8220;$(($RANDOM%256)).$(($RANDOM%256)).[...]&#8221; Die Variable $RANDOM gibt eine Zufallszahl zwischen 0 und 32767. Das Prozent-Zeichen &#8230; <a href="http://www.butschek.de/2009/07/05/shell-zufallszahlen/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Zufallszahlen" src="http://www.butschek.de/files/blog/2009/wuerfel.jpg" alt="" width="150" height="150" />Die Firewall aus dem letzten Artikel fand ich extrem lustig, doch die Methode der Zahlenermittlung fand ich sehr interessant. Eine IP-Adresse wurde hier wie folgt erstellt:</p>
<p>echo &#8220;$(($RANDOM%256)).$(($RANDOM%256)).[...]&#8221;</p>
<p>Die Variable $RANDOM gibt eine Zufallszahl zwischen 0 und 32767. Das Prozent-Zeichen (%) berechnet aus einer Zahl deren <a title="Wikipedia: Modulo" href="http://de.wikipedia.org/wiki/Modulo ">Modulo</a>, also den Rest aus der Division zweier ganzer Zahlen. Einfach gesagt berechnet es den Rest einer Teilung der geraden Zahlen.</p>
<p>Grundschul-Beispiel: 100 durch 23 = 4, <a title="Wikipedia: Division mit Rest" href="http://de.wikipedia.org/wiki/Division_mit_Rest">Rest</a> 8<br />
Das Ergebnis aus 100 mod 23 ist also 8.</p>
<p>Der Modulo eigenet sich gut, eine Zahl auf einem Wert zu kürzen, denn das Ergebnis liegt immer zwischen 0 und dem Divisor-1. Das ist auch logisch, denn der Rest-Wert einer Division muss unter dem Divisor liegen. Also eine zufällige Zahl mod 8 wird ganzzahlig sein und zwischen 0 und 7 liegen.</p>
<p>Der Syntax $(($RANDOM%256)) macht also nichts anderes als die Variable $RANDOM (Zufallswert zwischen 0 &#8211; 32767)  modulo 256 zu nehmen &#8211; womit ein Ergebnis zwischen 0 und 255 herauskommt.</p>
<p>Interessant gelöst fand ich auch diese Codestelle:</p>
<pre>while true; do
sleep 1
echo -n .
if [ $(($RANDOM%13)) -eq 2 ]; then break; fi
done</pre>
<p>Hier wurde durch $(($RANDOM%13)) eine zufällige Zahl zwischen 0 und 12 ermittelt und mit -eq 2 mit dem Wert 2 verglichen. Die 2 ist dabei nur eine beliebige Zahl, die if-Anweisung heißt übersetzt nichts anderes als  &#8220;In einem von 13 Fällen&#8221; (0-12 = 13 Möglichkeiten!), die Bedingung wird also zufällig mit einer Wahrscheinlichkeit von 1/13tel erfüllt.</p>
<p>Übrigens: Wer Zufallszahlen zwischen 1 und &#8230; braucht, kann <strong>$((RANDOM % 9 +1))</strong> nutzen. Der erste Teil erzeugt eine Zufallszahl zwischen 0 und 9, danach wird das Ergebnis +1 gerechnet, das ergibt also eine Zufallszahl zwischen 1 und 10.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.butschek.de/2009/07/05/shell-zufallszahlen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zone Alarm Firewall für Linux</title>
		<link>http://www.butschek.de/2009/06/27/zone-alarm-firewall-fur-linux/</link>
		<comments>http://www.butschek.de/2009/06/27/zone-alarm-firewall-fur-linux/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 08:00:00 +0000</pubDate>
		<dc:creator>Michael Butschek</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Gefahr]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Zufallszahl]]></category>

		<guid isPermaLink="false">http://www.butschek.de/?p=519</guid>
		<description><![CDATA[Ein Bekannter schickte mir neulich ein paar Zeilen Code und meinte, das sei der Nachbau der Zone-Alarm Firewall für Linux. Ich fand das fast schon böse #!/bin/bash echo -n Starting firewall. while true; do sleep 1 echo -n . if &#8230; <a href="http://www.butschek.de/2009/06/27/zone-alarm-firewall-fur-linux/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Firewall" src="http://www.butschek.de/files/blog/2009/firewall.jpg" alt="" width="150" height="200" />Ein Bekannter schickte mir neulich ein paar Zeilen Code und meinte, das sei der Nachbau der Zone-Alarm Firewall für Linux. Ich fand das fast schon böse <img src='http://www.butschek.de/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' /> </p>
<pre>#!/bin/bash
echo -n Starting firewall.

while true; do
sleep 1
echo -n .
if [ $(($RANDOM%13)) -eq 2 ]; then break; fi
done

echo
echo "Your system is now secure!"

while true; do
sleep $(($RANDOM%53))
HOST="$(($RANDOM%256)).$(($RANDOM%256)).$((RANDOM%256)).$(($RANDOM%256))"
PORT="$(($RANDOM%65535+1))"
echo "Blocked attack from host $HOST on port $PORT!!!"
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.butschek.de/2009/06/27/zone-alarm-firewall-fur-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

