<?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>Cyborg Workshop</title>
	<atom:link href="http://cyborgworkshop.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://cyborgworkshop.org</link>
	<description>Bluring the line</description>
	<lastBuildDate>Tue, 05 Mar 2013 12:30:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Using OpenSSL to validate a webserver&#8217;s certificate</title>
		<link>http://cyborgworkshop.org/2013/03/05/using-openssl-to-validate-a-webservers-certificate/</link>
		<comments>http://cyborgworkshop.org/2013/03/05/using-openssl-to-validate-a-webservers-certificate/#comments</comments>
		<pubDate>Tue, 05 Mar 2013 12:30:30 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Best Tools]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=855</guid>
		<description><![CDATA[I don&#8217;t often have to mess with SSL, but it seems like everytime that I do, I mess something up.  Here are two OpenSSL commands that I use on a regular basis to validate that my cert is installed correctly and that I haven&#8217;t left weak ciphers enabled. &#160; openssl s_client -connect www.google.com:443 This connects [...]]]></description>
				<content:encoded><![CDATA[<p>I don&#8217;t often have to mess with SSL, but it seems like everytime that I do, I mess something up.  Here are two OpenSSL commands that I use on a regular basis to validate that my cert is installed correctly and that I haven&#8217;t left weak ciphers enabled.</p>
<p>&nbsp;<br />
<code><br />
openssl s_client -connect www.google.com:443<br />
</code><br />
This connects to google.com over SSL and will display on screen and should look something like this.<br />
<block><br />
jason@boomer:~$ openssl s_client -connect google.com:443<br />
CONNECTED(00000003)<br />
depth=1 C = US, O = Google Inc, CN = Google Internet Authority<br />
verify error:num=20:unable to get local issuer certificate<br />
verify return:0<br />
&#8212;<br />
Certificate chain<br />
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=*.google.com<br />
   i:/C=US/O=Google Inc/CN=Google Internet Authority<br />
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority<br />
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority<br />
&#8212;<br />
Server certificate<br />
&#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211;<br />
&#8230;<br />
</block></p>
<p>Another command I&#8217;ll run is to make sure weak SSL ciphers aren&#8217;t enabled on my hosts, so using the same command but adding -cipher LOW<br />
<block><br />
<code><br />
jason@boomer:~$ openssl s_client -connect google.com:443 -cipher LOW<br />
</code><br />
CONNECTED(00000003)<br />
139786025997984:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:741:<br />
&#8212;<br />
no peer certificate available<br />
&#8212;<br />
No client certificate CA names sent<br />
&#8212;<br />
SSL handshake has read 7 bytes and written 70 bytes<br />
&#8212;<br />
New, (NONE), Cipher is (NONE)<br />
Secure Renegotiation IS NOT supported<br />
Compression: NONE<br />
Expansion: NONE<br />
</block></p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2013/03/05/using-openssl-to-validate-a-webservers-certificate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install the native telnet client in Windows 7</title>
		<link>http://cyborgworkshop.org/2013/01/29/install-the-native-telnet-client-in-windows-7/</link>
		<comments>http://cyborgworkshop.org/2013/01/29/install-the-native-telnet-client-in-windows-7/#comments</comments>
		<pubDate>Tue, 29 Jan 2013 15:25:33 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=849</guid>
		<description><![CDATA[I don&#8217;t know why, but every windows 7 machine I have used has been missing the telnet client.   Not that I use telnet for administration, but it&#8217;s a handy tool for checking if ports are open and listening.  To install the telnet client, you can use the windows package manager (did you know that exists? [...]]]></description>
				<content:encoded><![CDATA[<p>I don&#8217;t know why, but every windows 7 machine I have used has been missing the telnet client.   Not that I use telnet for administration, but it&#8217;s a handy tool for checking if ports are open and listening.  To install the telnet client, you can use the windows package manager (did you know that exists? I didn&#8217;t) and do a one line install.  Open a command prompt as admin and run the following command.<br />
<code><br />
pkgmgr /iu:"TelnetClient"</code></p>
<p><code></code>Now sit back and enjoy the awesome. Most of the time you don&#8217;t get any feedback when you do this,  so just try to run &#8216;telnet&#8217; after the command returns.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2013/01/29/install-the-native-telnet-client-in-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cleanup old software in windows 7 after service pack install</title>
		<link>http://cyborgworkshop.org/2013/01/07/cleanup-old-software-in-windows-7-after-service-pack-install/</link>
		<comments>http://cyborgworkshop.org/2013/01/07/cleanup-old-software-in-windows-7-after-service-pack-install/#comments</comments>
		<pubDate>Mon, 07 Jan 2013 16:47:35 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=845</guid>
		<description><![CDATA[After windows 7 service packs have been installed, a lot of stuff is still left lying around your file system in case you need to roll back.  If you are ready to commit and want to get that space back you can use the Deployment Image Servicing and Management to clean your drive up. After [...]]]></description>
				<content:encoded><![CDATA[<p>After windows 7 service packs have been installed, a lot of stuff is still left lying around your file system in case you need to roll back.  If you are ready to commit and want to get that space back you can use the Deployment Image Servicing and Management to clean your drive up. After you run this, you will no longer be able to remove your service pack.  Run the following command using an admin command prompt.</p>
<p><code><br />
DISM /online /Cleanup-Image /SpSuperseded<br />
</code></p>
<p>Will run for awhile and clean up all of those left over remnants on your drive.  Output should look something like this</p>
<p>&nbsp;<br />
Microsoft Windows [Version 6.1.7601]<br />
Copyright (c) 2009 Microsoft Corporation. All rights reserved.</p>
<p>C:\Windows\system32&gt;DISM /online /Cleanup-Image /SpSuperseded</p>
<p>Deployment Image Servicing and Management tool<br />
Version: 6.1.7600.16385</p>
<p>Image Version: 6.1.7600.16385</p>
<p>Removing backup files created during service pack installation.<br />
[==========================100.0%==========================]<br />
Service Pack Cleanup operation completed.<br />
The operation completed successfully.</p>
<p>C:\Windows\system32&gt;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2013/01/07/cleanup-old-software-in-windows-7-after-service-pack-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shaming those who don&#8217;t patch</title>
		<link>http://cyborgworkshop.org/2013/01/06/shaming-those-who-dont-patch/</link>
		<comments>http://cyborgworkshop.org/2013/01/06/shaming-those-who-dont-patch/#comments</comments>
		<pubDate>Mon, 07 Jan 2013 04:31:28 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=834</guid>
		<description><![CDATA[This webserver gets scanned and probed on a pretty regular basis by boxes that have been compromised on the internet.  I&#8217;ve taken precautions like forcing ssh logins to use 2factor authentication and making sure that I keep patched, but still the spammers and bots try to get in. The ones that really annoy me though [...]]]></description>
				<content:encoded><![CDATA[<p>This webserver gets scanned and probed on a pretty regular basis by boxes that have been compromised on the internet.  I&#8217;ve taken precautions like forcing ssh logins to use 2factor authentication and making sure that I keep patched, but still the spammers and bots try to get in. The ones that really annoy me though are the brute force attackers. These guys try to ssh in as root a couple of hundred times in a row and fill up my logs. The boxes that they are using, as I mentioned, are hacked themselves so hacking back doesn&#8217;t really do much other then risk getting myself in trouble. So instead, I&#8217;m going for shame.  Here is how I do it. (note that this was all put together using my Nexus 7 tablet and connectbot over a hotel wifi connection on new years while I was monumentally pissed off at a brute bot, so it&#8217;s a little rough to say the least)</p>
<p>I&#8217;m using swatch in linux to monitor my auth.log file looking specifically for brute force attempts, note that this is not a complete treatise on all of my security precautions, this is just how I deal with the ones that really annoy me.  My swatch.conf is here<br />
<code><br />
watchfor /authentication failure/<br />
threshold track_by=$1, type=both, count=5, seconds=3600<br />
exec /usr/local/bin/notifyme "$_"<br />
</code></p>
<p>I&#8217;m essentially telling swatch to look for any attacker that fails more then 5 ssh attempts in 1 hour, when you find such a person send the log file entry that triggered the alert over to a script called /usr/local/bin/notifyme as a parameter.</p>
<p>notifyme is just a bash script that uses a few external programs.</p>
<li>ssmtp  (apt-get install ssmtp)</li>
<li>twidge (apt-get install twidge)</li>
<li>nmap (apt-get install nmap)</li>
<li>the nmap script http-screenshot (cd /usr/share/nmap/scripts; wget https://raw.github.com/SpiderLabs/Nmap-Tools/master/NSE/http-screenshot.nse)</li>
<li>wkhtmltoimage (https://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2)</li>
<p>Next you just need to run twidge for the first time and set it up with your twitter account.</p>
<p>The bash script itself is pretty simple.  When it runs, it takes the string sent to it from swatch, creates an email and a tweet off of the hostname, time and user they tried to break in as and then runs a noisy and thorough nmap scan against the host attacking you. No point in being quiet, if someone triggers this alert it wasn&#8217;t by accident.   If the host is running a webserver, nmap will also create a png screenshot of the page that they are serving and store it in /tmp. I used to have it sent in an email but one time I got 4 20mb png files that came in over a 3g connection. so we don&#8217;t do that anymore.<br />
<code><br />
#!/bin/bash</p>
<p>RCPT=YOUREMAIL@YOURDOMAIN.com<br />
FROM=YOUR_SCANNING_HOST<br />
SUBJECT="ssh asshat"</p>
<p>FILE=/tmp/message.txt<br />
DATE=`echo $1 | awk {'print $1" "$2" "$3'}`<br />
HOST=`echo $1 | awk {'print $14'} | awk -F= {'print $2'}`<br />
USER=`echo $1 | awk {'print $15'} | awk -F= {'print $2'}`</p>
<p>rm $FILE</p>
<p>echo "To: $RCPT" &gt;&gt;$FILE<br />
echo "From: $FROM"&gt;&gt;$FILE<br />
echo "Subject: $SUBJECT" &gt;&gt;$FILE<br />
echo "" &gt;&gt;$FILE<br />
echo "" &gt;&gt;$FILE<br />
echo "On $DATE, asshat at $HOST tried to ssh brute force as $USER" &gt;&gt;$FILE<br />
echo "Running nmap scan..." &gt;&gt;$FILE<br />
nmap -A -P0 -sV --script=default,http-screenshot $HOST &gt;&gt;$FILE<br />
echo "---" &gt;&gt;$FILE<br />
echo "" &gt;&gt;$FILE<br />
echo "" &gt;&gt;$FILE<br />
PORTS=`cat /tmp/message.txt |grep open | awk -vORS=' ' {'print $1'}|grep -v Warning`<br />
TWEET="#WallofShame $HOST open ports $PORTS"<br />
TWEET=`echo $TWEET | cut -c-140`<br />
ssmtp -s $SUBJECT -f $FROM $RCPT &lt;$FILE<br />
twidge update "#WallOfShame $HOST tried to brute force SSH as $USER on $DATE"<br />
twidge update "$TWEET"<br />
</code><br />
If you want to take this further, you can integrate calls to shodanhq using curl that will also pull back what security vulnerabilities the attacking host&#8217;s listening services are vulnerable to. I started off initially posting this information to twitter but decided that &#8220;incite to violence&#8221; would be an appropriate description for that feature.   But lets say you felt like you needed to do that research anyways, field #3 in the nmap open port results is all you need to submit to shodan to see if your attacker has a great big hole in his boat.<br />
<code><br />
curl http://www.shodanhq.com/exploits?q=`cat $FILE | grep open | awk {'print $3'}`<br />
</code></p>
<p>Lots and lots of room for improvement, but this is where I&#8217;m starting. you can monitor my scripts output by following my twitter account at @scratchhax  </p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2013/01/06/shaming-those-who-dont-patch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WHIA v3</title>
		<link>http://cyborgworkshop.org/2012/12/31/whia-v3/</link>
		<comments>http://cyborgworkshop.org/2012/12/31/whia-v3/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 06:45:15 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[WHIA]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=830</guid>
		<description><![CDATA[I just brought WHIA v3 online at the house tonight. This has been pretty much a complete rewrite with the next change being to bolt a Raspberry Pi into the structure for control and safety.  I made a much smaller shield this time with 6 pin plugs and activity LEDS per port (driven by a [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://i0.wp.com/cyborgworkshop.org/wordpress/wp-uploads/2012/12/WHIA_v3.jpg"><img class="size-medium wp-image-831 alignleft" alt="WHIA_v3" src="http://i0.wp.com/cyborgworkshop.org/wordpress/wp-uploads/2012/12/WHIA_v3.jpg?resize=300%2C198" data-recalc-dims="1" /></a>I just brought WHIA v3 online at the house tonight. This has been pretty much a complete rewrite with the next change being to bolt a Raspberry Pi into the structure for control and safety.  I made a much smaller shield this time with 6 pin plugs and activity LEDS per port (driven by a shift register). Connectivity is no longer over serial and instead comes from an ethernet shield and some code that creates a very small webserver. The sensors are only scanned on access now, so I&#8217;m using Zenoss to grab the data off of the controller, graph it and alarm on out of band conditions and predictive failures. The Arduino this time around is a freaklabs freakduino with a built in 802.15.4 radio. The radio is going to come in handy later on as I convert all of the curtains over to xbee. Nothing too exciting, just groundwork right now, but here is a picture of my arduino abomination.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/31/whia-v3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to switch windows from Legacy SATA to AHCI</title>
		<link>http://cyborgworkshop.org/2012/12/27/how-to-switch-windows-from-legacy-sata-to-ahci/</link>
		<comments>http://cyborgworkshop.org/2012/12/27/how-to-switch-windows-from-legacy-sata-to-ahci/#comments</comments>
		<pubDate>Thu, 27 Dec 2012 15:54:00 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=825</guid>
		<description><![CDATA[If you installed windows 7 and left your BIOS drive emulation set to SATA or Legacy, you won&#8217;t be able to use TRIM support on an SSD.  If you switch your BIOS emulation over to AHCI, that still won&#8217;t allow for TRIM until you tell windows that you are AHCI compliant. Microsoft offers a bit [...]]]></description>
				<content:encoded><![CDATA[<p>If you installed windows 7 and left your BIOS drive emulation set to SATA or Legacy, you won&#8217;t be able to use TRIM support on an SSD.  If you switch your BIOS emulation over to AHCI, that still won&#8217;t allow for TRIM until you tell windows that you are AHCI compliant.<br />
Microsoft offers a bit of guidance to fix this</p>
<ol>
<li>open regedit and look for the following key</li>
<p><code>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci</code></p>
<li>right click on &#8220;Start&#8221; and select &#8220;Modify&#8221;</li>
<li>Change the value to be &#8220;0&#8243; and then reboot</li>
</ol>
<p>Be sure that you enabled AHCI support in your BIOS. when you reboot windows will install the AHCI drivers for your drives and then make you reboot again.</p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/27/how-to-switch-windows-from-legacy-sata-to-ahci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to tell if windows is using TRIM</title>
		<link>http://cyborgworkshop.org/2012/12/26/how-to-tell-if-windows-is-using-trim/</link>
		<comments>http://cyborgworkshop.org/2012/12/26/how-to-tell-if-windows-is-using-trim/#comments</comments>
		<pubDate>Wed, 26 Dec 2012 15:53:31 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=823</guid>
		<description><![CDATA[How do I know if my windows 7 install is using TRIM on my SSD? The interwebs aren&#8217;t all in agreement on this, but here is what I&#8217;ve been using open a command prompt as admin. It has to be admin or this won&#8217;t work. Run the following fsutil behavior query disabledeletenotify DisableDeleteNotify = 1 [...]]]></description>
				<content:encoded><![CDATA[<p>How do I know if my windows 7 install is using TRIM on my SSD? The interwebs aren&#8217;t all in agreement on this, but here is what I&#8217;ve been using</p>
<p>open a command prompt as admin. It has to be admin or this won&#8217;t work. Run the following<br />
<code>fsutil behavior query disabledeletenotify</code></p>
<p>DisableDeleteNotify = 1 means that TRIM is disabled<br />
DisableDeleteNotify = 0 means that TRIM is enabled</p>
<p>Note that TRIM will only work on an SSD drive that is set to use AHCI in BIOS. If you installed windows using Legacy or SATA mode, you can either reinstall windows after switching your BIOS to AHCI or you can edit your registry to enable AHCI drivers after you have changed your BIOS to use AHCI</p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/26/how-to-tell-if-windows-is-using-trim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 factor auth in ubuntu with google authenticator except for trusted networks</title>
		<link>http://cyborgworkshop.org/2012/12/12/2-factor-auth-in-ubuntu-with-google-authenticator-except-for-trusted-networks/</link>
		<comments>http://cyborgworkshop.org/2012/12/12/2-factor-auth-in-ubuntu-with-google-authenticator-except-for-trusted-networks/#comments</comments>
		<pubDate>Wed, 12 Dec 2012 19:41:06 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Best Tools]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=814</guid>
		<description><![CDATA[DO NOT ATTEMPT THIS IF YOUR COMPUTER&#8217;S TIME IS OFF. google authenticator is time based, if your clocks dont match the internet you will NOT be able to authenticate to your machine. 2factor authentication is awesome, therefore google authenticator is awesome.  I wanted all of my internet connected boxes to use 2factor for ssh, but [...]]]></description>
				<content:encoded><![CDATA[<p>DO NOT ATTEMPT THIS IF YOUR COMPUTER&#8217;S TIME IS OFF.  google authenticator is time based, if your clocks dont match the internet you will NOT be able to authenticate to your machine. </p>
<p>2factor authentication is awesome, therefore google authenticator is awesome.  I wanted all of my internet connected boxes to use 2factor for ssh, but only when the source IP isn&#8217;t coming from one of my internal networks. Here is how I did that on ubuntu 12.10</p>
<p>install the google_authenticator pam module<br />
<code><br />
sudo apt-get install libpam-google-authenticator<br />
</code></p>
<p>edit /etc/pam.d/sshd and add the following before the @include common-auth  line<br />
<code><br />
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf<br />
auth       required     pam_google_authenticator.so<br />
</code></p>
<p>create the file /etc/security/access-local.conf and add the following to it<br />
<code><br />
+ : ALL : 192.168.0.0/28<br />
+ : ALL : LOCAL<br />
- : ALL : ALL<br />
</code><br />
192.168.0.0/28 should be the subnet of your trusted network that you will not require 2factor from.</p>
<p>Edit /etc/sshd/sshd_config and make sure that<br />
<code><br />
ChallengeResponseAuthentication yes<br />
</code><br />
is set. By default it is set to No. </p>
<p>Install the google authenticator app on your phone and add a new source.  Log into your server as the user that you want to setup and run, from the command line<br />
<code><br />
google-authenticator<br />
</code></p>
<p>Now either copy the codes into your authenticator app or scan the QR code. Restart ssh and you&#8217;ll be done!  If you try to connect from a host outside of your trusted network, you should get prompted for your 2factor code. Anything inside of your trusted network should be allowed in with just a password. </p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/12/2-factor-auth-in-ubuntu-with-google-authenticator-except-for-trusted-networks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Display a message on screen with XBMC</title>
		<link>http://cyborgworkshop.org/2012/12/11/display-a-message-on-screen-with-xbmc/</link>
		<comments>http://cyborgworkshop.org/2012/12/11/display-a-message-on-screen-with-xbmc/#comments</comments>
		<pubDate>Tue, 11 Dec 2012 18:00:49 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[XBMC]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=809</guid>
		<description><![CDATA[XBMC is an outstanding piece of software made by ninja elves with a high tolerance for caffeine.  I wanted to display an on screen message to my XBMC device when an even occurred, in my case when I received a specific syslog event.  The XBMC folks have packaged together a handy little python script called [...]]]></description>
				<content:encoded><![CDATA[<p>XBMC is an outstanding piece of software made by ninja elves with a high tolerance for caffeine.  I wanted to display an on screen message to my XBMC device when an even occurred, in my case when I received a specific syslog event.  The XBMC folks have packaged together a handy little python script called xbmc-send to do exactly that.</p>
<p><code><br />
xbmc-send -a "Notification(Hey,Hey there this is a message)"<br />
</code><br />
will display a pop up notification on your screen with a title of &#8220;Hey&#8221; and a message of &#8220;Hey there this is a message&#8221;</p>
<p>The same thing can be done with a remote xbmc instance by using<br />
<code><br />
xbmc-send --host=192.168.0.1 --port=9777 -a "Notification(Hey,Hey there this is a message)"<br />
</code></p>
<p>Actually, xbmc-send can send any of the actions that xbmc is aware of, you can find a full list of them <a href="http://wiki.xbmc.org/index.php?title=List_of_built-in_functions">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/11/display-a-message-on-screen-with-xbmc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send a syslog message to a remote server using netcat</title>
		<link>http://cyborgworkshop.org/2012/12/10/send-a-syslog-message-to-a-remote-server-using-netcat/</link>
		<comments>http://cyborgworkshop.org/2012/12/10/send-a-syslog-message-to-a-remote-server-using-netcat/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 22:16:21 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Best Tools]]></category>

		<guid isPermaLink="false">http://cyborgworkshop.org/?p=807</guid>
		<description><![CDATA[Netcat is awesome. I needed to send a remote syslog message to a receiving server today and all I had was netcat.  Come to find out, that&#8217;s all you need. nc -w0 -u 192.168.0.1 514]]></description>
				<content:encoded><![CDATA[<p>Netcat is awesome. I needed to send a remote syslog message to a receiving server today and all I had was netcat.  Come to find out, that&#8217;s all you need.<br />
<code><br />
nc -w0 -u 192.168.0.1 514 <<< "This is awesome"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://cyborgworkshop.org/2012/12/10/send-a-syslog-message-to-a-remote-server-using-netcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
