<?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>Blog von Michael Butschek</description>
	<lastBuildDate>Thu, 03 Jun 2010 20:52:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zufallszahlen mit Modulo auf der Shell erzeugen</title>
		<link>http://www.butschek.de/2009/07/shell-zufallszahlen/</link>
		<comments>http://www.butschek.de/2009/07/shell-zufallszahlen/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 08:00:00 +0000</pubDate>
		<dc:creator>Mike</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 (%) berechnet aus einer Zahl deren Modulo, also den Rest aus der Division zweier ganzer Zahlen. Einfach [...]]]></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>
<hr /><h2>Empfohlene Themen:</h2><ul><li><a href="http://www.butschek.de/linux-shell-tipps/" rel="bookmark" title="Permanent Link: Linux Shell Tipps">Linux Shell Tipps</a></li><li><a href="http://www.butschek.de/2009/05/partition-verschlusseln-mit-luks/" rel="bookmark" title="Permanent Link: Partition verschlüsseln mit LUKS">Partition verschlüsseln mit LUKS</a></li><li><a href="http://www.butschek.de/2009/11/editor-im-kontextmenu/" rel="bookmark" title="Permanent Link: Editor im Kontextmenü">Editor im Kontextmenü</a></li><li><a href="http://www.butschek.de/2009/05/russisches-roulette/" rel="bookmark" title="Permanent Link: Russisches Roulette auf Root-Shell Art&#8230;">Russisches Roulette auf Root-Shell Art&#8230;</a></li><li><a href="http://www.butschek.de/2008/09/bash-history-mit-zeitstempel/" rel="bookmark" title="Permanent Link: Bash History mit Zeitstempel">Bash History mit Zeitstempel</a></li></ul><hr /> <a href="http://www.butschek.de/2009/07/shell-zufallszahlen/">Kommentare</a> sind im Blog.jederzeit willkommen!]]></content:encoded>
			<wfw:commentRss>http://www.butschek.de/2009/07/shell-zufallszahlen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zone Alarm Firewall für Linux</title>
		<link>http://www.butschek.de/2009/06/zone-alarm-firewall-fur-linux/</link>
		<comments>http://www.butschek.de/2009/06/zone-alarm-firewall-fur-linux/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 08:00:00 +0000</pubDate>
		<dc:creator>Mike</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 [ $(($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 [...]]]></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>
<hr /><h2>Kommentare</h2><ul><li>Am 30. Juni 2009 schrieb <a href="http://linuxadminblog.de" onclick="javascript:pageTracker._trackPageview('/outbound/commentauthor/linuxadminblog.de');"  rel='external nofollow' class='url'>Markus Frosch</a>: Da fehlt "$((" in der Zeile HOST=... ;-)

Hab das Ding schon getestet - schaut doch gut aus :-D</li><li>Am 30. Juni 2009 schrieb <a href="http://linuxadminblog.de/2009/06/30/zonealarm-fuer-linux/" onclick="javascript:pageTracker._trackPageview('/outbound/commentauthor/linuxadminblog.de');"  rel='external nofollow' class='url'>Zonealarm für Linux - LinuxadminBlog.de</a>: [...] [via Butschek.de] [...]</li><li>Am 30. Juni 2009 schrieb <a href="http://www.butschek.de/"   rel='external nofollow' class='url'>Mike</a>: Danke für den Hinweis - hab den Code-Block im Artikel überarbeitet.</li><li>Am 30. Juni 2009 schrieb Bernd: Endlich einen Einblick in die Arbeitsweise von ZoneAlarm.... Danke dafür!</li></ul><hr /><h2>Empfohlene Themen:</h2><ul><li><a href="http://www.butschek.de/2008/11/barack-obama-yes-he-can/" rel="bookmark" title="Permanent Link: Barack Obama &#8211; Yes he can!">Barack Obama &#8211; Yes he can!</a></li><li><a href="http://www.butschek.de/linux-shell-tipps/" rel="bookmark" title="Permanent Link: Linux Shell Tipps">Linux Shell Tipps</a></li><li><a href="http://www.butschek.de/2009/07/shell-zufallszahlen/" rel="bookmark" title="Permanent Link: Zufallszahlen mit Modulo auf der Shell erzeugen">Zufallszahlen mit Modulo auf der Shell erzeugen</a></li><li><a href="http://www.butschek.de/2009/05/russisches-roulette/" rel="bookmark" title="Permanent Link: Russisches Roulette auf Root-Shell Art&#8230;">Russisches Roulette auf Root-Shell Art&#8230;</a></li><li><a href="http://www.butschek.de/2009/05/ssh-tunnel-proxy/" rel="bookmark" title="Permanent Link: SSH-Tunnel: Proxy über SSH">SSH-Tunnel: Proxy über SSH</a></li></ul><hr /> <a href="http://www.butschek.de/2009/06/zone-alarm-firewall-fur-linux/">Kommentare</a> sind im Blog.jederzeit willkommen!]]></content:encoded>
			<wfw:commentRss>http://www.butschek.de/2009/06/zone-alarm-firewall-fur-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
