<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6815861405709398762</id><updated>2024-09-04T19:47:04.404-06:00</updated><title type='text'>the.hang4r</title><subtitle type='html'>Just in time...the party is gettin started here at the.hang4r</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-8673476898967797089</id><published>2013-11-05T08:57:00.000-07:00</published><updated>2013-11-05T08:57:11.339-07:00</updated><title type='text'>Cool Script for Taking Screenshots in OSX Where You can Specify the Path and Name of File!</title><content type='html'>&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;usage() {&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;&amp;nbsp; echo &quot;$0 &amp;lt;path&amp;gt;&quot;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;}&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;if [[ $1 != &quot;&quot; ]]; then&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;&amp;nbsp; screencapture -i $1&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;else&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;&amp;nbsp; usage&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;fi&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Save this as screenshot_osx.sh and make it executable:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: orange;&quot;&gt;chmod 755 screenshot_osx.sh&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To run it from Terminal simply do:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;&lt;b&gt;&lt;span style=&quot;color: orange;&quot;&gt;./screenshot_osx.sh /path/to/your/screenshot.png&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
A cross will be displayed to select what you want to capture...click, drag, snapshot, and enjoy!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/8673476898967797089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2013/11/cool-script-for-taking-screenshots-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/8673476898967797089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/8673476898967797089'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2013/11/cool-script-for-taking-screenshots-in.html' title='Cool Script for Taking Screenshots in OSX Where You can Specify the Path and Name of File!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-5038799046338377266</id><published>2013-10-17T09:59:00.003-06:00</published><updated>2013-10-17T12:22:16.002-06:00</updated><title type='text'>Brute Forcing a 32 Character Luks Password by Sequentially Iterating through a 32 Character Hex String</title><content type='html'>Just an example of iterating through a 32 character hex string. &amp;nbsp;As an example we&#39;re brute-forcing a Luks encryption password where the password is known to be a 128 bit hex string (good luck).&lt;br /&gt;
&lt;br /&gt;
From irb, we find our largest number:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;gt; &quot;ffffffffffffffffffffffffffffffff&quot;.to_i(16)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;=&amp;gt; 340282366920938463463374607431768211455&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Now we iterate, pad, and pass the value to luks:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;(0..340282366920938463463374607431768211455).each do |num|&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; pass = sprintf(&quot;%032x&quot;, num)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; print &quot;Passing #{pass}...&quot;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; `echo -ne &quot;#{pass}\r\n&quot; | cryptsetup -q luksOpen /dev/sdb1 secureUSB`&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000000...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000001...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000002...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000003...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000004...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000005...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000006...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000007...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000008...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000009...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000a...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000b...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000c...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000d...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000e...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000000f...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000010...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000011...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000012...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000013...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000014...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000015...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000016...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000017...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000018...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 00000000000000000000000000000019...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;b&gt;&lt;i&gt;Passing 0000000000000000000000000000001a...No key available with this passphrase.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Be sure to reference the appropriate Luks block device (e.g. /dev/sdc1).&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/5038799046338377266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2013/10/sequentially-iterate-through-32-byte.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5038799046338377266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5038799046338377266'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2013/10/sequentially-iterate-through-32-byte.html' title='Brute Forcing a 32 Character Luks Password by Sequentially Iterating through a 32 Character Hex String'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-6539441702912951297</id><published>2012-11-23T10:17:00.001-07:00</published><updated>2012-11-23T10:17:25.983-07:00</updated><title type='text'>Simple Script to Update All of Your Ubuntu Machines Securely Over SSH from One Central Location</title><content type='html'>&lt;div&gt;
First configure certificate-based authentication with no password on the server that will manage the updates for the rest of your hosts:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;$&amp;nbsp;ssh-keygen -t rsa&lt;/span&gt;&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Generating public/private rsa key pair.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter file in which to save the key (/home/&amp;lt;YOURUSERNAME&amp;gt;/.ssh/id_rsa): &amp;lt;ENTER&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter passphrase (empty for no passphrase): &amp;lt;ENTER&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter same passphrase again: &amp;lt;ENTER&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Your identification has been saved in /home/&amp;lt;YOURUSERNAME&amp;gt;/.ssh/id_rsa.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Your public key has been saved in /home/&amp;lt;YOURUSERNAME&amp;gt;/.ssh/id_rsa.pub.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;The key fingerprint is:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;82:ef:d2:3a:b3:5f:9d:bc:41:ac:10:42:8f:a3:24:02 &amp;lt;YOURUSERNAME&amp;gt;@&amp;lt;THE_UPDATE_SERVER&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;The key&#39;s randomart image is:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;+--[ RSA 2048]----+&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp;E.. . &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; o o &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp;. = o &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp; + + . . &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp;o S . &amp;nbsp; o &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; . &amp;nbsp;. &amp;nbsp;. = . |&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; ... &amp;nbsp; &amp;nbsp;o = &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp;. . + &amp;nbsp;. &amp;nbsp; o |&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;| &amp;nbsp; &amp;nbsp; .. .=. &amp;nbsp; . &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;+-----------------+&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This will generate ~/.ssh/id_rsa.pub - copy the contents of this file into ~/.ssh/authorized_keys on every host you&#39;d like to update (~/.ssh/authorized_keys should be the home folder of the user that will be used to ssh into the host that will obtain an update).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Once you can ssh into each host from the server without entering a password, create the file /usr/local/etc/update_da_boxen.config on the update server:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;$ sudo touch /usr/local/etc/update_da_boxen.config&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Next include one username@host_to_update entry on each line within /usr/local/etc/update_da_boxen.config:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;johndoe@firsthosttoupdate&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;jackie@seconfdhosttoupdate&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;janedee@thirdhosttoupdate&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Save your changes and ensure the file is only readable by root:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;chmod 600 /usr/local/etc/update_da_boxen.config &amp;amp;&amp;amp; chown root:root /usr/local/etc/update_da_boxen.config&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Next create /usr/local/scripts/update_da_boxen.rb:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;#!/usr/bin/env ruby&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;target_user_at_hosts_file = &#39;/usr/local/etc/update_da_boxen.config&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;File.read(target_user_at_hosts_file).each_line do |l|&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; user_at_host = l.strip.chomp&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; system(&quot;ssh #{user_at_host} &#39;sudo apt-get update&#39;&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; system(&quot;ssh #{user_at_host} &#39;sudo apt-get upgrade --assume-yes&#39;&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; system(&quot;ssh #{user_at_host} &#39;sudo apt-get dist-upgrade --assume-yes&#39;&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Save your changes and make /usr/local/scripts/update_da_boxen.rb executable:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;$ sudo chmod 700 /usr/local/scripts/update_da_boxen.rb &amp;amp;&amp;amp; sudo chown root:root&amp;nbsp;/usr/local/scripts/update_da_boxen.rb&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To ensure the example script above works, your remote SSH user must be added as a sudoer on the client host that will be included in the update pool:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;# visudo&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you don&#39;t want to have to type a password to obtain sudo authorization, enter the following:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;lt;YOURUSERNAME&amp;gt; ALL=(ALL:ALL) NOPASSWD:ALL&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Replace &amp;lt;YOURUSERNAME&amp;gt; with the SSH user of the host that will be updated.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers!&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/6539441702912951297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/11/simple-script-to-update-all-of-your.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6539441702912951297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6539441702912951297'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/11/simple-script-to-update-all-of-your.html' title='Simple Script to Update All of Your Ubuntu Machines Securely Over SSH from One Central Location'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-70325479600916450</id><published>2012-11-22T22:14:00.000-07:00</published><updated>2012-11-23T00:30:59.986-07:00</updated><title type='text'>Install the Latest Oracle Java JDK in Ubuntu with Ruby</title><content type='html'>&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;#!/usr/bin/env ruby&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;#&amp;nbsp;Download Files at: http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;if ARGV[0].nil?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; puts &quot;Usage #{$0} &amp;lt;path of downloaded oracle tgz file&amp;gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; update_file = ARGV[0]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; if File.extname(update_file) == &quot;.tgz&quot; || File.basename(update_file)[-6..-1] == &quot;tar.gz&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; java_root = `tar -tzf #{update_file}`.split(&quot;\/&quot;)[0]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; update_root = &quot;/usr/lib/jvm&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; system(&quot;tar -xzvf #{update_file}&quot;) unless Dir.exists?(&quot;#{update_root}/#{java_root}&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; first_time_installing_java = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; unless Dir.exists?(&quot;/usr/lib/jvm&quot;)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `mkdir /usr/lib/jvm`&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; first_time_installing_java = true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; `mv #{java_root} #{update_root}` unless Dir.exists?(&quot;#{update_root}/#{java_root}&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; if first_time_installing_java&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --install &#39;/usr/bin/java&#39; &#39;java&#39; &#39;#{update_root}/#{java_root}/bin/java&#39; 1&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --install &#39;/usr/bin/javac&#39; &#39;javac&#39; &#39;#{update_root}/#{java_root}/bin/javac&#39; 1&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --install &#39;/usr/bin/javaws&#39; &#39;javaws&#39; &#39;#{update_root}/#{java_root}/bin/javaws&#39; 1&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --config java&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --config javac&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; system(&quot;update-alternatives --config javaws&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; print &quot;Populate Username that Will Use the Mozilla Firefox Java Plugin: &quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; username = STDIN.gets.chomp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; if username != &quot;root&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mozilla_java_plugin_dir = &quot;/home/#{username}&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mozilla_java_plugin_dir = &quot;/root/.mozilla/plugins&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; puts &quot;MOZILLA PLUGIN HOME DIR = #{mozilla_java_plugin_dir}/libnpjp2.so&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; `mkdir #{mozilla_java_plugin_dir}` unless Dir.exists?(mozilla_java_plugin_dir)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; `ln -sf #{update_root}/#{java_root}/jre/lib/amd64/libnpjp2.so #{mozilla_java_plugin_dir}`&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; `ln -sf #{update_root}/#{java_root}`&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! This script only support .tgz or tar.gz Oracle Java files...&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; exit&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/70325479600916450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/11/install-latest-oracle-java-jdk-in-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/70325479600916450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/70325479600916450'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/11/install-latest-oracle-java-jdk-in-linux.html' title='Install the Latest Oracle Java JDK in Ubuntu with Ruby'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-3332574426898318012</id><published>2012-08-31T22:59:00.001-06:00</published><updated>2012-08-31T22:59:09.475-06:00</updated><title type='text'>Installing the &quot;curb&quot; Ruby Gem in Windows</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkhCUEZWPj90Xmw1h6q7muEuVydcLCtELWIvZ5ERFl6cTNTO6FesF-TqpZpNFDOOL9-rbsldLeDeLQRwhszvTitubYbxxDCaZ4UgiM7C6kTmZ9doI0UTNcvIpBuI7ZclQu23jFCPQwv8/s1600/curb.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkhCUEZWPj90Xmw1h6q7muEuVydcLCtELWIvZ5ERFl6cTNTO6FesF-TqpZpNFDOOL9-rbsldLeDeLQRwhszvTitubYbxxDCaZ4UgiM7C6kTmZ9doI0UTNcvIpBuI7ZclQu23jFCPQwv8/s200/curb.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Download the Ruby DevKit and Extract into C:\Devkit:&lt;br /&gt;
&lt;a href=&quot;https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe&quot;&gt;https://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Type the following command from a command prompt:&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;cd \Devkit&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;devkitvars.bat&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Download this file and extract it into C:\Windows\Sytem32:&lt;br /&gt;
&lt;a href=&quot;http://curl.haxx.se/gknw.net/7.27.0/dist-w32/curl-7.27.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.zip&quot;&gt;http://curl.haxx.se/gknw.net/7.27.0/dist-w32/curl-7.27.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Download this file and extract it into C:\&lt;br /&gt;
&lt;a href=&quot;http://curl.haxx.se/gknw.net/7.27.0/dist-w32/curl-7.27.0-devel-mingw32.zip&quot;&gt;http://curl.haxx.se/gknw.net/7.27.0/dist-w32/curl-7.27.0-devel-mingw32.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, from the same command prompt, run the following command:&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;gem install curb -- --with-curl-lib=C:\curl-7.27.0-devel-mingw32\bin --with-curl-include=C:\curl-7.27.0-devel-mingw32\include&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/3332574426898318012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/08/installing-curb-ruby-gem-in-windows_31.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3332574426898318012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3332574426898318012'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/08/installing-curb-ruby-gem-in-windows_31.html' title='Installing the &quot;curb&quot; Ruby Gem in Windows'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkkhCUEZWPj90Xmw1h6q7muEuVydcLCtELWIvZ5ERFl6cTNTO6FesF-TqpZpNFDOOL9-rbsldLeDeLQRwhszvTitubYbxxDCaZ4UgiM7C6kTmZ9doI0UTNcvIpBuI7ZclQu23jFCPQwv8/s72-c/curb.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-8898572481129665577</id><published>2012-08-10T22:12:00.003-06:00</published><updated>2012-08-10T23:36:49.623-06:00</updated><title type='text'>Wild Kill...Yeee-Haaah!!!</title><content type='html'>&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;#!/bin/bash&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;ps -ef | grep $1 | awk &#39;{print $2}&#39; | while read pid; do kill -15 $pid; done&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Save the script as wildkill.sh, make it executable:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;chmod 755 wildkill.sh&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
and run it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;./wildkill.sh firefox&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This will kill any process that contains the name firefox...be sure you know what you&#39;re killing because this script can be wild!&lt;br /&gt;
&lt;br /&gt;
Yeee-Haaah!&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLbpIJNmF9xoN_NxuXdFOrU7I0fBAjRdFyO8QXapctpHwUsrTUGIT-Sa4iHif9cbpxkqCV9wnvJvMru9cx4YUD8dJkK8Fuchescf43MDdwStfHJGOEJF8ICIMr8jXm6xFwKzIZI-L-CQk/s1600/Wild_Bill_Hickok_by_arvalis.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;227&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLbpIJNmF9xoN_NxuXdFOrU7I0fBAjRdFyO8QXapctpHwUsrTUGIT-Sa4iHif9cbpxkqCV9wnvJvMru9cx4YUD8dJkK8Fuchescf43MDdwStfHJGOEJF8ICIMr8jXm6xFwKzIZI-L-CQk/s320/Wild_Bill_Hickok_by_arvalis.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/8898572481129665577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/08/wild-killyeee-haaah.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/8898572481129665577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/8898572481129665577'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/08/wild-killyeee-haaah.html' title='Wild Kill...Yeee-Haaah!!!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLbpIJNmF9xoN_NxuXdFOrU7I0fBAjRdFyO8QXapctpHwUsrTUGIT-Sa4iHif9cbpxkqCV9wnvJvMru9cx4YUD8dJkK8Fuchescf43MDdwStfHJGOEJF8ICIMr8jXm6xFwKzIZI-L-CQk/s72-c/Wild_Bill_Hickok_by_arvalis.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-4422796628702583427</id><published>2012-07-17T19:26:00.000-06:00</published><updated>2012-08-31T23:03:38.385-06:00</updated><title type='text'>haxor_android: streamlining monotonous mobile preparation prior to a security engagement</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0g2bfGllCrs9z2HfSW_gSaJu8UTWQo7Us_E9cBtvEO55Kyr7B79m_chBtdDoO2mOfJJ02PGq95NxEw8J8kuc3Xiq6leCoglvaUlbIHAP5dyHkTgAeAYzVamZgldS1gbSANr6F5Xhrdw/s1600/android_hack_logo.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0g2bfGllCrs9z2HfSW_gSaJu8UTWQo7Us_E9cBtvEO55Kyr7B79m_chBtdDoO2mOfJJ02PGq95NxEw8J8kuc3Xiq6leCoglvaUlbIHAP5dyHkTgAeAYzVamZgldS1gbSANr6F5Xhrdw/s200/android_hack_logo.jpg&quot; width=&quot;191&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
Periodic element class for security engagements on Android devices...requires the Anroid SDK. This package also requires a rooted device.&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
Create your own rendition of this class based on the README at:&amp;nbsp;&lt;a href=&quot;https://github.com/ninp0/kore_kit/tree/master/lib/kore_kit/telecom/mobile/android&quot; style=&quot;background-color: white;&quot;&gt;https://github.com/ninp0/kore_kit/tree/master/lib/kore_kit/telecom/mobile/android&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
Please note: You&#39;ll need to download and unzip extraxt dex2jar separately. Once extracted, create a symlink/shortcut to dex2jar.sh/dex2jar.bat (depending on your OS) CALLED &quot;dex2jar&quot; (NO EXTENSION) and place it in your PATH.&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Helvetica, arial, freesans, clean, sans-serif; font-size: 14px; line-height: 22px; margin-top: 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
Cheers!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/4422796628702583427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/07/haxorandroid-streamlining-monotonous.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4422796628702583427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4422796628702583427'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/07/haxorandroid-streamlining-monotonous.html' title='haxor_android: streamlining monotonous mobile preparation prior to a security engagement'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK0g2bfGllCrs9z2HfSW_gSaJu8UTWQo7Us_E9cBtvEO55Kyr7B79m_chBtdDoO2mOfJJ02PGq95NxEw8J8kuc3Xiq6leCoglvaUlbIHAP5dyHkTgAeAYzVamZgldS1gbSANr6F5Xhrdw/s72-c/android_hack_logo.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-3755712249372353752</id><published>2012-07-03T20:30:00.002-06:00</published><updated>2012-08-31T22:48:46.277-06:00</updated><title type='text'>Introducing watirfall - An Automated Human Approach for Very Surgical Web Engagements</title><content type='html'>&lt;div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCcQsE4ahwL_ue5Vtm9JQMsei_jZmJKefrAqB4c34D0mqU8G5mdJmLEXRedMPHxoGl1TugnN9n1bpW5MyoNHTj-47ujOxJnPG-uq9V1KETAs1fJ-PZmFSJFBYtMelHWjnO9OSowwgLMRA/s1600/Waterfall2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;222&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCcQsE4ahwL_ue5Vtm9JQMsei_jZmJKefrAqB4c34D0mqU8G5mdJmLEXRedMPHxoGl1TugnN9n1bpW5MyoNHTj-47ujOxJnPG-uq9V1KETAs1fJ-PZmFSJFBYtMelHWjnO9OSowwgLMRA/s320/Waterfall2.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Decided to start working on a &quot;smart&quot; web-based class capable of behaving as if it were human. &amp;nbsp;This class can be used when a &quot;surgical approach&quot; is preferable during web security engagements. &amp;nbsp;This class currently works with the Firefox and Chrome browsers under both Linux and MacOSX. &amp;nbsp;It will allow you to drive a browser automatically, taking advantage of the built-in JavaScript engines found in the most popular browsers. &amp;nbsp;The following is an example of how to use it.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;#!/usr/bin/env ruby&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;require &#39;./watirfall_config&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;require &#39;./watirfall&#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;watirfall_config = WatirfallConfig.new&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;watirfall_config.as_firefox&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;wf = Watirfall.new(watirfall_config)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;browser = wf.startup&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;browser.goto(&quot;http://www.ksl.com&quot;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;browser.text_field(:id =&amp;gt; &#39;search_keyword&#39;).click&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;wf.type_as_human(&quot;watirfall&quot;) {|char| browser.text_field(:id =&amp;gt; &#39;search_keyword&#39;).send_keys char}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;browser.text_field(:id =&amp;gt; &#39;search_keyword&#39;).send_keys :enter&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you feel you&#39;d like to give this code a go, you can find it at &lt;a href=&quot;https://github.com/ninp0/kore_kit/tree/master/lib/kore_kit/web/watirfall&quot;&gt;https://github.com/ninp0/kore_kit/tree/master/lib/kore_kit/web/watirfall&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
For more information around driving this browser, the real sauce is found within &lt;a href=&quot;http://watirwebdriver.com/&quot; target=&quot;_blank&quot;&gt;watir-webdriver&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/3755712249372353752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/07/decided-to-start-working-on-smart-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3755712249372353752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3755712249372353752'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/07/decided-to-start-working-on-smart-web.html' title='Introducing watirfall - An Automated Human Approach for Very Surgical Web Engagements'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCcQsE4ahwL_ue5Vtm9JQMsei_jZmJKefrAqB4c34D0mqU8G5mdJmLEXRedMPHxoGl1TugnN9n1bpW5MyoNHTj-47ujOxJnPG-uq9V1KETAs1fJ-PZmFSJFBYtMelHWjnO9OSowwgLMRA/s72-c/Waterfall2.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-5912416805270100994</id><published>2012-06-20T22:21:00.002-06:00</published><updated>2012-08-10T23:44:19.703-06:00</updated><title type='text'>num_jenny - A Versatile Number Generator for the Security Mindset</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhuCqYWxGGEjkmi9mzAfOToR2QiNN0EvyqHQ_PtNuOZ8AQjdA4I0CdlCasKc7fN50YcRcqs9NPSj11DDioNiLamimgshBQ56veH-RcWX3CkLJDYCI5bRzRf-Ky1JLMaz2b5cJvxyySns/s1600/lottery.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhuCqYWxGGEjkmi9mzAfOToR2QiNN0EvyqHQ_PtNuOZ8AQjdA4I0CdlCasKc7fN50YcRcqs9NPSj11DDioNiLamimgshBQ56veH-RcWX3CkLJDYCI5bRzRf-Ky1JLMaz2b5cJvxyySns/s200/lottery.jpeg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
A helpful ruby class for all sorts of security projects...this class is a member of my periodic table of classes.&amp;nbsp; Get it here:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/ninp0/num_jenny&quot;&gt;https://github.com/ninp0/num_jenny&lt;/a&gt;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
It&#39;s pretty cool since this ruby class can be invoked to produce all types of numbers!&lt;br /&gt;
&lt;br /&gt;
&lt;i style=&quot;color: #e69138;&quot;&gt;require &#39;./num_jenny&#39;&lt;br /&gt;# Only needed for last example&lt;br /&gt;require &#39;creditcard&#39;&lt;br /&gt;&lt;br /&gt;n = NumJenny.new&lt;br /&gt;puts n.range(:start_with =&amp;gt; 0, :end_with =&amp;gt; 10)&lt;br /&gt;&lt;br /&gt;n.range(:start_with =&amp;gt; 0, :end_with =&amp;gt; 9999, :pad =&amp;gt; true).each do |pin|&lt;br /&gt;&amp;nbsp; puts &quot;Attempting: #{pin}&quot;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;puts n.range(:start_with =&amp;gt; 0, :end_with =&amp;gt; 10, :random =&amp;gt; true)&lt;br /&gt;&lt;br /&gt;puts n.range(:start_with =&amp;gt; 0, :end_with =&amp;gt; 10, :pad =&amp;gt; true, :random =&amp;gt; true)&lt;br /&gt;&lt;br /&gt;puts n.range(:start_with =&amp;gt; 10, :end_with =&amp;gt; 20, :pad =&amp;gt; true)&lt;br /&gt;&lt;br /&gt;n.range(:start_with =&amp;gt; &#39;1-493-555-0000&#39;, :end_with =&amp;gt; &#39;1-493-555-9999&#39;, :random =&amp;gt; true).each do |phoneno|&lt;br /&gt;&amp;nbsp; puts &quot;ATDT#{phoneno}&quot;&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;n.range(:start_with =&amp;gt; &quot;344543800000000&quot;, :end_with =&amp;gt; &quot;344543800999999&quot;, :random =&amp;gt; true).each do |ccno|&lt;br /&gt;&amp;nbsp; puts &quot;Valid #{ccno.creditcard_type} Card Found: #{ccno}&quot; if ccno.creditcard?&lt;br /&gt;end&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Cheers!</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/5912416805270100994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/06/numjenny-versatile-number-generator-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5912416805270100994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5912416805270100994'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/06/numjenny-versatile-number-generator-for.html' title='num_jenny - A Versatile Number Generator for the Security Mindset'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhuCqYWxGGEjkmi9mzAfOToR2QiNN0EvyqHQ_PtNuOZ8AQjdA4I0CdlCasKc7fN50YcRcqs9NPSj11DDioNiLamimgshBQ56veH-RcWX3CkLJDYCI5bRzRf-Ky1JLMaz2b5cJvxyySns/s72-c/lottery.jpeg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-2879820502902402165</id><published>2012-06-14T23:54:00.004-06:00</published><updated>2012-08-17T22:53:09.144-06:00</updated><title type='text'>Streamlining the Evolution of Application Development by Developing a Periodic Table of Classes</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA6D7jb0beMdk6QJTD-PktgjcJ6n2Li-agnlIhEW1WBEsBR46WTyfRLGQEephD1W5mhtScL6gMHpO4EnF2vHKual-NIrFfu8pVeR9tGCFJENFlN5mCmzzvcGXPM0Ummp_xS7Bi5p3vX2Q/s1600/1022molecule.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA6D7jb0beMdk6QJTD-PktgjcJ6n2Li-agnlIhEW1WBEsBR46WTyfRLGQEephD1W5mhtScL6gMHpO4EnF2vHKual-NIrFfu8pVeR9tGCFJENFlN5mCmzzvcGXPM0Ummp_xS7Bi5p3vX2Q/s200/1022molecule.jpg&quot; width=&quot;198&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;i&gt;&quot;The best designs are those that mimic life.&quot;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Remember the aforementioned statement, as it&#39;s critically important to reflect upon this statement as you read further.&lt;br /&gt;
&lt;br /&gt;
Now, when we begin to&amp;nbsp;imagine&amp;nbsp;how the &amp;nbsp;building blocks of life interact and bond with one another at a sub-atomic &amp;gt;&amp;gt; atomic &amp;gt;&amp;gt; molecular level to form more self-aware and complex forms of life, it&#39;s easy to consider how those building blocks of life provide an excellent model to approach object oriented design within applications we write for ourselves and others. &amp;nbsp;&quot;Phew, that was a long run-on sentence to consume...&quot; &amp;nbsp;Run through it again.&lt;br /&gt;
&lt;br /&gt;
Atoms, when bound with other atoms, produce various&amp;nbsp;compounds&amp;nbsp;(molecules). &amp;nbsp;For example, two Hydrogen atoms and one Oxygen atom when bound, form a single water molecule. &amp;nbsp;Now stay with me here, there&#39;s a point to all of this...that is if you haven&#39;t already started to understand why this is such a beautiful mindset to develop when designing applications.&lt;br /&gt;
&lt;br /&gt;
When new programmers design code (and I&#39;ve certainly been guilty of this as well), it&#39;s pretty common to write an application top-to-bottom...in one file. &amp;nbsp;Cool, it works...at least for the time being. &amp;nbsp;We do this because we have deadlines and we believe it&#39;s the fastest way to accomplish our goal or the goal of our employers. &amp;nbsp;It&#39;s time to think differently now that we&#39;re stepping back a bit further, thinking deeper, and really wrapping our minds around the bigger picture (all in the spirit of supporting maintainability, scalability,&amp;nbsp;re-usability, interoperability, and my favorite &lt;u&gt;collaboritive code to share with one another&lt;/u&gt;). &amp;nbsp;While we&#39;re here, let&#39;s ask ourselves...aren&#39;t we sick of copying and pasting code or worse yet, sick of writing the same code snippets over and over? &amp;nbsp;Me too.&lt;br /&gt;
&lt;br /&gt;
An application can become harder and harder to manage over time as change presents itself. &amp;nbsp;Change is&amp;nbsp;inevitable and this is especially true over longer periods of time - more folks depend on your application because hey, it makes their life easier right? &amp;nbsp;As a result, new requirements also present themselves - life never seems easy enough for most. &amp;nbsp;This is perfectly okay because it&#39;s this fundamental desire that can drive&amp;nbsp;innovation and the progression within all of us.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the top-to-bottom evolution process likely results in hundreds, if not thousands of lines of code all managed in a single file (or a small collections of files). &amp;nbsp;It&#39;s likely we can all agree that wrapping our minds around the logic contained within hundreds, if not thousands of lines of code in aggregate simply becomes...a huge pain in the ass. &amp;nbsp;In simpler terms this approach could be described as the, &quot;Dodo Bird Approach&quot; to development - a development design mindset that can&#39;t adapt to it&#39;s ever-changing and demanding environment - ultimately leading to its extinction.&lt;br /&gt;
&lt;br /&gt;
Now, back to life&#39;s approach to design - particularly at the atomic/elemental level. &amp;nbsp;Looking at the periodic table of elements we start to notice a pattern - all elements/atoms contain certain properties that define how they behave. &amp;nbsp;For the context of this post, we will assert that the properties of an element/atom are&amp;nbsp;synonymous to the methods/functions/subroutines found within a particular &quot;elemental/atomic class.&quot;&lt;br /&gt;
&lt;br /&gt;
What this means from the perspective of a developer is the need to create our own&amp;nbsp;&quot;periodic table of classes&quot; - each with their own specific properties (public/private methods) small enough to share and use interchangeably to streamline the application development process. &amp;nbsp;The classes only focus on accomplishing a specific task and should only focus on that task. &amp;nbsp;An example of this may be an &quot;element&quot; designed to connect and interact with various types of databases. &amp;nbsp;We instantiate a collection of various &quot;elemental/atomic classes&quot; to create a complex organism (the application), capable of evolving in a manner that makes it more efficient through its evolution process.&lt;br /&gt;
&lt;br /&gt;
In essence, when we think of object oriented design in this context we are actually thinking about how to design code in way that is meant to be shared, providing an opportunity to learn from one another. &amp;nbsp;This in turn promotes innovation, an efficient&amp;nbsp;evolution&amp;nbsp;process to support the ever-changing demands of our environment, and ultimately a means to present a better quality of life for one another. &amp;nbsp;Big things start really small and as a person smarter than Myself once said, simply put...the best designs are those that mimic life.&lt;br /&gt;
&lt;br /&gt;
An excellent book around more design patterns is called, &lt;a href=&quot;http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612&quot; target=&quot;_blank&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;Design Patterns: Elements of Reusable Object-Oriented Software&quot;&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I hope this mindset helps you as it&#39;s certainly helped me...&lt;br /&gt;
&lt;br /&gt;
To see code using this design methodology check out this git repo:&lt;br /&gt;
&lt;a href=&quot;https://github.com/ninp0/kore_kit&quot;&gt;https://github.com/ninp0/kore_kit&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/2879820502902402165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/06/streamlining-evolution-of-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/2879820502902402165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/2879820502902402165'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/06/streamlining-evolution-of-application.html' title='Streamlining the Evolution of Application Development by Developing a Periodic Table of Classes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA6D7jb0beMdk6QJTD-PktgjcJ6n2Li-agnlIhEW1WBEsBR46WTyfRLGQEephD1W5mhtScL6gMHpO4EnF2vHKual-NIrFfu8pVeR9tGCFJENFlN5mCmzzvcGXPM0Ummp_xS7Bi5p3vX2Q/s72-c/1022molecule.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-3857351570666283749</id><published>2012-05-31T10:23:00.004-06:00</published><updated>2012-08-10T23:47:19.868-06:00</updated><title type='text'>Find all Plist Files in a Directory and Convert Contents into XML Files</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIvcjeGvjhdX2wM85ZIscjQ8m85yRjlX3Xox6YgZ8229YnY-fggkLnY6bmQ9F59irDo_SGeq2oaFF36ivGOfurk-5u_4C_SyhQxGrp_C_wBrVOwvusBDRiMscLetRKKLFGg4Ku2Uy3Lew/s1600/plist_xmlview.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;192&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIvcjeGvjhdX2wM85ZIscjQ8m85yRjlX3Xox6YgZ8229YnY-fggkLnY6bmQ9F59irDo_SGeq2oaFF36ivGOfurk-5u_4C_SyhQxGrp_C_wBrVOwvusBDRiMscLetRKKLFGg4Ku2Uy3Lew/s320/plist_xmlview.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Works on MacOSX Boxes:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
#!/bin/bash&lt;br /&gt;
# Cheers!&lt;br /&gt;
find $1 -iname &quot;*.plist&quot; | while read f; do&lt;br /&gt;
&amp;nbsp; xml_file=`echo $f | sed &quot;s/\.plist/\.xml/g&quot;`&lt;br /&gt;
&amp;nbsp; echo &quot;Found $f&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; echo -n &quot;Converting to XML...&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; /usr/libexec/PlistBuddy -c &#39;Print&#39; $f &amp;gt; $xml_file&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; echo &quot;complete.&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; echo &quot;XML file resides in: $xml_file&quot;&lt;br /&gt;
done&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/3857351570666283749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/05/find-all-plist-files-and-convertdisplay.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3857351570666283749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3857351570666283749'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/05/find-all-plist-files-and-convertdisplay.html' title='Find all Plist Files in a Directory and Convert Contents into XML Files'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIvcjeGvjhdX2wM85ZIscjQ8m85yRjlX3Xox6YgZ8229YnY-fggkLnY6bmQ9F59irDo_SGeq2oaFF36ivGOfurk-5u_4C_SyhQxGrp_C_wBrVOwvusBDRiMscLetRKKLFGg4Ku2Uy3Lew/s72-c/plist_xmlview.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-2409898124552899727</id><published>2012-05-13T16:03:00.003-06:00</published><updated>2012-08-10T23:49:37.128-06:00</updated><title type='text'>haxor_mailer.rb Class</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz6WHoCBQT3wrHEqMAoFl1PaMMaMezunyhZDJmZfWVWCV_j-XdqfwA64xupqjqdaonTNW_IeihjGoHxU7n_MzIs-Lh31E0MQdpHR-OlQ0fkVdXVIcMIHqunXt7hcdrO7yMYYzLesZ1SMI/s1600/contact_mailman.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz6WHoCBQT3wrHEqMAoFl1PaMMaMezunyhZDJmZfWVWCV_j-XdqfwA64xupqjqdaonTNW_IeihjGoHxU7n_MzIs-Lh31E0MQdpHR-OlQ0fkVdXVIcMIHqunXt7hcdrO7yMYYzLesZ1SMI/s200/contact_mailman.jpg&quot; width=&quot;137&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;# Send eMail from Many Different Mail Providers...cheers!&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;class HaxorMailer&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; require &#39;pony&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; require &#39;highline/import&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def populate_mail_password(user_name)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; mail_pass = HighLine.new.ask(&quot;#{user_name} password: &quot;) {|q| q.echo = &quot;\*&quot; }&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; return mail_pass.chomp&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def pony_express(opts={})&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; from = opts[:from]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; to = opts[:to]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; cc = opts[:cc]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; bcc = opts[:bcc]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; subject = opts[:subject]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; html_body = opts[:html_body]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; txt_body = opts[:txt_body] # If HTML is NOT supported or desired&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; attachments_hash = {}&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:attachments_hash].each do |attachment_name, attachment_path|&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; attachments_hash[attachment_name] = File.binread(attachment_path)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; debug = opts[:debug]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; address = opts[:address]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; port = opts[:port]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; user_name = opts[:user_name]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; if ! user_name.nil? &amp;amp;&amp;amp; opts[:password].nil?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; password = self.populate_mail_password(user_name)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; password = opts[:password]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; if debug == true&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;DEBUG ENABLED: from=&amp;gt;#{from.inspect}, to=&amp;gt;#{to.inspect}, cc=&amp;gt;#{cc.inspect}, bcc=&amp;gt;#{bcc.inspect}, subject=&amp;gt;#{subject.inspect}, html_body=&amp;gt;#{html_body.inspect}, txt_body=&amp;gt;#{txt_body.inspect}, attachments=&amp;gt;#{attachments_hash.inspect}, address=&amp;gt;#{address.inspect}, port=&amp;gt;#{port.inspect}, user_name=&amp;gt;#{user_name.inspect}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Pony.mail({&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :to =&amp;gt; to,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :cc =&amp;gt; cc,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :bcc =&amp;gt; bcc,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :from =&amp;gt; from,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :subject =&amp;gt; subject,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :html_body =&amp;gt; html_body,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :txt_body =&amp;gt; txt_body,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :attachments =&amp;gt; attachments_hash,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :via =&amp;gt; :smtp,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :via_options =&amp;gt; {&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :address =&amp;gt; address,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :port =&amp;gt; port,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :enable_starttls_auto =&amp;gt; true,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :user_name =&amp;gt; user_name,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :password =&amp;gt; password,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :authentication =&amp;gt; :plain,&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :domain =&amp;gt; &#39;localhost.localdomain&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def gmail(opts={})&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:address] = &#39;smtp.gmail.com&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:port] = 587&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; self.pony_express(opts)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def hotmail(opts={})&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:address] = &#39;smtp.live.com&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:port] = 587&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; self.pony_express(opts)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def spoof(opts={})&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; self.pony_express(opts)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def yahoo(opts={})&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:address] = &#39;smtp.mail.yahoo.com&#39;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; opts[:port] = 587&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; self.pony_express(opts)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
Yeeesss! \o/ Here&#39;s how you instantiate the class:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;require &#39;./haxor_mailer&#39;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;mail = HaxorMailer.new&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;# A quick way to use the supported/builtin methods to the class... &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;puts mail.gmail(:from =&amp;gt; &#39;some.user@gmail.com&#39;, :to =&amp;gt; &#39;some.other.user@some-email.com&#39;, :subject =&amp;gt; &#39;Check this Out!&#39;, :html_body =&amp;gt; &#39;&amp;lt;!DOCTYPE HTML&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;a href=&quot;http://www.google.com&quot;&amp;gt;Google Rocks!&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#39;, :txt_body =&amp;gt; &#39;Google Rocks! Navigate to: http://www.google.com with Your Internet Browser&#39;, :user_name =&amp;gt; &#39;jake.hoopes@gmail.com&#39;, :attachments_hash =&amp;gt; { &#39;mail1.txt&#39; =&amp;gt; &#39;./mail1.txt&#39;, &#39;mail2.txt&#39; =&amp;gt; &#39;./mail2.txt&#39; }, :debug =&amp;gt; true)&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;puts mail.hotmail(&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;:password=&amp;gt;&#39;my_optional_passed_in_password&#39;, &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;:from =&amp;gt; &#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;some.user&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;@hotmail.com&#39;, :to =&amp;gt; &#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;some.other.user@some-email.com&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&#39;, :subject =&amp;gt; &#39;Check this Out!&#39;, :html_body =&amp;gt; &#39;&amp;lt;!DOCTYPE HTML&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;a href=&quot;http://www.google.com&quot;&amp;gt;Google Rocks!&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#39;, :txt_body =&amp;gt; &#39;Google Rocks! Navigate to: http://www.google.com with Your Internet Browser&#39;, :user_name =&amp;gt; &#39;hoopes9@hotmail.com&#39;, :attachments_hash =&amp;gt; { &#39;mail1.txt&#39; =&amp;gt; &#39;./mail1.txt&#39;, &#39;mail2.txt&#39; =&amp;gt; &#39;./mail2.txt&#39; }, :debug =&amp;gt; true)&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;puts mail.yahoo(:password=&amp;gt;&#39;my_optional_passed_in_password&#39;, :from =&amp;gt; &#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;some.user&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;@yahoo.com&#39;, :to =&amp;gt; &#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;some.other.user@some-email.com&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&#39;, :subject =&amp;gt; &#39;Check this Out!&#39;, :html_body =&amp;gt; &#39;&amp;lt;!DOCTYPE HTML&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;a href=&quot;http://www.google.com&quot;&amp;gt;Google Rocks!&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#39;, :txt_body =&amp;gt; &#39;Google Rocks! Navigate to: http://www.google.com with Your Internet Browser&#39;, :user_name =&amp;gt; &#39;jake.hoopes@yahoo.com&#39;, :attachments_hash =&amp;gt; { &#39;mail1.txt&#39; =&amp;gt; &#39;./mail1.txt&#39;, &#39;mail2.txt&#39; =&amp;gt; &#39;./mail2.txt&#39; }, :debug =&amp;gt; true)&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;puts mail.spoof(:from =&amp;gt; &#39;spoof_mail_from@mailrelay.com&#39;, :to =&amp;gt; &#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;some.other.user@some-email.com&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&#39;, :subject =&amp;gt; &#39;Check this Out!&#39;, :html_body =&amp;gt; &#39;&amp;lt;!DOCTYPE HTML&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div&amp;gt;&amp;lt;a href=&quot;http://www.google.com&quot;&amp;gt;Google Rocks!&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&#39;, :txt_body =&amp;gt; &#39;Google Rocks! Navigate to: http://www.google.com with Your Internet Browser&#39;, :address =&amp;gt; &#39;127.0.0.1&#39;, :port =&amp;gt; 25, :attachments_hash =&amp;gt; { &#39;mail1.txt&#39; =&amp;gt; &#39;./mail1.txt&#39;, &#39;mail2.txt&#39; =&amp;gt; &#39;./mail2.txt&#39; }, :debug =&amp;gt; true)&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/2409898124552899727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/05/haxormailerrb-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/2409898124552899727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/2409898124552899727'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/05/haxormailerrb-class.html' title='haxor_mailer.rb Class'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz6WHoCBQT3wrHEqMAoFl1PaMMaMezunyhZDJmZfWVWCV_j-XdqfwA64xupqjqdaonTNW_IeihjGoHxU7n_MzIs-Lh31E0MQdpHR-OlQ0fkVdXVIcMIHqunXt7hcdrO7yMYYzLesZ1SMI/s72-c/contact_mailman.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-5856924044882821689</id><published>2012-03-28T21:49:00.003-06:00</published><updated>2012-08-10T23:57:22.842-06:00</updated><title type='text'>Example: Simple Banner-Grabbing Modem Dialer Class Object (Using GNU Screen Wrapped in Ruby Goodness)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEino7X5aqqhy7_5PZ-25INYHZ3P2dwUXAFT0muDyYlfHQotVkHJFgW02moyORmHU7KhMQjer8Q9NRTDUftAQGtrDaxjMbBMNpTUznG61b-0dhZxFRAEK8vj6E3bkjjNrqyw8gnkDws-E5c/s1600/remotecontrolled-cameraphone.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEino7X5aqqhy7_5PZ-25INYHZ3P2dwUXAFT0muDyYlfHQotVkHJFgW02moyORmHU7KhMQjer8Q9NRTDUftAQGtrDaxjMbBMNpTUznG61b-0dhZxFRAEK8vj6E3bkjjNrqyw8gnkDws-E5c/s200/remotecontrolled-cameraphone.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Here&#39;s an example of a class that can be&amp;nbsp;leveraged&amp;nbsp;to interact with modems in an effort to retrieve banners:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;class AtHayesScreenDialer&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def initialize(screen_session_name, tty_dev_path, at_init_str=&quot;AT S7=45 S0=0 L1 V1 X4 &amp;amp;c1 E1 Q0&quot;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; @screen_session_name = &quot;#{screen_session_name}_#{rand(36**8).to_s(36)}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; @screen_session_rc_file = &quot;/tmp/screenrc_#{@screen_session_name}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; @screen_session_log_file = &quot;/tmp/screen_#{@screen_session_name}.log&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; @press_enter = sprintf(&quot;\r&quot;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; @screen_cmd = &quot;screen -p 0 -S #{@screen_session_name} -X stuff&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# Setup GNU screen session&#39;s flushing of logfile buffer to be real-time&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; File.open(@screen_session_rc_file, &#39;w&#39;) do |f|&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f.puts &quot;logfile &#39;#{@screen_session_log_file}&#39;&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f.puts &quot;logfile flush 0&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; # Custom rc file, log, and start in deteached mode with session name&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `screen -c #{@screen_session_rc_file} -L -d -m -S #{@screen_session_name} #{tty_dev_path}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 3 # Let&#39;s wait a bit to ensure our screen session is ready...&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;\nIntializing Screen Session: #{@screen_session_name}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;Sent &#39;#{at_init_str}&#39; Command...&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;#{at_init_str}#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts self.check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def dump&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return File.read(@screen_session_log_file, :encoding=&amp;gt;&quot;BINARY&quot;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `screen -S #{@screen_session_name} -X quit`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; File.unlink(@screen_session_rc_file)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; File.unlink(@screen_session_log_file)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; # Pass in 0 as param for key_delay_seconds if no key delay is desired...&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def press_key(key,times=1,key_delay_seconds=1)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; (1..times).each do&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; printf(&quot;%s&quot;, key)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep key_delay_seconds&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; return&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; serial_output = File.read(@screen_session_log_file, :encoding=&amp;gt;&quot;BINARY&quot;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; if serial_output.nil?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; response = nil&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; else&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; response = serial_output.split(/\r\n/)[-1]&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unless response.nil?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = response.strip.chomp&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; case response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when &quot;OK&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return :OK&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when /CONNECT (9600|38400|115200)/&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when &quot;ERROR&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return :ERROR&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when /ATDT[0-9],[0-9]/&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when &quot;NO CARRIER&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return :NO_CARRIER&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when &quot;BUSY&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return :BUSY&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when &quot;VOICE&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return :VOICE&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def command_mode&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;+++&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def data_mode&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;ATO#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def hangup&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;\nHanging Up. &amp;nbsp;Sending &#39;ATH&#39; Command...&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;ATH#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts self.check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def reset&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;\nHanging Up. &amp;nbsp;Sending &#39;ATH&#39; Command...&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;ATZ#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts self.check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; def dial(phone_num, call_length_seconds, dial_prefix=nil, banner_grap=true)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; begin&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call_started = Time.now&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call_length_status = Time.now - call_started&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; unless dial_prefix.nil?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;Dialing #{dial_prefix},#{phone_num} for a duration of #{call_length_seconds} seconds...&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;ATDT#{dial_prefix},#{phone_num}#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;Dialing #{phone_num} for a duration of #{call_length_seconds} seconds&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} &quot;ATDT#{phone_num}#{@press_enter}&quot;`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; until call_length_status &amp;gt; call_length_seconds&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; current_response = self.check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # If we get a CONNECT response, pass a few carriage returns to get a banner response...&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if current_response =~ /CONNECT (9600|38400|115200)/&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; puts current_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} #{@press_enter}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} #{@press_enter}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} #{@press_enter}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} #{@press_enter}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `#{@screen_cmd} #{@press_enter}`&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 3&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if banner_grap == true&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.command_mode&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.hangup&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.reset&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #else&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #jack with the remote session&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print &quot;.&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; call_length_status = Time.now - call_started&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sleep 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;CALL LENGTH MET (#{call_length_seconds} seconds).&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.command_mode&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.hangup&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts self.check_response&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 0&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; rescue =&amp;gt; e&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; puts &quot;ERROR!!! #{e.class} #{e} #{e.backtrace}&quot;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; self.close&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; return 1&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/5856924044882821689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2012/03/example-simple-wardialing-class-object.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5856924044882821689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5856924044882821689'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2012/03/example-simple-wardialing-class-object.html' title='Example: Simple Banner-Grabbing Modem Dialer Class Object (Using GNU Screen Wrapped in Ruby Goodness)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEino7X5aqqhy7_5PZ-25INYHZ3P2dwUXAFT0muDyYlfHQotVkHJFgW02moyORmHU7KhMQjer8Q9NRTDUftAQGtrDaxjMbBMNpTUznG61b-0dhZxFRAEK8vj6E3bkjjNrqyw8gnkDws-E5c/s72-c/remotecontrolled-cameraphone.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-3146781881342384548</id><published>2011-11-04T10:07:00.001-06:00</published><updated>2012-08-10T23:58:16.578-06:00</updated><title type='text'>Colorize the Output of any Command from Bash!</title><content type='html'>&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwRlkkrQX5lQVUGYP4hj8Boz_mR6eI3LVkWgCk-kydyMas9VjllrwhXMDBmx41monAAZsCCKZDOEUpAQi79jUaxBfooFhhL-Ibkb196Gb0gLUuJoRlQwWnKwx9liw4f6u8T4gQIeyT_EU/s1600/offtheair.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;159&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwRlkkrQX5lQVUGYP4hj8Boz_mR6eI3LVkWgCk-kydyMas9VjllrwhXMDBmx41monAAZsCCKZDOEUpAQi79jUaxBfooFhhL-Ibkb196Gb0gLUuJoRlQwWnKwx9liw4f6u8T4gQIeyT_EU/s200/offtheair.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;# git clone git://github.com/ninp0/console_crayon.git&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# gem install rainbow&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
I particularly like using it with tcpdump when monitoring pf in realtime via OpenBSD:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# cd console_crayon &amp;amp;&amp;amp; ./console_crayon.rb -c &#39;tcpdump -nettt -i pflog0&#39; -m &#39;pass,green,white|block,red,white&#39;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
but I&#39;m sure you could use it for a million other things...enjoy!&lt;br /&gt;
&lt;br /&gt;
Cheers!</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/3146781881342384548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/11/colorize-output-of-any-command-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3146781881342384548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/3146781881342384548'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/11/colorize-output-of-any-command-from.html' title='Colorize the Output of any Command from Bash!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwRlkkrQX5lQVUGYP4hj8Boz_mR6eI3LVkWgCk-kydyMas9VjllrwhXMDBmx41monAAZsCCKZDOEUpAQi79jUaxBfooFhhL-Ibkb196Gb0gLUuJoRlQwWnKwx9liw4f6u8T4gQIeyT_EU/s72-c/offtheair.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-4455389707104719559</id><published>2011-10-12T21:49:00.012-06:00</published><updated>2011-10-16T18:06:38.224-06:00</updated><title type='text'>Wiping Up the Web, One Tissue (i.e. Page) at a Time...Introducing, &quot;hachoo.rb&quot;</title><content type='html'>A helpful utility if you want to explore web pages in detail...should work with tor, socks, MITM proxies, etc.&lt;br /&gt;
&lt;br /&gt;
* Features: Site automation, proxy support (including SOCKS), ability to change user agent, iframe support, etc...&lt;br /&gt;
&lt;i&gt;*Coming soon: (crawling, bug-fixes, etc) &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I welcome any suggestions for improvement.&amp;nbsp; Cheers!&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# git clone git://github.com/ninp0/hachoo.git&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# gem install mechanize&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# gem install addressable&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# gem install socksify&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# gem install rails&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# cd hachoo&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt; # ./hachoo.rb&lt;/i&gt;&lt;/div&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Usage: ./hachoo.rb -u &amp;lt;uri&amp;gt; &amp;lt;optional_flags&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -h, --help&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Help!&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -u, --uri URI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Required: Target URI&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -P, --proxy-ip PROXY_IP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Proxy IP&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -p, --proxy-port PROXY_PORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Proxy Port&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -S, --enable-socks-proxy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Soxy Proxy is Foxy ;)&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -a, --eval-all&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Evaluate All&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -b, --body-eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Evaluate Body Response&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -f, --forms-eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Evaluate Forms&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -l, --links-eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Evaluate Links&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -i, --images-eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Evaluate Images&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -t, --title-eval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Display Page Title&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -T, --timeout SECONDS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: Timeout in Seconds&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -U, --user-agent AGENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Optional: User Agent&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Basic Example (Request will Timeout After 5 Seconds):&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./hachoo.rb -u https://twitter.com/ninp0 -a -T 5&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Intermediate Example:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start a MITM Proxy (e.g. BurpSuite, Paros, etc.)&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; java -Xmx512m -jar burpsuite.jar&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Now perform a Request on the URL Below via the MITM Proxy:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ./hachoo.rb -P &#39;127.0.0.1&#39; -p 8080 -u &#39;http://hang4r.blogspot.com&#39;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Advanced Example:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start a SOCKS Server vis SSH:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ssh -v -v -v -NCD 127.0.0.1:8443 user@remote_ssh_host&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use hachoo.rb to Search for WordPress Sitesi&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; through a SOCKS Proxy via Google Trickery:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ./hachoo.rb -S -P &#39;127.0.0.1&#39; -p 8443 -u &#39;http://www.google.com/search?sclient=psy-ab&amp;amp;q=inurl:wp-content%20site:wordpress.org&#39; -l&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Kung-Fu Example:&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Use hachoo.rb to Follow ninp0 on Twitter via Pipe-Delimited Stacked Requests (Replace USERNAME &amp;amp; PASSWORD in Example Below):&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Despite the 404 Response for this Stacked Request ninp0 will be Followed...&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ./hachoo.rb -u &#39;https://mobile.twitter.com/login&amp;gt;&amp;gt;&amp;gt;submit&amp;gt;&amp;gt;&amp;gt;username=USERNAME&amp;amp;password=PASSWORD|https://mobile.twitter.com/ninp0&amp;gt;&amp;gt;&amp;gt;get|https://mobile.twitter.com/ninp0/follow&amp;gt;&amp;gt;&amp;gt;submit&amp;gt;&amp;gt;&amp;gt;last_url=/ninp0&#39;&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/4455389707104719559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/10/http-groking-one-sneeze-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4455389707104719559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4455389707104719559'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/10/http-groking-one-sneeze-at.html' title='Wiping Up the Web, One Tissue (i.e. Page) at a Time...Introducing, &quot;hachoo.rb&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-4262957616505645349</id><published>2011-08-24T19:20:00.001-06:00</published><updated>2011-08-24T21:51:50.633-06:00</updated><title type='text'>Grokking CSVs Easier in STDOUT</title><content type='html'>&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;#!/usr/bin/env ruby&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;require &#39;rainbow&#39; # To make things a bit more readable&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;require &#39;csv&#39; # using just split won&#39;t work cause of \n in some fields&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;if ARGV[0].nil?&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp;puts &quot;#{$0} &amp;lt;csv_file&amp;gt;&quot;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp;exit&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;end&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;i = 0&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;headers = []&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;header_index = 0&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;CSV.foreach(ARGV[0], :quote_char =&amp;gt; &#39;&quot;&#39;, :col_sep =&amp;gt;&#39;,&#39;, :row_sep =&amp;gt;:auto) do |line|&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp;line.each do |column|&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;if i == 0&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;headers.push(column)&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;end&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;if i % 2 == 0&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;puts headers[header_index].upcase&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;puts &quot;#{column}\n&quot;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;else&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;puts headers[header_index].upcase.&lt;/i&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;i&gt;inverse&lt;/i&gt;&lt;/div&gt;
&lt;div id=&quot;:10b&quot; style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;puts &quot;#{column}\n&quot;.inverse&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;end&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp;header_index += 1&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;end&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;header_index = 0&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;i += 1&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;end&lt;/i&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/4262957616505645349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/08/grokking-csvs-easier-in-stdout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4262957616505645349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/4262957616505645349'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/08/grokking-csvs-easier-in-stdout.html' title='Grokking CSVs Easier in STDOUT'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-6866630101668091658</id><published>2011-08-02T11:31:00.002-06:00</published><updated>2011-08-02T11:38:15.997-06:00</updated><title type='text'>Enabling Remote X11 Forwarding Over SSH Despite IPv6 Bug</title><content type='html'>Run ps -ef | grep X on your X client (the remote box) and your X server (in this case, you local machine in which you intend to have the GUI application displayed)&lt;br /&gt;
&lt;br /&gt;
Your output SHOULD look very similar to this:&lt;br /&gt;
 &lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;/usr/bin/X :0 vt07 -nolisten tcp&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
 &lt;br /&gt;
It is perfectly acceptable that the &lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;-nolisten tcp&lt;/span&gt;&lt;/i&gt; is enabled and running on both the X client and X server&lt;br /&gt;
&lt;br /&gt;
/etc/ssh/ssh_config (Your local machine i.e. your ssh client)&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;Host *&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;ForwardAgent no&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;ForwardX11 yes&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;ForwardX11Trusted no&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
/etc/ssh/sshd_config (Your sshd server i.e. your remote ssh server)&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;X11Forwarding yes&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;X11DisplayOffset 10&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Try running xclock.&amp;nbsp; At this point, I was getting:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;Error: Can&#39;t find display&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
And running:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;echo $DISPLAY&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
resulted in nothing.&lt;br /&gt;
&lt;br /&gt;
If you experience similar issues, you&#39;ve configured the options in /etc/ssh/ssh_config &amp;amp; /etc/ssh/sshd_config, and get the following error when authenticating with your ssh server (evident on sshd server by &lt;i style=&quot;color: #e69138;&quot;&gt;running tail -f /var/log/auth.log&lt;/i&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;error: Failed to allocate internet-domain X11 display socket.&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Then ensure the following is configured within /etc/ssh/sshd_config:&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;AddressFamily inet&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Restart your sshd server:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;/etc/init.d/sshd restart&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Exit your shell by hitting CTRL+d&lt;br /&gt;
&lt;br /&gt;
Re-authenticate:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;ssh -X &amp;lt;user&amp;gt;@&amp;lt;host&amp;gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;echo $DISPLAY&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
and you should see:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;localhost:10.0&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Run xlock and viola!&amp;nbsp; Awesomeness.&amp;nbsp; Cheers!</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/6866630101668091658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/08/enabling-remote-x11-forwarding-over-ssh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6866630101668091658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6866630101668091658'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/08/enabling-remote-x11-forwarding-over-ssh.html' title='Enabling Remote X11 Forwarding Over SSH Despite IPv6 Bug'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-7279528377635528547</id><published>2011-08-01T13:53:00.000-06:00</published><updated>2011-08-01T13:53:47.574-06:00</updated><title type='text'>Converting IPv4 Addresses into Memory Addresses</title><content type='html'>This is helpful when you&#39;re writing your own Metasploit modules with custom shellcode:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;#!/usr/bin/env ruby&lt;br /&gt;# Enjoy ;) &lt;/i&gt;&lt;/div&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;ip = ARGV[0]&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;if ip.split(&quot;.&quot;).count == 4&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; print &quot;0x&quot;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; ip.split(&quot;.&quot;).reverse.each do |octet|&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;%02x&quot; % octet.to_i&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; end&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; print &quot;\n&quot;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;else&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; puts &quot;Invalid IPv4 Address&quot;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/7279528377635528547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/08/converting-ipv4-addresses-into-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/7279528377635528547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/7279528377635528547'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/08/converting-ipv4-addresses-into-memory.html' title='Converting IPv4 Addresses into Memory Addresses'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-9197204362360120895</id><published>2011-07-26T23:52:00.006-06:00</published><updated>2011-07-28T07:52:50.505-06:00</updated><title type='text'>Dynamically Attaching MULTIPLE Files to Emails in Ruby Using Pony</title><content type='html'>I struggled with this one a bit, so I figured I&#39;d share it with those that may be in a similar place.&amp;nbsp; Okay, so here was the goal - obtain the directory listings of a folder (which contained folders named after recipients) and recursively find every file in the recipient folder.&amp;nbsp; Once a file(s) is found in the corresponding recipient folder, add the file(s) as an attachment to one email.&amp;nbsp; Pheww, that can take the breath out of a person.&amp;nbsp; If you have a better way of accomplishing this goal, then please share! :)&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;#!/usr/bin/env ruby &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;require &#39;pony&#39; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;smtp_relay = &quot;smtp_relay.somedomain.com&quot; &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;name_root = “~/my_mail_list_dir/”&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;attachment_hash = {}&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;Dir.entries(name_root).each do |name|&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;# Replace message text with name&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;msg_body = File.read(&quot;~/email_msg.txt&quot;).gsub(&quot;NAME_OF_PERSON&quot;, name)&lt;/span&gt;&lt;/i&gt; &lt;i&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; # Recurse each name folder and find corresponding files to add as attachments&lt;/span&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; Dir[&quot;#{name_root}/#{name}/**&quot;].each do |attachment|&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;if File.file?(current_attachment) == true&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;current_attachment_name = File.basename(current_attachment) &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;attachment_hash[&quot;#{current_attachment_name}&quot;] = &quot;#{File.binread(current_attachment)}&quot;&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;  end&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;  Pony.mail( &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:to =&amp;gt; &quot;&lt;/span&gt;&lt;a href=&quot;mailto:destination@domain.com&quot; style=&quot;color: #e69138;&quot;&gt;destination@domain.com&lt;/a&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:from =&amp;gt; &quot;&lt;/span&gt;&lt;a href=&quot;mailto:source@otherdestination.com&quot; style=&quot;color: #e69138;&quot;&gt;source@otherdestination.com&lt;/a&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;, &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:subject =&amp;gt; &quot;The Subject&quot;,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:body =&amp;gt; msg_body,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; :attachments =&amp;gt; attachment_hash, &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:via =&amp;gt; :smtp,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;# It&#39;s important to note that you should use SMTPS (TCP port 465)&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # whenever possible - I only had a inadequate SMTP (TCP port 25)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # relay at my disposal at the time of this writing&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; :via_options =&amp;gt; {&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:address =&amp;gt; smtp_relay,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:port =&amp;gt; 25,&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;:enable_starttls_auto =&amp;gt; false &lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #e69138;&quot;&gt;}&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; )&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp;  # Reset attachments for new owner&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&amp;nbsp; attachment_hash = {}&lt;/span&gt;&lt;br style=&quot;color: #e69138;&quot; /&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;end&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Hope it helps ya!  Cheers!&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/9197204362360120895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/07/dynamically-attaching-files-to-emails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/9197204362360120895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/9197204362360120895'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/07/dynamically-attaching-files-to-emails.html' title='Dynamically Attaching MULTIPLE Files to Emails in Ruby Using Pony'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-6349604568923324006</id><published>2011-07-25T21:18:00.001-06:00</published><updated>2012-06-14T21:20:48.658-06:00</updated><title type='text'>The Beauty of Using &quot;apt-file&quot; whilst Dealing with Dependencies whilst Compiling Software</title><content type='html'>Let&#39;s take an example - compiling hydra.&amp;nbsp; Hydra is &quot;a very fast network logon cracker which support many different services.&quot;&amp;nbsp; Hydra can be found at:&lt;br /&gt;
http://thc.org/thc-hydra/&lt;br /&gt;
&lt;br /&gt;
For this exercise we used the following direct links:&lt;br /&gt;
http://www.thc.org/releases/hydra-6.5-src.tar.gz&lt;br /&gt;
http://thc.org/thc-hydra/hydra-6.5-fix.diff&lt;br /&gt;
&lt;br /&gt;
Let&#39;s get started.&amp;nbsp; First, install apt-file:&lt;br /&gt;
&lt;br /&gt;
root@hostname:~# apt-get install apt-file&lt;br /&gt;
update its database&lt;br /&gt;
root@hostname:~# apt-file update&lt;br /&gt;
now let the configuring begin:&lt;br /&gt;
&lt;br /&gt;
root@hostname:~# mkdir hydra&lt;br /&gt;
root@hostname:~# cd hydra&lt;br /&gt;
root@hostname:~/hydra# ls&lt;br /&gt;
root@hostname:~/hydra# wget http://www.thc.org/releases/hydra-6.5-src.tar.gz&lt;br /&gt;
--2011-07-25 20:47:18--&amp;nbsp; http://www.thc.org/releases/hydra-6.5-src.tar.gz&lt;br /&gt;
Resolving www.thc.org... 199.58.210.16&lt;br /&gt;
Connecting to www.thc.org|199.58.210.16|:80... connected.&lt;br /&gt;
HTTP request sent, awaiting response... 200 OK&lt;br /&gt;
Length: 633851 (619K) [application/x-gzip]&lt;br /&gt;
Saving to: `hydra-6.5-src.tar.gz&#39;&lt;br /&gt;
&lt;br /&gt;
100%[===========================================================================================================&amp;gt;] 633,851&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 402K/s&amp;nbsp;&amp;nbsp; in 1.5s&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
2011-07-25 20:47:20 (402 KB/s) - `hydra-6.5-src.tar.gz&#39; saved [633851/633851]&lt;br /&gt;
&lt;br /&gt;
root@hostname:~/hydra# wget http://thc.org/thc-hydra/hydra-6.5-fix.diff&lt;br /&gt;
--2011-07-25 20:47:28--&amp;nbsp; http://thc.org/thc-hydra/hydra-6.5-fix.diff&lt;br /&gt;
Resolving thc.org... 199.58.210.16&lt;br /&gt;
Connecting to thc.org|199.58.210.16|:80... connected.&lt;br /&gt;
HTTP request sent, awaiting response... 200 OK&lt;br /&gt;
Length: 1671 (1.6K) [text/plain]&lt;br /&gt;
Saving to: `hydra-6.5-fix.diff&#39;&lt;br /&gt;
&lt;br /&gt;
100%[===========================================================================================================&amp;gt;] 1,671&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --.-K/s&amp;nbsp;&amp;nbsp; in 0s&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
2011-07-25 20:47:29 (129 MB/s) - `hydra-6.5-fix.diff&#39; saved [1671/1671]&lt;br /&gt;
&lt;br /&gt;
root@hostname:~/hydra# ls&lt;br /&gt;
hydra-6.5-fix.diff&amp;nbsp; hydra-6.5-src.tar.gz&lt;br /&gt;
root@hostname:~/hydra# tar xzvf hydra-6.5-src.tar.gz &lt;br /&gt;
hydra-6.5-src/&lt;br /&gt;
hydra-6.5-src/bfg.c&lt;br /&gt;
hydra-6.5-src/bfg.h&lt;br /&gt;
hydra-6.5-src/CHANGES&lt;br /&gt;
hydra-6.5-src/configure&lt;br /&gt;
hydra-6.5-src/crc32.c&lt;br /&gt;
hydra-6.5-src/crc32.h&lt;br /&gt;
hydra-6.5-src/d3des.c&lt;br /&gt;
hydra-6.5-src/d3des.h&lt;br /&gt;
hydra-6.5-src/dpl4hydra.sh&lt;br /&gt;
hydra-6.5-src/dpl4hydra_full.csv&lt;br /&gt;
hydra-6.5-src/dpl4hydra_local.csv&lt;br /&gt;
hydra-6.5-src/hmacmd5.c&lt;br /&gt;
hydra-6.5-src/hmacmd5.h&lt;br /&gt;
hydra-6.5-src/hydra-afp.c&lt;br /&gt;
hydra-6.5-src/hydra-cisco-enable.c&lt;br /&gt;
hydra-6.5-src/hydra-cisco.c&lt;br /&gt;
hydra-6.5-src/hydra-cvs.c&lt;br /&gt;
hydra-6.5-src/hydra-firebird.c&lt;br /&gt;
hydra-6.5-src/hydra-ftp.c&lt;br /&gt;
hydra-6.5-src/hydra-gtk/&lt;br /&gt;
hydra-6.5-src/hydra-gtk/acconfig.h&lt;br /&gt;
hydra-6.5-src/hydra-gtk/aclocal.m4&lt;br /&gt;
hydra-6.5-src/hydra-gtk/AUTHORS&lt;br /&gt;
hydra-6.5-src/hydra-gtk/autogen.sh&lt;br /&gt;
hydra-6.5-src/hydra-gtk/ChangeLog&lt;br /&gt;
hydra-6.5-src/hydra-gtk/config.h&lt;br /&gt;
hydra-6.5-src/hydra-gtk/config.h.in&lt;br /&gt;
hydra-6.5-src/hydra-gtk/configure&lt;br /&gt;
hydra-6.5-src/hydra-gtk/configure.in&lt;br /&gt;
hydra-6.5-src/hydra-gtk/COPYING&lt;br /&gt;
hydra-6.5-src/hydra-gtk/INSTALL&lt;br /&gt;
hydra-6.5-src/hydra-gtk/install-sh&lt;br /&gt;
hydra-6.5-src/hydra-gtk/Makefile.am&lt;br /&gt;
hydra-6.5-src/hydra-gtk/Makefile.in&lt;br /&gt;
hydra-6.5-src/hydra-gtk/make_xhydra.sh&lt;br /&gt;
hydra-6.5-src/hydra-gtk/missing&lt;br /&gt;
hydra-6.5-src/hydra-gtk/mkinstalldirs&lt;br /&gt;
hydra-6.5-src/hydra-gtk/NEWS&lt;br /&gt;
hydra-6.5-src/hydra-gtk/README&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/callbacks.c&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/callbacks.h&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/interface.c&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/interface.h&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/main.c&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/Makefile.am&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/Makefile.in&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/support.c&lt;br /&gt;
hydra-6.5-src/hydra-gtk/src/support.h&lt;br /&gt;
hydra-6.5-src/hydra-gtk/stamp-h.in&lt;br /&gt;
hydra-6.5-src/hydra-gtk/xhydra.glade&lt;br /&gt;
hydra-6.5-src/hydra-gtk/xhydra.gladep&lt;br /&gt;
hydra-6.5-src/hydra-http-form.c&lt;br /&gt;
hydra-6.5-src/hydra-http-proxy.c&lt;br /&gt;
hydra-6.5-src/hydra-http.c&lt;br /&gt;
hydra-6.5-src/hydra-icq.c&lt;br /&gt;
hydra-6.5-src/hydra-imap.c&lt;br /&gt;
hydra-6.5-src/hydra-irc.c&lt;br /&gt;
hydra-6.5-src/hydra-ldap.c&lt;br /&gt;
hydra-6.5-src/hydra-logo.ico&lt;br /&gt;
hydra-6.5-src/hydra-logo.rc&lt;br /&gt;
hydra-6.5-src/hydra-mod.c&lt;br /&gt;
hydra-6.5-src/hydra-mod.h&lt;br /&gt;
hydra-6.5-src/hydra-mssql.c&lt;br /&gt;
hydra-6.5-src/hydra-mysql.c&lt;br /&gt;
hydra-6.5-src/hydra-ncp.c&lt;br /&gt;
hydra-6.5-src/hydra-nntp.c&lt;br /&gt;
hydra-6.5-src/hydra-oracle-listener.c&lt;br /&gt;
hydra-6.5-src/hydra-oracle-sid.c&lt;br /&gt;
hydra-6.5-src/hydra-oracle.c&lt;br /&gt;
hydra-6.5-src/hydra-pcanywhere.c&lt;br /&gt;
hydra-6.5-src/hydra-pcnfs.c&lt;br /&gt;
hydra-6.5-src/hydra-pop3.c&lt;br /&gt;
hydra-6.5-src/hydra-postgres.c&lt;br /&gt;
hydra-6.5-src/hydra-rexec.c&lt;br /&gt;
hydra-6.5-src/hydra-rlogin.c&lt;br /&gt;
hydra-6.5-src/hydra-rsh.c&lt;br /&gt;
hydra-6.5-src/hydra-sapr3.c&lt;br /&gt;
hydra-6.5-src/hydra-sip.c&lt;br /&gt;
hydra-6.5-src/hydra-smb.c&lt;br /&gt;
hydra-6.5-src/hydra-smtp-enum.c&lt;br /&gt;
hydra-6.5-src/hydra-smtp.c&lt;br /&gt;
hydra-6.5-src/hydra-snmp.c&lt;br /&gt;
hydra-6.5-src/hydra-socks5.c&lt;br /&gt;
hydra-6.5-src/hydra-ssh.c&lt;br /&gt;
hydra-6.5-src/hydra-svn.c&lt;br /&gt;
hydra-6.5-src/hydra-teamspeak.c&lt;br /&gt;
hydra-6.5-src/hydra-telnet.c&lt;br /&gt;
hydra-6.5-src/hydra-vmauthd.c&lt;br /&gt;
hydra-6.5-src/hydra-vnc.c&lt;br /&gt;
hydra-6.5-src/hydra-xmpp.c&lt;br /&gt;
hydra-6.5-src/hydra.1&lt;br /&gt;
hydra-6.5-src/hydra.c&lt;br /&gt;
hydra-6.5-src/hydra.h&lt;br /&gt;
hydra-6.5-src/INSTALL&lt;br /&gt;
hydra-6.5-src/libpq-fe.h&lt;br /&gt;
hydra-6.5-src/LICENSE&lt;br /&gt;
hydra-6.5-src/LICENSE.OPENSSL&lt;br /&gt;
hydra-6.5-src/Makefile.am&lt;br /&gt;
hydra-6.5-src/Makefile.unix&lt;br /&gt;
hydra-6.5-src/ntlm.c&lt;br /&gt;
hydra-6.5-src/ntlm.h&lt;br /&gt;
hydra-6.5-src/performance.h&lt;br /&gt;
hydra-6.5-src/postgres_ext.h&lt;br /&gt;
hydra-6.5-src/pw-inspector-logo.rc&lt;br /&gt;
hydra-6.5-src/pw-inspector.1&lt;br /&gt;
hydra-6.5-src/pw-inspector.c&lt;br /&gt;
hydra-6.5-src/pw-inspector.ico&lt;br /&gt;
hydra-6.5-src/README&lt;br /&gt;
hydra-6.5-src/sasl.c&lt;br /&gt;
hydra-6.5-src/sasl.h&lt;br /&gt;
hydra-6.5-src/xhydra.1&lt;br /&gt;
hydra-6.5-src/xhydra.png&lt;br /&gt;
root@hostname:~/hydra# lls&lt;br /&gt;
No command &#39;lls&#39; found, but there are 16 similar ones&lt;br /&gt;
lls: command not found&lt;br /&gt;
root@hostname:~/hydra# ^C&lt;br /&gt;
root@hostname:~/hydra# ls&lt;br /&gt;
hydra-6.5-fix.diff&amp;nbsp; hydra-6.5-src&amp;nbsp; hydra-6.5-src.tar.gz&lt;br /&gt;
root@hostname:~/hydra# cd hydra-6.5-src/&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ls&lt;br /&gt;
bfg.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hmacmd5.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-http-form.c&amp;nbsp;&amp;nbsp; hydra-ncp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-sapr3.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-vnc.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pw-inspector.1&lt;br /&gt;
bfg.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-http-proxy.c&amp;nbsp; hydra-nntp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-sip.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-xmpp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pw-inspector.c&lt;br /&gt;
CHANGES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-afp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-icq.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-oracle.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-smb.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INSTALL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pw-inspector.ico&lt;br /&gt;
configure&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-imap.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-oracle-listener.c&amp;nbsp; hydra-smtp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libpq-fe.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pw-inspector-logo.rc&lt;br /&gt;
crc32.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-cisco.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-irc.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-oracle-sid.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-smtp-enum.c&amp;nbsp; LICENSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; README&lt;br /&gt;
crc32.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-cisco-enable.c&amp;nbsp; hydra-ldap.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-pcanywhere.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-snmp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LICENSE.OPENSSL&amp;nbsp; sasl.c&lt;br /&gt;
d3des.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-cvs.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-logo.ico&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-pcnfs.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-socks5.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Makefile.am&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sasl.h&lt;br /&gt;
d3des.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-firebird.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-logo.rc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-pop3.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-ssh.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Makefile.unix&amp;nbsp;&amp;nbsp;&amp;nbsp; xhydra.1&lt;br /&gt;
dpl4hydra_full.csv&amp;nbsp;&amp;nbsp; hydra-ftp.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-mod.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-postgres.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-svn.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ntlm.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xhydra.png&lt;br /&gt;
dpl4hydra_local.csv&amp;nbsp; hydra-gtk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-mod.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-rexec.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-teamspeak.c&amp;nbsp; ntlm.h&lt;br /&gt;
dpl4hydra.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra.h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-mssql.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-rlogin.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-telnet.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; performance.h&lt;br /&gt;
hmacmd5.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-http.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-mysql.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-rsh.c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hydra-vmauthd.c&amp;nbsp;&amp;nbsp;&amp;nbsp; postgres_ext.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ./configure &lt;br /&gt;
&lt;br /&gt;
Starting hydra auto configuration ...&lt;br /&gt;
Detected 64 Bit Linux OS&lt;br /&gt;
&lt;br /&gt;
Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for idn (libidn.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for pcre (libpcre.so, pcre.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Postgres (libpq.so, libpq-fe.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module svn disabled&lt;br /&gt;
Checking for firebird (libfbclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module firebird disabled&lt;br /&gt;
Checking for MYSQL client (libmysqlclient.so, math.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for AFP (libafpclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway&lt;br /&gt;
Checking for NCP (libncp.so / nwcalls.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module NCP disabled&lt;br /&gt;
Checking for SAP/R3 (librfc/saprfc.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module sapr3 disabled&lt;br /&gt;
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp&lt;br /&gt;
Checking for libssh (libssh/libssh.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module ssh disabled&lt;br /&gt;
Get it from http://www.libssh.org&lt;br /&gt;
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Oracle disabled&lt;br /&gt;
Checking for GUI req&#39;s (pkg-config, gtk+-2.0) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
&lt;br /&gt;
Hydra will be installed into .../bin of: ~&lt;br /&gt;
&amp;nbsp; (change this by running ./configure --prefix=path)&lt;br /&gt;
&lt;br /&gt;
Writing Makefile.in ...&lt;br /&gt;
now type &quot;make&quot;&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libsvn_client-1&lt;br /&gt;
libsvn-dev: /usr/lib/libsvn_client-1.a&lt;br /&gt;
libsvn-dev: /usr/lib/libsvn_client-1.la&lt;br /&gt;
libsvn-dev: /usr/lib/libsvn_client-1.so&lt;br /&gt;
libsvn1: /usr/lib/libsvn_client-1.so.1&lt;br /&gt;
libsvn1: /usr/lib/libsvn_client-1.so.1.0.0&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ainstall libsvn-dev&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
Suggested packages:&lt;br /&gt;
&amp;nbsp; libsvn-doc libneon27-gnutls-dev&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
&amp;nbsp; libsvn-dev&lt;br /&gt;
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 1,207 kB of archives.&lt;br /&gt;
After this operation, 4,686 kB of additional disk space will be used.&lt;br /&gt;
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main libsvn-dev amd64 1.6.12dfsg-4ubuntu2.1 [1,207 kB]&lt;br /&gt;
Fetched 1,207 kB in 5s (211 kB/s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Selecting previously deselected package libsvn-dev.&lt;br /&gt;
(Reading database ... 313175 files and directories currently installed.)&lt;br /&gt;
Unpacking libsvn-dev (from .../libsvn-dev_1.6.12dfsg-4ubuntu2.1_amd64.deb) ...&lt;br /&gt;
Setting up libsvn-dev (1.6.12dfsg-4ubuntu2.1) ...&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ./configure &lt;br /&gt;
&lt;br /&gt;
Starting hydra auto configuration ...&lt;br /&gt;
Detected 64 Bit Linux OS&lt;br /&gt;
&lt;br /&gt;
Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for idn (libidn.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for pcre (libpcre.so, pcre.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Postgres (libpq.so, libpq-fe.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for firebird (libfbclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module firebird disabled&lt;br /&gt;
Checking for MYSQL client (libmysqlclient.so, math.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for AFP (libafpclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway&lt;br /&gt;
Checking for NCP (libncp.so / nwcalls.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module NCP disabled&lt;br /&gt;
Checking for SAP/R3 (librfc/saprfc.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module sapr3 disabled&lt;br /&gt;
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp&lt;br /&gt;
Checking for libssh (libssh/libssh.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module ssh disabled&lt;br /&gt;
Get it from http://www.libssh.org&lt;br /&gt;
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Oracle disabled&lt;br /&gt;
Checking for GUI req&#39;s (pkg-config, gtk+-2.0) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
&lt;br /&gt;
Hydra will be installed into .../bin of: ~&lt;br /&gt;
&amp;nbsp; (change this by running ./configure --prefix=path)&lt;br /&gt;
&lt;br /&gt;
Writing Makefile.in ...&lt;br /&gt;
now type &quot;make&quot;&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libfbclient.so&lt;br /&gt;
firebird2.1-dev: /usr/lib/libfbclient.so&lt;br /&gt;
firebird2.5-dev: /usr/lib/libfbclient.so&lt;br /&gt;
firebird2.5-super-dbg: /usr/lib/debug/usr/lib/libfbclient.so.2.5.0&lt;br /&gt;
libfbclient2: /usr/lib/libfbclient.so.2&lt;br /&gt;
libfbclient2: /usr/lib/libfbclient.so.2.5.0&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# acache firebird2.5-dev&lt;br /&gt;
firebird2.5-dev - Development files for Firebird - an RDBMS based on InterBase 6.0 code&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ainstall firebird2.5-dev&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following extra packages will be installed:&lt;br /&gt;
&amp;nbsp; firebird2.5-common firebird2.5-common-doc libfbclient2 libib-util&lt;br /&gt;
Suggested packages:&lt;br /&gt;
&amp;nbsp; libfbembed2.5 firebird2.5-examples&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
&amp;nbsp; firebird2.5-common firebird2.5-common-doc firebird2.5-dev libfbclient2 libib-util&lt;br /&gt;
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 929 kB of archives.&lt;br /&gt;
After this operation, 3,617 kB of additional disk space will be used.&lt;br /&gt;
Do you want to continue [Y/n]? y&lt;br /&gt;
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-common-doc all 2.5.0.26074-0.ds4-4 [35.1 kB]&lt;br /&gt;
Get:2 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-common amd64 2.5.0.26074-0.ds4-4 [490 kB]&lt;br /&gt;
Get:3 http://us.archive.ubuntu.com/ubuntu/ natty/universe libfbclient2 amd64 2.5.0.26074-0.ds4-4 [335 kB]&lt;br /&gt;
Get:4 http://us.archive.ubuntu.com/ubuntu/ natty/universe libib-util amd64 2.5.0.26074-0.ds4-4 [3,866 B]&lt;br /&gt;
Get:5 http://us.archive.ubuntu.com/ubuntu/ natty/universe firebird2.5-dev all 2.5.0.26074-0.ds4-4 [65.0 kB]&lt;br /&gt;
Fetched 929 kB in 4s (206 kB/s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Selecting previously deselected package firebird2.5-common-doc.&lt;br /&gt;
(Reading database ... 313257 files and directories currently installed.)&lt;br /&gt;
Unpacking firebird2.5-common-doc (from .../firebird2.5-common-doc_2.5.0.26074-0.ds4-4_all.deb) ...&lt;br /&gt;
Selecting previously deselected package firebird2.5-common.&lt;br /&gt;
Unpacking firebird2.5-common (from .../firebird2.5-common_2.5.0.26074-0.ds4-4_amd64.deb) ...&lt;br /&gt;
Selecting previously deselected package libfbclient2.&lt;br /&gt;
Unpacking libfbclient2 (from .../libfbclient2_2.5.0.26074-0.ds4-4_amd64.deb) ...&lt;br /&gt;
Selecting previously deselected package libib-util.&lt;br /&gt;
Unpacking libib-util (from .../libib-util_2.5.0.26074-0.ds4-4_amd64.deb) ...&lt;br /&gt;
Selecting previously deselected package firebird2.5-dev.&lt;br /&gt;
Unpacking firebird2.5-dev (from .../firebird2.5-dev_2.5.0.26074-0.ds4-4_all.deb) ...&lt;br /&gt;
Setting up firebird2.5-common-doc (2.5.0.26074-0.ds4-4) ...&lt;br /&gt;
Setting up firebird2.5-common (2.5.0.26074-0.ds4-4) ...&lt;br /&gt;
Setting up libfbclient2 (2.5.0.26074-0.ds4-4) ...&lt;br /&gt;
Setting up libib-util (2.5.0.26074-0.ds4-4) ...&lt;br /&gt;
Setting up firebird2.5-dev (2.5.0.26074-0.ds4-4) ...&lt;br /&gt;
Processing triggers for libc-bin ...&lt;br /&gt;
ldconfig deferred processing now taking place&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# acache firebird2.5-dev&lt;br /&gt;
^C^[[A^[[A&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ./configure &lt;br /&gt;
Starting hydra auto configuration ...&lt;br /&gt;
Detected 64 Bit Linux OS&lt;br /&gt;
&lt;br /&gt;
Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for idn (libidn.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for pcre (libpcre.so, pcre.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Postgres (libpq.so, libpq-fe.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for firebird (libfbclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for MYSQL client (libmysqlclient.so, math.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for AFP (libafpclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway&lt;br /&gt;
Checking for NCP (libncp.so / nwcalls.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module NCP disabled&lt;br /&gt;
Checking for SAP/R3 (librfc/saprfc.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module sapr3 disabled&lt;br /&gt;
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp&lt;br /&gt;
Checking for libssh (libssh/libssh.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module ssh disabled&lt;br /&gt;
Get it from http://www.libssh.org&lt;br /&gt;
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Oracle disabled&lt;br /&gt;
Checking for GUI req&#39;s (pkg-config, gtk+-2.0) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
&lt;br /&gt;
Hydra will be installed into .../bin of: ~&lt;br /&gt;
&amp;nbsp; (change this by running ./configure --prefix=path)&lt;br /&gt;
&lt;br /&gt;
Writing Makefile.in ...&lt;br /&gt;
now type &quot;make&quot;&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libafpclient.so&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libncp.so&lt;br /&gt;
libncp: /usr/lib/libncp.so&lt;br /&gt;
libncp: /usr/lib/libncp.so.2.3&lt;br /&gt;
libncp: /usr/lib/libncp.so.2.3.0&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ainstall libncp&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
&amp;nbsp; libncp&lt;br /&gt;
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 184 kB of archives.&lt;br /&gt;
After this operation, 434 kB of additional disk space will be used.&lt;br /&gt;
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe libncp amd64 2.2.6-8 [184 kB]&lt;br /&gt;
Fetched 184 kB in 2s (83.2 kB/s) &lt;br /&gt;
Selecting previously deselected package libncp.&lt;br /&gt;
(Reading database ... 313294 files and directories currently installed.)&lt;br /&gt;
Unpacking libncp (from .../libncp_2.2.6-8_amd64.deb) ...&lt;br /&gt;
Setting up libncp (2.2.6-8) ...&lt;br /&gt;
Processing triggers for libc-bin ...&lt;br /&gt;
ldconfig deferred processing now taking place&lt;br /&gt;
/sbin/ldconfig.real: ~/lib/libmapnik.so.0.6 is not a symbolic link&lt;br /&gt;
&lt;br /&gt;
/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libpgtypes.so.2 is not a symbolic link&lt;br /&gt;
&lt;br /&gt;
/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libecpg.so.5 is not a symbolic link&lt;br /&gt;
&lt;br /&gt;
/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libecpg_compat.so.2 is not a symbolic link&lt;br /&gt;
&lt;br /&gt;
/sbin/ldconfig.real: /opt/rapid7/nexpose/nsc/nxpgsql/pgsql/lib/libpq.so.5 is not a symbolic link&lt;br /&gt;
&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search saprfc.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-cache search libssh.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libssh.h&lt;br /&gt;
libssh-dev: /usr/include/libssh/libssh.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ainstall libssh-dev&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
Suggested packages:&lt;br /&gt;
&amp;nbsp; libssh-doc&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
&amp;nbsp; libssh-dev&lt;br /&gt;
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 145 kB of archives.&lt;br /&gt;
After this operation, 582 kB of additional disk space will be used.&lt;br /&gt;
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/main libssh-dev amd64 0.4.5-3ubuntu1 [145 kB]&lt;br /&gt;
Fetched 145 kB in 1s (72.5 kB/s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Selecting previously deselected package libssh-dev.&lt;br /&gt;
(Reading database ... 313302 files and directories currently installed.)&lt;br /&gt;
Unpacking libssh-dev (from .../libssh-dev_0.4.5-3ubuntu1_amd64.deb) ...&lt;br /&gt;
Setting up libssh-dev (0.4.5-3ubuntu1) ...&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ls -l&lt;br /&gt;
total 1860&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 7092 2011-07-15 04:17 bfg.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2125 2011-07-15 04:17 bfg.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 23800 2011-07-15 04:17 CHANGES&lt;br /&gt;
-rwxr-xr-x 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 22783 2011-07-15 04:17 configure&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5395 2011-07-15 04:17 crc32.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp;&amp;nbsp; 121 2011-07-15 04:17 crc32.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 16034 2011-07-15 04:17 d3des.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1651 2011-07-15 04:17 d3des.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513 334144 2011-07-15 04:17 dpl4hydra_full.csv&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513 334144 2011-07-15 04:17 dpl4hydra_local.csv&lt;br /&gt;
-rwxr-xr-x 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5860 2011-07-15 04:17 dpl4hydra.sh&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4461 2011-07-15 04:17 hmacmd5.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1489 2011-07-15 04:17 hmacmd5.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2995 2011-07-15 04:17 hydra.1&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4251 2011-07-15 04:17 hydra-afp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513 126282 2011-07-15 04:17 hydra.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4459 2011-07-15 04:17 hydra-cisco.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5887 2011-07-15 04:17 hydra-cisco-enable.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4248 2011-07-15 04:17 hydra-cvs.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3570 2011-07-15 04:17 hydra-firebird.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5162 2011-07-15 04:17 hydra-ftp.c&lt;br /&gt;
drwxr-xr-x 3 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4096 2011-07-15 04:17 hydra-gtk&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2659 2011-07-15 04:17 hydra.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 9341 2011-07-15 04:17 hydra-http.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 20516 2011-07-15 04:17 hydra-http-form.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 7057 2011-07-15 04:17 hydra-http-proxy.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 6528 2011-07-15 04:17 hydra-icq.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 17806 2011-07-15 04:17 hydra-imap.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5990 2011-07-15 04:17 hydra-irc.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 13425 2011-07-15 04:17 hydra-ldap.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 38078 2011-07-15 04:17 hydra-logo.ico&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25 2011-07-15 04:17 hydra-logo.rc&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 23398 2011-07-15 04:17 hydra-mod.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1914 2011-07-15 04:17 hydra-mod.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5625 2011-07-15 04:17 hydra-mssql.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 11827 2011-07-15 04:17 hydra-mysql.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4929 2011-07-15 04:17 hydra-ncp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 13070 2011-07-15 04:17 hydra-nntp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5473 2011-07-15 04:17 hydra-oracle.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 8972 2011-07-15 04:17 hydra-oracle-listener.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4347 2011-07-15 04:17 hydra-oracle-sid.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 6195 2011-07-15 04:17 hydra-pcanywhere.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5131 2011-07-15 04:17 hydra-pcnfs.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 16287 2011-07-15 04:17 hydra-pop3.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3067 2011-07-15 04:17 hydra-postgres.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2574 2011-07-15 04:17 hydra-rexec.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3812 2011-07-15 04:17 hydra-rlogin.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2946 2011-07-15 04:17 hydra-rsh.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3363 2011-07-15 04:17 hydra-sapr3.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 8279 2011-07-15 04:17 hydra-sip.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 47810 2011-07-15 04:17 hydra-smb.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 12393 2011-07-15 04:17 hydra-smtp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 6569 2011-07-15 04:17 hydra-smtp-enum.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5479 2011-07-15 04:17 hydra-snmp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4054 2011-07-15 04:17 hydra-socks5.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4386 2011-07-15 04:17 hydra-ssh.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 5041 2011-07-15 04:17 hydra-svn.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3328 2011-07-15 04:17 hydra-teamspeak.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 6373 2011-07-15 04:17 hydra-telnet.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4300 2011-07-15 04:17 hydra-vmauthd.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 6794 2011-07-15 04:17 hydra-vnc.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 16531 2011-07-15 04:17 hydra-xmpp.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 59 2011-07-15 04:17 INSTALL&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 16964 2011-07-15 04:17 libpq-fe.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 36015 2011-07-15 04:17 LICENSE&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 8540 2011-07-15 04:17 LICENSE.OPENSSL&lt;br /&gt;
-rw-rw-r-- 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp; 3678 2011-07-25 20:51 Makefile&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 3109 2011-07-15 04:17 Makefile.am&lt;br /&gt;
-rw-rw-r-- 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp; 528 2011-07-25 20:51 Makefile.in&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19 2011-07-15 04:17 Makefile.unix&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 40651 2011-07-15 04:17 ntlm.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4406 2011-07-15 04:17 ntlm.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1722 2011-07-15 04:17 performance.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 2021 2011-07-15 04:17 postgres_ext.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1541 2011-07-15 04:17 pw-inspector.1&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 4631 2011-07-15 04:17 pw-inspector.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 38078 2011-07-15 04:17 pw-inspector.ico&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27 2011-07-15 04:17 pw-inspector-logo.rc&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 12072 2011-07-15 04:17 README&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp; 21201 2011-07-15 04:17 sasl.c&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1300 2011-07-15 04:17 sasl.h&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513&amp;nbsp;&amp;nbsp; 1179 2011-07-15 04:17 xhydra.1&lt;br /&gt;
-rw-r--r-- 1 nxpgsql&amp;nbsp; 513 218327 2011-07-15 04:17 xhydra.png&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ./configure &lt;br /&gt;
&lt;br /&gt;
Starting hydra auto configuration ...&lt;br /&gt;
Detected 64 Bit Linux OS&lt;br /&gt;
&lt;br /&gt;
Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for idn (libidn.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for pcre (libpcre.so, pcre.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Postgres (libpq.so, libpq-fe.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for firebird (libfbclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for MYSQL client (libmysqlclient.so, math.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for AFP (libafpclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway&lt;br /&gt;
Checking for NCP (libncp.so / nwcalls.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module NCP disabled&lt;br /&gt;
Checking for SAP/R3 (librfc/saprfc.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module sapr3 disabled&lt;br /&gt;
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp&lt;br /&gt;
Checking for libssh (libssh/libssh.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Oracle disabled&lt;br /&gt;
Checking for GUI req&#39;s (pkg-config, gtk+-2.0) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
&lt;br /&gt;
Hydra will be installed into .../bin of: ~&lt;br /&gt;
&amp;nbsp; (change this by running ./configure --prefix=path)&lt;br /&gt;
&lt;br /&gt;
Writing Makefile.in ...&lt;br /&gt;
now type &quot;make&quot;&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libafpclient.so&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libncp.so&lt;br /&gt;
libncp: /usr/lib/libncp.so&lt;br /&gt;
libncp: /usr/lib/libncp.so.2.3&lt;br /&gt;
libncp: /usr/lib/libncp.so.2.3.0&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search nwcalls.h&lt;br /&gt;
libncp-dev: /usr/include/ncp/nwcalls.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ainstall libncp-dev&lt;br /&gt;
Reading package lists... Done&lt;br /&gt;
Building dependency tree&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Reading state information... Done&lt;br /&gt;
The following NEW packages will be installed:&lt;br /&gt;
&amp;nbsp; libncp-dev&lt;br /&gt;
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.&lt;br /&gt;
Need to get 269 kB of archives.&lt;br /&gt;
After this operation, 995 kB of additional disk space will be used.&lt;br /&gt;
Get:1 http://us.archive.ubuntu.com/ubuntu/ natty/universe libncp-dev amd64 2.2.6-8 [269 kB]&lt;br /&gt;
Fetched 269 kB in 2s (105 kB/s)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Selecting previously deselected package libncp-dev.&lt;br /&gt;
(Reading database ... 313315 files and directories currently installed.)&lt;br /&gt;
Unpacking libncp-dev (from .../libncp-dev_2.2.6-8_amd64.deb) ...&lt;br /&gt;
Processing triggers for man-db ...&lt;br /&gt;
Setting up libncp-dev (2.2.6-8) ...&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# ./configure &lt;br /&gt;
Starting hydra auto configuration ...&lt;br /&gt;
Detected 64 Bit Linux OS&lt;br /&gt;
&lt;br /&gt;
Checking for openssl (libssl, libcrypto, ssl.h, sha.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for idn (libidn.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for pcre (libpcre.so, pcre.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Postgres (libpq.so, libpq-fe.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SVN (libsvn_client-1 libapr-1.so libaprutil-1.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for firebird (libfbclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for MYSQL client (libmysqlclient.so, math.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for AFP (libafpclient.so) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Apple Filing Protocol disabled - Apple sucks anyway&lt;br /&gt;
Checking for NCP (libncp.so / nwcalls.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for SAP/R3 (librfc/saprfc.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module sapr3 disabled&lt;br /&gt;
Get it from http://www.sap.com/solutions/netweaver/linux/eval/index.asp&lt;br /&gt;
Checking for libssh (libssh/libssh.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
Checking for Oracle (libocci.so libclntsh.so / oci.h) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... NOT found, module Oracle disabled&lt;br /&gt;
Checking for GUI req&#39;s (pkg-config, gtk+-2.0) ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... found&lt;br /&gt;
&lt;br /&gt;
Hydra will be installed into .../bin of: ~&lt;br /&gt;
&amp;nbsp; (change this by running ./configure --prefix=path)&lt;br /&gt;
&lt;br /&gt;
Writing Makefile.in ...&lt;br /&gt;
now type &quot;make&quot;&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search saprfc.h&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# acache sapr3&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# acache sapr&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libocci.so&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libclntsh.so&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src# apt-file search libclntsh.so&lt;br /&gt;
root@hostname:~/hydra/hydra-6.5-src#make &amp;amp;&amp;amp; make install</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/6349604568923324006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/07/beauty-of-using-apt-file-whilst-dealing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6349604568923324006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/6349604568923324006'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/07/beauty-of-using-apt-file-whilst-dealing.html' title='The Beauty of Using &quot;apt-file&quot; whilst Dealing with Dependencies whilst Compiling Software'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-1249042673761466420</id><published>2011-07-24T13:56:00.003-06:00</published><updated>2011-07-24T16:43:02.137-06:00</updated><title type='text'>wreckergrep One-Liner</title><content type='html'>&amp;nbsp;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;find . -iname &quot;&amp;lt;search_pattern&amp;gt;&quot; -print | while read f; do grep -Ril &amp;lt;search_file_content&amp;gt; &quot;$f&quot;; done&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;#!/bin/bash&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# wreckergrep.sh &lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;find . -iname &quot;&amp;lt;search_pattern&amp;gt;&quot; -print | while read f; do&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&amp;nbsp; grep -Ril $1 &quot;$f&quot;&lt;/i&gt;&lt;/div&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;done &lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay,&lt;br /&gt;
&lt;br /&gt;
Now save the file as wreckergrep.sh and change your permissions:&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;chmod 755 wreckergrep.sh&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Use your new utility with the following syntax:&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;./wreckergrep.sh &amp;lt;search_file_pattern&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
So, for example running the one-liner: &lt;br /&gt;
&amp;nbsp;&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;find . -iname &quot;*.py&quot; -print | while read f; do grep -Ril http &quot;$f&quot;; done&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
Will return every python file containing the search_file_pattern &quot;http&quot;&lt;br /&gt;
&lt;br /&gt;
Hopefully this helps ya out in a pinch ;)&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
Later skaterz ;)&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/1249042673761466420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/07/wreckergrep-one-liner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/1249042673761466420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/1249042673761466420'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/07/wreckergrep-one-liner.html' title='wreckergrep One-Liner'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-7210774100006541619</id><published>2011-07-24T11:23:00.012-06:00</published><updated>2011-10-12T23:00:04.913-06:00</updated><title type='text'>Script that Rips the Largest Track from DVD and Encodes as AVI from the Command Line</title><content type='html'>Hello again folks!&lt;br /&gt;
&lt;br /&gt;
Time to share an oldie but goodie - ripping movies from a DVD using Linux via the command line.&amp;nbsp; This is useful if you&#39;re tired of pointing and clicking around GUI rippers, you&#39;re working on DVD ripping automation, etc.&lt;br /&gt;
&lt;br /&gt;
This script will grab the largest track from a DVD (i.e. the actual movie) and convert the track to AVI (MPEG-4):&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;main_feature=`lsdvd | grep &quot;Longest track&quot; | awk &#39;{print $3}&#39;` # Choose the largest track for the main feature&lt;br /&gt;out_file=&quot;/home/cerberus/Videos/$1.avi&quot;&lt;br /&gt;if [[ $1 != &quot;&quot; ]]; then&lt;br /&gt;&amp;nbsp; mencoder dvd://$main_feature -nosub -noautosub -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=&quot;1200&quot; -vf scale -zoom -xy 720 -oac mp3lame -lameopts br=128 -alang en -o $out_file&lt;br /&gt;else&lt;br /&gt;&amp;nbsp; echo &quot;./rip_dvd_2_avi.sh &amp;lt;name_of_dvd&amp;gt;&quot;&lt;br /&gt;&amp;nbsp; #echo &quot;Available Tracks are: &quot;&lt;br /&gt;&amp;nbsp; #lsdvd&lt;br /&gt;fi&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Save the file as rip_dvd_2_avi.sh and change the permissions using the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;chmod 755 rip_dvd_2_avi.sh&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, create a Videos folder in your home directory OR change the path of the out_file variable found on line 4 in the bash script above:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;mkdir ~/Videos&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
and last but not least execute your super awesome script:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;./rip_dvd_2_avi.sh TheNameofYourDVD&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
That&#39;s it.&amp;nbsp; Until next time peeps!</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/7210774100006541619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/07/script-that-rips-largest-track-from-dvd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/7210774100006541619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/7210774100006541619'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/07/script-that-rips-largest-track-from-dvd.html' title='Script that Rips the Largest Track from DVD and Encodes as AVI from the Command Line'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-1239669949280020070</id><published>2011-06-19T19:58:00.012-06:00</published><updated>2011-07-01T21:44:33.249-06:00</updated><title type='text'>Control the Window Geometry of Any Linux / BSD Graphical Application....</title><content type='html'>Super short and sweet post this time...&lt;br /&gt;
&lt;br /&gt;
Did you know that you can can control the window geometry and placement of any graphical application in most, if not all, desktop environments/window managers, permitted an x window environment is available (e.g. Xorg)?&lt;br /&gt;
&lt;br /&gt;
This is useful with machines when you notice the same graphical applications staying open.&amp;nbsp; Another benefit is that it provides the means to be more efficient when you can start to remember where specific windows are located at any given moment.&amp;nbsp; Here&#39;s the one liner -&amp;nbsp; feel free to use this code to automate your desktops into productive and friendly minions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=widgetsamazon-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=B0046B8GEQ&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Said one-liner:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
$ wmctrl -l | grep -i konqueror | awk &#39;{print $1}&#39; | while read win_id; do transset-df -i $win_id 0.9; wmctrl -ir $win_id -e 0,0,1700,1200,185; done&lt;/div&gt;
&lt;br /&gt;
Here&#39;s a quick explanation of the aforementioned one-liner (ensure konqueror is already running):&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;wmctrl -l&quot;&lt;/span&gt; provides a list of every graphical window currently running.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;grep -i konqueror&quot;&lt;/span&gt; looks for a case-insensitive window titled, &quot;konqueror.&quot;&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;awk &#39;{print $1}&#39;&quot;&amp;nbsp;&lt;/span&gt;only displays the first column of the &quot;konqueror&quot; line from stdout via &quot;wmctrl -l.&quot;&amp;nbsp; The first column is the window id for Konqueror.  &lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;while read wind_id; do &quot; &lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;read in the id column (first column) from &quot;wmctrl -l&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;transset-df -i $wind_id 0.9;&quot;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;change translucency of window to 0.9.  Love it.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;wmctrl -ir $wind_id -e 0,0,1700,1200,185;&quot; &lt;/span&gt;change the geometry (size) of the window and its placement (where the window will actually reside on the desktop)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e69138;&quot;&gt;&quot;done&quot;&lt;/span&gt; all done ;)&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Hope you find this useful!&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;adiós&lt;/span&gt; &lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;amigos!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;If you enjoyed this post, send us &lt;b&gt;= kudos =&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;&lt;i&gt;(Bitcoin Addr: 19n6q3GZfoM64oqv5HsDnhzqvcEvJUvmdx)&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/1239669949280020070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/06/control-window-geometry-of-any-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/1239669949280020070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/1239669949280020070'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/06/control-window-geometry-of-any-linux.html' title='Control the Window Geometry of Any Linux / BSD Graphical Application...&lt;Grins&gt;.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-5525599240149588912</id><published>2011-06-19T18:17:00.021-06:00</published><updated>2011-07-01T21:44:54.441-06:00</updated><title type='text'>Control a Synergy Server and its Clients from One Server Script, One Keyboard, and One Mouse - the Easy Way</title><content type='html'>Today we&#39;re going to cover an amazing little utility that has made many-a-boxen here at the hang4r look like Tank&#39;s operator station from the movie, &quot;The Matrix.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.gulker.com/blog/wp-content/2007/09/tank1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.gulker.com/blog/wp-content/2007/09/tank1.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This little utility is known as synergy and is used for controlling multiple computers from one keyboard and mouse over any network.&amp;nbsp; For more information on installation/configuration, please visit &lt;a href=&quot;http://synergy2.sourceforge.net/&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, synergy comes with one noticeable caveat - no network traffic encryptie supportie.&amp;nbsp; Guess we&#39;ll have to remedy that, won&#39;t we?&lt;br /&gt;
&lt;br /&gt;
Now, there are plenty of blogs out there on the ol dub-dub-dub that describe how to enable network-based encryption for synergy using stunnel or openssh.&amp;nbsp; Unfortunately, they typically present this with a solution that requires a series of scripts that live on the synergy server (synergys) and the synergy client (synergyc).&amp;nbsp; If you&#39;re as serious about synergy as we are, you&#39;ll notice it gets a bit &quot;twitchy&quot; when you constantly find yourself having to disconnect/reconnect often...calling different scripts here and there, rubbish.&amp;nbsp; Time to change all that :)&lt;br /&gt;
&lt;br /&gt;
Today, you&#39;ll have the opportunity to learn how to connect your synergy clients to a synergy server &lt;u&gt;all sourcing from one synergy server&lt;/u&gt;.&amp;nbsp; This is all accomplished through our friend, OpenSSH and its reliable wingman, reverse tunneling.&amp;nbsp; &lt;i&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Again, this all in one, easy shell script connects synergy clients to the synergy server from...you got it, the synergy server&lt;/b&gt;.&lt;/i&gt;&amp;nbsp; That&#39;s right, no more annoying typing on this keyboard or that keyboard to get your synergy clients connected...clackity-click-clack.&amp;nbsp; We heart that idea almost as much as we heart lock picking as a past-time in the shop.&amp;nbsp; While you&#39;re thinking about lock picking in the shop, consider picking up this book...it&#39;s one of the better ones out there on lock picking: &lt;br /&gt;
&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=widgetsamazon-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=1597496111&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Our apologies for the digression - back to the regularly scheduled program...here we go:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;STEP 1:&lt;/b&gt; Okay, first you must setup key-based authentication for OpenSSH so that your synergy server can authenticate with the synergy clients without requiring a person to actually type a password (or at least a moderately sophisticated zombie robot).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;STEP 1.1:&lt;/b&gt; Run the following command from your &lt;u&gt;&lt;b&gt;synergy server&lt;/b&gt;&lt;/u&gt;:&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;$ ssh-keygen &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Generating public/private rsa key pair.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter file in which to save the key (/home/&amp;lt;user&amp;gt;/.ssh/id_rsa):&amp;lt;PRESS_ENTER&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter passphrase (empty for no passphrase):&amp;lt;LEAVE BLANK, PRESS_ENTER&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Enter same passphrase again:&amp;lt;LEAVE BLANK, PRESS_ENTER&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Your identification has been saved in /home/&amp;lt;user&amp;gt;/.ssh/id_rsa.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;Your public key has been saved in /home/&amp;lt;user&amp;gt;/.ssh/id_rsa.pub.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;The key fingerprint is:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;cc:d9:cb:d8:cd:24:ad:87:41:1c:57:90:14:73:00:fb user@hostname&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;The key&#39;s random art image is:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;+--[ RSA 2048]----+&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp; ..+el...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . n...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp; o .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . + * .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N O p e &amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = O&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . * +&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;+-----------------+&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;STEP 1.2:&lt;/b&gt; Transfer the synergy server file, id_rsa.pub to your remote synergy client:&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
$ scp /home/&amp;lt;user&amp;gt;/.ssh/id_rsa.pub &amp;lt;user&amp;gt;@&amp;lt;remote synergy client&amp;gt;:/home/&amp;lt;user&amp;gt;/&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;STEP 1.3:&lt;/b&gt; SSH into your remote synergy client computer: &lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
$ ssh &amp;lt;user&amp;gt;@&amp;lt;remote synergy client&amp;gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;lt;user&amp;gt;@&amp;lt;remote synergy client&amp;gt; password: &amp;lt;TYPE PASSWORD&amp;gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;STEP 1.4:&lt;/b&gt; Append the contents of id_rsa.pub to the authorized_keys file:&lt;br /&gt;
&lt;span style=&quot;color: #e69138;&quot;&gt;$ cat /home/&amp;lt;user&amp;gt;/id_rsa.pub &amp;gt;&amp;gt; /home/&amp;lt;user&amp;gt;/.ssh/authorized_keys&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
***At this point you should be able to authenticate to your remote synergy client from your synergy server machine.&amp;nbsp; Please note that you also must ssh &lt;u&gt;from the synergy server&lt;/u&gt; as the &lt;u&gt;synergy server user&lt;/u&gt; that possesses the id_rsa.pub file within their &quot;/home/&amp;lt;user&amp;gt;/.ssh&quot; directory.&amp;nbsp; Of course you ssh &lt;u&gt;to the synergy client&lt;/u&gt; using the &lt;u&gt;synergy client user&lt;/u&gt; that contains the authorized_keys file within their &quot;/home/&amp;lt;user&amp;gt;/.ssh&quot; directory.&amp;nbsp; So far, so good.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;STEP 2:&lt;/b&gt; The script...now, here comes the beautiful part.&amp;nbsp; Create a file called onesyn.sh on your &lt;b&gt;synergy server&lt;/b&gt; and paste the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;#!/bin/bash&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# onesyn.sh&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# Start the synergy server daemon and sleep to ensure it&#39;s up&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# prior to kicking off our uber-simple client initialization&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;synergys &amp;amp; &lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;sleep 2&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# now, reverse-ssh into synergy client using key-based auth&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;# and kick off synergy client over an encrypted network tunnel&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;ssh -R 127.0.0.1:24800:127.0.0.1:24800 &amp;lt;user&amp;gt;@&amp;lt;remote synergy client&amp;gt; &quot;synergyc -f 127.0.0.1&quot;&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;i style=&quot;color: #e69138;&quot;&gt;# end of script&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
That&#39;s it folks!&amp;nbsp; Simply save your file and make it executable by issuing the following command:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
$ chmod 755 onesyn.sh&lt;/div&gt;
&lt;br /&gt;
Have this script auto-run each time you authenticate with your favorite desktop environment (KDE, Gnome, etc.).&amp;nbsp; Better yet, use&amp;nbsp; your favorite window manager instead (OpenBox, FluxBox, FVWM, etc.) since desktop environments are made for people with an unhealthy amount of patience.&lt;br /&gt;
&lt;br /&gt;
Logout, log back in, and enjoy your lavishly excessive array of flat-panel displays, crts, and computing devices all accessible and dominated from one keyboard and mouse!&amp;nbsp; Yes, it&#39;s even okay to sit back, raise your hands towards the back of your head, and totally bask in your amazing awesomeness ;)&lt;br /&gt;
&lt;br /&gt;
Kickin ass n chewin bubble gum.&amp;nbsp; Later skaterz!&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;If you enjoyed this post, send us &lt;b&gt;= kudos =&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;&lt;i&gt;(Bitcoin Addr: 19n6q3GZfoM64oqv5HsDnhzqvcEvJUvmdx)&lt;/i&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/5525599240149588912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/06/control-synergy-server-and-its-clients.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5525599240149588912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/5525599240149588912'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/06/control-synergy-server-and-its-clients.html' title='Control a Synergy Server and its Clients from One Server Script, One Keyboard, and One Mouse - the Easy Way'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815861405709398762.post-604781126459577016</id><published>2011-06-19T00:03:00.003-06:00</published><updated>2011-07-01T21:45:12.056-06:00</updated><title type='text'>quickiedisc.sh - An Oldie but a Goodie for Linux Burning</title><content type='html'>Copy-&amp;gt;paste-&amp;gt;save this into a file named quickiedisc.sh.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
#!/bin/bash&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
usage() {&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; printf &quot;*Usage: quickiedisc.sh [--copy --data --iso --rip] &amp;lt;\&quot;file\&quot;&amp;gt;\n&quot;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; printf &quot; --copy: Copy CD or DVD utilizing one drive :)\n&quot;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; printf &quot; --data: Burn a specified file or folder to CD or DVD\n&quot;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; printf &quot; --iso : Burn an ISO file to CD or DVD\n&quot;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; printf &quot; --rip : Rip a CD or DVD\n&quot;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; exit&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
if [[ $# != 2 ]]; then&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; usage&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
fi&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
case $1 in&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; &quot;--copy&quot; ) dd if=/dev/scd0 of=/tmp/quickie_tmp.iso;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eject /dev/scd0;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf &quot;Please insert blank disk.&amp;nbsp; Press any key to continue...&quot;; read anykey;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdrecord -v speed=16 dev=ATA:1,0,0 /tmp/quickie_tmp.iso;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm /tmp/quickie_tmp.iso;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; &quot;--data&quot; ) mkisofs -r -o &quot;${2}.iso&quot; &quot;${2}&quot;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cdrecord -v speed=16 dev=ATA:1,0,0 &quot;${2}.iso&quot;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #cdrecord -v speed=16 dev=ATAPI:0,0,0 &quot;${2}.iso&quot;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm ${2}.iso;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; &quot;--iso&quot;&amp;nbsp; ) cdrecord -v speed=16 dev=/dev/scd0 &quot;${2}&quot;;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp; &quot;--rip&quot;&amp;nbsp; ) dd if=/dev/scd0 of=&quot;${2}.iso&quot;;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; ) printf &quot;Invalid Flag.\n&quot;; usage;;&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
esac&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
eject /dev/scd0&lt;/div&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
# End of script&lt;/div&gt;
&lt;br /&gt;
Also, be sure you set permissions as executable:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #e69138;&quot;&gt;
&lt;i&gt;$ chmod 755 quickiecd.sh&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Enjoy, cheers!&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;If you enjoyed this post, send us &lt;b&gt;= kudos =&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;short_text&quot; id=&quot;result_box&quot; lang=&quot;es&quot;&gt;&lt;span class=&quot;hps&quot; title=&quot;Click for alternate translations&quot;&gt;&lt;i&gt;(Bitcoin Addr: 19n6q3GZfoM64oqv5HsDnhzqvcEvJUvmdx)&lt;/i&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://hang4r.blogspot.com/feeds/604781126459577016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://hang4r.blogspot.com/2011/06/quickiediscsh-oldie-but-goodie-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/604781126459577016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815861405709398762/posts/default/604781126459577016'/><link rel='alternate' type='text/html' href='http://hang4r.blogspot.com/2011/06/quickiediscsh-oldie-but-goodie-for.html' title='quickiedisc.sh - An Oldie but a Goodie for Linux Burning'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>