<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AskApache &#187; Search Results  &#187;  wireshark</title>
	<atom:link href="http://www.askapache.com/search/wireshark/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.askapache.com</link>
	<description>Advanced Web Development</description>
	<lastBuildDate>Thu, 26 Apr 2012 11:29:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTTP Status Codes and Htaccess ErrorDocuments</title>
		<link>http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html</link>
		<comments>http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#comments</comments>
		<pubDate>Tue, 04 Jan 2011 20:56:15 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Htaccess]]></category>

		<guid isPermaLink="false">http://www.askapache.com.com/htaccess/wow-i-served-a-page-for-every-single-http-status-code-and-saved-headers-and-content.html</guid>
		<description><![CDATA[<p>There are a total of <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#apache-response-codes-57">57 HTTP Status Codes</a> recognized by the Apache Web Server.  Wouldn't you like to see what all those headers and their output, ErrorDocuments look like?</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html"></a><a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html"><cite>AskApache.com</cite></a></p><p><strong>I was trying to find an official, authoritative list of HTTP Status Codes</strong> but I kept finding lists that weren't authoritative or complete. So I searched and found my answer in the Apache HTTP Server source code.  Once I had the exact HTTP Status Codes and resulting Error Documents sent by Apache, I researched deeper into HTTP Status Codes by reading as many related RFC's as I could find, and several other software source codes were explored.  This is the most authoritative list I know of, if you can do better leave a comment and I'll update it.  Another thing to keep in mind, the Status code number itself is what is used by software and hardware to make determinations, the phrase returned by the status code is for the human only and does not have any weight other than informing the user.. So "503 Service Unavailable", "503 Service Temporarily Unavailable", and "503 Get the heck outta here" are all completely valid.</p>
<p class="bnote"><strong>Update March 9, 2009</strong>: A lot of sites on the web have updated their HTTP status code lists to include the HTTP Status codes listed on this page, including Wikipedia, IANA, W3C, and others, so rest assured this info is accurate and complete.  If you'd like to see how to create custom error pages for all of these errors like mine  <a href="http://www.askapache.com/show-error-506">/show-error-506</a> , then check out  <a href="http://www.askapache.com/htaccess/advanced-htaccess-ssi.html">this detailed tutorial</a>  I just posted.</p>


<h2>Contents</h2>
<ul>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#apache-response-codes-57">List of All 57 HTTP Response Status Code</a> </li>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#quick-start">Quick Start to triggering ErrorDocuments for each Status Code</a> </li>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#automating-the-process">Automate the ErrorDocument Triggering</a>
        <ul>
            <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#redirect-code-in-htaccess">The htaccess Code</a> </li>
            <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#php-header-grabber-script">PHP script that gets and outputs the Headers/Content</a> </li>
        </ul>
    </li>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#headers-returned-content">Headers and Content Returned</a> </li>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#apache-source-code">Apache Source Code</a>
        <ul>
            <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#httpdh-h">httpd.h</a> </li>
            <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#http_protocol-c">http_protocol.c</a> </li>
        </ul>
    </li>
</ul>


<h2> <a href="#apache-response-codes-57" name="apache-response-codes-57" id="apache-response-codes-57">57 APACHE HTTP STATUS RESPONSE CODES</a> </h2>
<p>Once I compiled the list of Apache recognized HTTP Status Codes, I was dying to see them all in action (<em>i.e. the corresponding <strong>ErrorDocument</strong></em>).  At first I thought I would have to create a php or perl script emulating each of the 57 HTTP Status Codes, a tedious undertaking I wasn't about to do.  Instead I "asked Apache" by searching the  <a href="http://httpd.apache.org/docs/trunk/">Apache HTTP Documentation</a>  for <em>ambiguity sending Status Codes and/or triggering ErrorDocuments</em> with an Apache Directive.<br /><strong>While reading</strong> up on  <a href="http://askapache.info/trunk/mod/mod_alias.html">mod_alias</a>  and the  <a href="http://askapache.info/trunk/mod/mod_alias.html#redirect">Redirect</a>  directive I found:</p>
<blockquote cite="http://httpd.apache.org/docs/trunk/mod/mod_alias.html#redirect"><cite>Apache Docs</cite>
    <p>Syntax: <strong>Redirect [status] URL-path URL</strong> The status argument can be used to return <strong>other</strong> HTTP status codes. <strong>Other</strong> status codes can be returned by giving the numeric status code as the value of status.  If the status is between 300 and 399, the URL argument must be present, otherwise it must be omitted.</p>
</blockquote>
<dl>
    <dt><a id="code-100" title="Continue">100 Continue</a> </dt>
    <dd><a title="ErrorDocument 100" href="/e/100/">ErrorDocument Continue</a>  |  <a href="#status-100" title="Sample Continue">Sample 100 Continue</a> <br />This means that the server has received the request headers, and that the client should proceed to send the request body (in case of a request which   needs to be sent; for example, a POST request). If the request body is large, sending it to a server when a request has already been rejected based upon inappropriate headers is inefficient.   To have a server check if the request could be accepted based on the requests headers alone, a client must send Expect: 100-continue as a header in its initial request (see RFC 2616 14.20 Expect header) and check if a 100 Continue status code is received in response before continuing (or receive 417 Expectation Failed and not continue).</dd>
    <dt><a id="code-101" title="Switching Protocols">101 Switching Protocols</a> </dt>
    <dd><a title="ErrorDocument 101" href="/e/101/">ErrorDocument Switching Protocols</a>  |  <a href="#status-101" title="Sample Switching Protocols">Sample 101 Switching Protocols</a> <br />This means the requester has asked the server to switch protocols and the server is acknowledging that it will do so.[3]</dd>
    <dt><a id="code-102" title="Processing">102 Processing</a> </dt>
    <dd><a title="ErrorDocument 102" href="/e/102/">ErrorDocument Processing</a>  |  <a href="#status-102" title="Sample Processing">Sample 102 Processing</a> <br />(WebDAV) - (RFC 2518 )</dd>
    <dt><a id="code-200" title="OK">200 OK</a> </dt>
    <dd><a title="ErrorDocument 200" href="/e/200/">ErrorDocument OK</a>  |  <a href="#status-200" title="Sample OK">Sample 200 OK</a> <br />Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an   entity corresponding to the requested resource. In a POST request the response will contain an entity describing or containing the result of the action.</dd>
    <dt><a id="code-201" title="Created">201 Created</a> </dt>
    <dd><a title="ErrorDocument 201" href="/e/201/">ErrorDocument Created</a>  |  <a href="#status-201" title="Sample Created">Sample 201 Created</a> <br />The request has been fulfilled and resulted in a new resource being created.</dd>
    <dt><a id="code-202" title="Accepted">202 Accepted</a> </dt>
    <dd><a title="ErrorDocument 202" href="/e/202/">ErrorDocument Accepted</a>  |  <a href="#status-202" title="Sample Accepted">Sample 202 Accepted</a> <br />The request has been accepted for processing, but the processing has not been completed. The request might or might not eventually be acted upon, as it   might be disallowed when processing actually takes place.</dd>
    <dt><a id="code-203" title="Non-Authoritative Information">203 Non-Authoritative Information</a> </dt>
    <dd><a title="ErrorDocument 203" href="/e/203/">ErrorDocument Non-Authoritative Information</a>  |  <a href="#status-203" title="Sample Non-Authoritative Information">Sample 203 Non-Authoritative Information</a> <br />The server successfully processed the request, but is returning information that may be from another source.</dd>
    <dt><a id="code-204" title="No Content">204 No Content</a> </dt>
    <dd><a title="ErrorDocument 204" href="/e/204/">ErrorDocument No Content</a>  |  <a href="#status-204" title="Sample No Content">Sample 204 No Content</a> <br />The server successfully processed the request, but is not returning any content.</dd>
    <dt><a id="code-205" title="Reset Content">205 Reset Content</a> </dt>
    <dd><a title="ErrorDocument 205" href="/e/205/">ErrorDocument Reset Content</a>  |  <a href="#status-205" title="Sample Reset Content">Sample 205 Reset Content</a> <br />The server successfully processed the request, but is not returning any content. Unlike a 204 response, this response requires that the requester   reset the document view.</dd>
    <dt><a id="code-206" title="Partial Content">206 Partial Content</a> </dt>
    <dd><a title="ErrorDocument 206" href="/e/206/">ErrorDocument Partial Content</a>  |  <a href="#status-206" title="Sample Partial Content">Sample 206 Partial Content</a> <br />The server is delivering only part of the resource due to a range header sent by the client. This is used by tools like wget to enable resuming   of interrupted downloads, or split a download into multiple simultaneous streams.</dd>
    <dt><a id="code-207" title="Multi-Status">207 Multi-Status</a> </dt>
    <dd><a title="ErrorDocument 207" href="/e/207/">ErrorDocument Multi-Status</a>  |  <a href="#status-207" title="Sample Multi-Status">Sample 207 Multi-Status</a> <br />(WebDAV) - The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests   were made.</dd>
    <dt><a id="code-226" title="IM Used">226 IM Used</a> </dt>
    <dd><a title="ErrorDocument 226" href="/e/226/">ErrorDocument IM Used</a>  |  <a href="#status-226" title="Sample IM Used">Sample 226 IM Used</a> <br />The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations   applied to the current instance.  The actual current instance might not be available except by combining this response with other previous or future responses, as appropriate for the specific   instance-manipulation(s).</dd>
    <dt><a id="code-300" title="Multiple Choices">300 Multiple Choices</a> </dt>
    <dd><a title="ErrorDocument 300" href="/e/300/">ErrorDocument Multiple Choices</a>  |  <a href="#status-300" title="Sample Multiple Choices">Sample 300 Multiple Choices</a> <br />Indicates multiple options for the resource that the client may follow. It, for instance, could be used to present different format options for   video, list files with different extensions, or word sense disambiguation.</dd>
    <dt><a id="code-301" title="Moved Permanently">301 Moved Permanently</a> </dt>
    <dd><a title="ErrorDocument 301" href="/e/301/">ErrorDocument Moved Permanently</a>  |  <a href="#status-301" title="Sample Moved Permanently">Sample 301 Moved Permanently</a> <br />This and all future requests should be directed to the given URI.</dd>
    <dt><a id="code-302" title="Found">302 Found</a> </dt>
    <dd><a title="ErrorDocument 302" href="/e/302/">ErrorDocument Found</a>  |  <a href="#status-302" title="Sample Found">Sample 302 Found</a> <br />This is the most popular redirect code[citation needed], but also an example of industrial practice contradicting the standard. HTTP/1.0 specification   (RFC 1945 ) required the client to perform a temporary redirect (the original describing phrase was "Moved Temporarily"), but popular browsers implemented it as a 303 See Other. Therefore,   HTTP/1.1 added status codes 303 and 307 to disambiguate between the two behaviours. However, the majority of Web applications and frameworks still use the 302 status code as if it were the   303.</dd>
    <dt><a id="code-303" title="See Other">303 See Other</a> </dt>
    <dd><a title="ErrorDocument 303" href="/e/303/">ErrorDocument See Other</a>  |  <a href="#status-303" title="Sample See Other">Sample 303 See Other</a> <br />The response to the request can be found under another URI using a GET method. When received in response to a PUT, it should be assumed that the   server has received the data and the redirect should be issued with a separate GET message.</dd>
    <dt><a id="code-304" title="Not Modified">304 Not Modified</a> </dt>
    <dd><a title="ErrorDocument 304" href="/e/304/">ErrorDocument Not Modified</a>  |  <a href="#status-304" title="Sample Not Modified">Sample 304 Not Modified</a> <br />Indicates the resource has not been modified since last requested. Typically, the HTTP client provides a header like the If-Modified-Since header   to provide a time against which to compare. Utilizing this saves bandwidth and reprocessing on both the server and client, as only the header data must be sent and received in comparison to   the entirety of the page being re-processed by the server, then resent using more bandwidth of the server and client.</dd>
    <dt><a id="code-305" title="Use Proxy">305 Use Proxy</a> </dt>
    <dd><a title="ErrorDocument 305" href="/e/305/">ErrorDocument Use Proxy</a>  |  <a href="#status-305" title="Sample Use Proxy">Sample 305 Use Proxy</a> <br />Many HTTP clients (such as Mozilla[4] and Internet Explorer) do not correctly handle responses with this status code, primarily for security   reasons.</dd>
    <dt><a id="code-306" title="Switch Proxy">306 Switch Proxy</a> </dt>
    <dd><a title="ErrorDocument 306" href="/e/306/">ErrorDocument Switch Proxy</a>  |  <a href="#status-306" title="Sample Switch Proxy">Sample 306 Switch Proxy</a> <br />No longer used.</dd>
    <dt><a id="code-307" title="Temporary Redirect">307 Temporary Redirect</a> </dt>
    <dd><a title="ErrorDocument 307" href="/e/307/">ErrorDocument Temporary Redirect</a>  |  <a href="#status-307" title="Sample Temporary Redirect">Sample 307 Temporary Redirect</a> <br />In this occasion, the request should be repeated with another URI, but future requests can still use the original URI. In contrast to 303,   the request method should not be changed when reissuing the original request. For instance, a POST request must be repeated using another POST request.</dd>
    <dt><a id="code-400" title="Bad Request">400 Bad Request</a> </dt>
    <dd><a title="ErrorDocument 400" href="/e/400/">ErrorDocument Bad Request</a>  |  <a href="#status-400" title="Sample Bad Request">Sample 400 Bad Request</a> <br />The request contains bad syntax or cannot be fulfilled.</dd>
    <dt><a id="code-401" title="Unauthorized">401 Unauthorized</a> </dt>
    <dd><a title="ErrorDocument 401" href="/e/401/">ErrorDocument Unauthorized</a>  |  <a href="#status-401" title="Sample Unauthorized">Sample 401 Unauthorized</a> <br />Similar to 403 Forbidden, but specifically for use when authentication is possible but has failed or not yet been provided. The response must   include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication.</dd>
    <dt><a id="code-402" title="Payment Required">402 Payment Required</a> </dt>
    <dd><a title="ErrorDocument 402" href="/e/402/">ErrorDocument Payment Required</a>  |  <a href="#status-402" title="Sample Payment Required">Sample 402 Payment Required</a> <br />The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, but that has not happened,   and this code has never been used.</dd>
    <dt><a id="code-403" title="Forbidden">403 Forbidden</a> </dt>
    <dd><a title="ErrorDocument 403" href="/e/403/">ErrorDocument Forbidden</a>  |  <a href="#status-403" title="Sample Forbidden">Sample 403 Forbidden</a> <br />The request was a legal request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no   difference.</dd>
    <dt><a id="code-404" title="Not Found">404 Not Found</a> </dt>
    <dd><a title="ErrorDocument 404" href="/e/404/">ErrorDocument Not Found</a>  |  <a href="#status-404" title="Sample Not Found">Sample 404 Not Found</a> <br />The requested resource could not be found but may be available again in the future. Subsequent requests by the client are permissible.</dd>
    <dt><a id="code-405" title="Method Not Allowed">405 Method Not Allowed</a> </dt>
    <dd><a title="ErrorDocument 405" href="/e/405/">ErrorDocument Method Not Allowed</a>  |  <a href="#status-405" title="Sample Method Not Allowed">Sample 405 Method Not Allowed</a> <br />A request was made of a resource using a request method not supported by that resource; for example, using GET on a form which requires data   to be presented via POST, or using PUT on a read-only resource.</dd>
    <dt><a id="code-406" title="Not Acceptable">406 Not Acceptable</a> </dt>
    <dd><a title="ErrorDocument 406" href="/e/406/">ErrorDocument Not Acceptable</a>  |  <a href="#status-406" title="Sample Not Acceptable">Sample 406 Not Acceptable</a> <br />The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request.</dd>
    <dt><a id="code-407" title="Proxy Authentication Required">407 Proxy Authentication Required</a> </dt>
    <dd><a title="ErrorDocument 407" href="/e/407/">ErrorDocument Proxy Authentication Required</a>  |  <a href="#status-407" title="Sample Proxy Authentication Required">Sample 407 Proxy Authentication Required</a> <br />Required</dd>
    <dt><a id="code-408" title="Request Timeout">408 Request Timeout</a> </dt>
    <dd><a title="ErrorDocument 408" href="/e/408/">ErrorDocument Request Timeout</a>  |  <a href="#status-408" title="Sample Request Timeout">Sample 408 Request Timeout</a> <br />The server timed out waiting for the request.</dd>
    <dt><a id="code-409" title="Conflict">409 Conflict</a> </dt>
    <dd><a title="ErrorDocument 409" href="/e/409/">ErrorDocument Conflict</a>  |  <a href="#status-409" title="Sample Conflict">Sample 409 Conflict</a> <br />Indicates that the request could not be processed because of conflict in the request, such as an edit conflict.</dd>
    <dt><a id="code-410" title="Gone">410 Gone</a> </dt>
    <dd><a title="ErrorDocument 410" href="/e/410/">ErrorDocument Gone</a>  |  <a href="#status-410" title="Sample Gone">Sample 410 Gone</a> <br />Indicates that the resource requested is no longer available and will not be available again. This should be used when a resource has been intentionally   removed; however, it is not necessary to return this code and a 404 Not Found can be issued instead. Upon receiving a 410 status code, the client should not request the resource again in the   future. Clients such as search engines should remove the resource from their indexes.</dd>
    <dt><a id="code-411" title="Length Required">411 Length Required</a> </dt>
    <dd><a title="ErrorDocument 411" href="/e/411/">ErrorDocument Length Required</a>  |  <a href="#status-411" title="Sample Length Required">Sample 411 Length Required</a> <br />The request did not specify the length of its content, which is required by the requested resource.</dd>
    <dt><a id="code-412" title="Precondition Failed">412 Precondition Failed</a> </dt>
    <dd><a title="ErrorDocument 412" href="/e/412/">ErrorDocument Precondition Failed</a>  |  <a href="#status-412" title="Sample Precondition Failed">Sample 412 Precondition Failed</a> <br />The server does not meet one of the preconditions that the requester put on the request.</dd>
    <dt><a id="code-413" title="Request Entity Too Large">413 Request Entity Too Large</a> </dt>
    <dd><a title="ErrorDocument 413" href="/e/413/">ErrorDocument Request Entity Too Large</a>  |  <a href="#status-413" title="Sample Request Entity Too Large">Sample 413 Request Entity Too Large</a> <br />The request is larger than the server is willing or able to process.</dd>
    <dt><a id="code-414" title="Request-URI Too Long">414 Request-URI Too Long</a> </dt>
    <dd><a title="ErrorDocument 414" href="/e/414/">ErrorDocument Request-URI Too Long</a>  |  <a href="#status-414" title="Sample Request-URI Too Long">Sample 414 Request-URI Too Long</a> <br />The URI provided was too long for the server to process.</dd>
    <dt><a id="code-415" title="Unsupported Media Type">415 Unsupported Media Type</a> </dt>
    <dd><a title="ErrorDocument 415" href="/e/415/">ErrorDocument Unsupported Media Type</a>  |  <a href="#status-415" title="Sample Unsupported Media Type">Sample 415 Unsupported Media Type</a> <br />The request did not specify any media types that the server or resource supports. For example the client specified that an image resource   should be served as image/svg+xml, but the server cannot find a matching version of the image.</dd>
    <dt><a id="code-416" title="Requested Range Not Satisfiable">416 Requested Range Not Satisfiable</a> </dt>
    <dd><a title="ErrorDocument 416" href="/e/416/">ErrorDocument Requested Range Not Satisfiable</a>  |  <a href="#status-416" title="Sample Requested Range Not Satisfiable">Sample 416 Requested Range Not Satisfiable</a> <br />The client has asked for a portion of the file, but the server cannot supply that portion (for example, if the client asked for   a part of the file that lies beyond the end of the file).</dd>
    <dt><a id="code-417" title="Expectation Failed">417 Expectation Failed</a> </dt>
    <dd><a title="ErrorDocument 417" href="/e/417/">ErrorDocument Expectation Failed</a>  |  <a href="#status-417" title="Sample Expectation Failed">Sample 417 Expectation Failed</a> <br />The server cannot meet the requirements of the Expect request-header field.</dd>
    <dt><a id="code-418" title="I'm a teapot">418 I'm a teapot</a> </dt>
    <dd><a title="ErrorDocument 418" href="/e/418/">ErrorDocument I'm a teapot</a>  |  <a href="#status-418" title="Sample I'm a teapot">Sample 418 I'm a teapot</a> <br />The HTCPCP server is a teapot. The responding entity MAY be short and stout. Defined by the April Fools specification RFC 2324. See Hyper Text   Coffee Pot Control Protocol for more information.</dd>
    <dt><a id="code-422" title="Unprocessable Entity">422 Unprocessable Entity</a> </dt>
    <dd><a title="ErrorDocument 422" href="/e/422/">ErrorDocument Unprocessable Entity</a>  |  <a href="#status-422" title="Sample Unprocessable Entity">Sample 422 Unprocessable Entity</a> <br />(WebDAV) (RFC 4918 ) - The request was well-formed but was unable to be followed due to semantic errors.</dd>
    <dt><a id="code-423" title="Locked">423 Locked</a> </dt>
    <dd><a title="ErrorDocument 423" href="/e/423/">ErrorDocument Locked</a>  |  <a href="#status-423" title="Sample Locked">Sample 423 Locked</a> <br />(WebDAV) (RFC 4918 ) - The resource that is being accessed is locked</dd>
    <dt><a id="code-424" title="Failed Dependency">424 Failed Dependency</a> </dt>
    <dd><a title="ErrorDocument 424" href="/e/424/">ErrorDocument Failed Dependency</a>  |  <a href="#status-424" title="Sample Failed Dependency">Sample 424 Failed Dependency</a> <br />(WebDAV) (RFC 4918 ) - The request failed due to failure of a previous request (e.g. a PROPPATCH).</dd>
    <dt><a id="code-425" title="Unordered Collection">425 Unordered Collection</a> </dt>
    <dd><a title="ErrorDocument 425" href="/e/425/">ErrorDocument Unordered Collection</a>  |  <a href="#status-425" title="Sample Unordered Collection">Sample 425 Unordered Collection</a> <br />Defined in drafts of WebDav Advanced Collections, but not present in "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections   Protocol" (RFC 3648).</dd>
    <dt><a id="code-426" title="Upgrade Required">426 Upgrade Required</a> </dt>
    <dd><a title="ErrorDocument 426" href="/e/426/">ErrorDocument Upgrade Required</a>  |  <a href="#status-426" title="Sample Upgrade Required">Sample 426 Upgrade Required</a> <br />(RFC 2817 ) - The client should switch to TLS/1.0.</dd>
    <dt><a id="code-449" title="Retry With">449 Retry With</a> </dt>
    <dd><a title="ErrorDocument 449" href="/e/449/">ErrorDocument Retry With</a>  |  <a href="#status-449" title="Sample Retry With">Sample 449 Retry With</a> <br />A Microsoft extension. The request should be retried after doing the appropriate action.</dd>
    <dt><a id="code-500" title="Internal Server Error">500 Internal Server Error</a> </dt>
    <dd><a title="ErrorDocument 500" href="/e/500/">ErrorDocument Internal Server Error</a>  |  <a href="#status-500" title="Sample Internal Server Error">Sample 500 Internal Server Error</a> <br />A generic error message, given when no more specific message is suitable.</dd>
    <dt><a id="code-501" title="Not Implemented">501 Not Implemented</a> </dt>
    <dd><a title="ErrorDocument 501" href="/e/501/">ErrorDocument Not Implemented</a>  |  <a href="#status-501" title="Sample Not Implemented">Sample 501 Not Implemented</a> <br />The server either does not recognise the request method, or it lacks the ability to fulfil the request.</dd>
    <dt><a id="code-502" title="Bad Gateway">502 Bad Gateway</a> </dt>
    <dd><a title="ErrorDocument 502" href="/e/502/">ErrorDocument Bad Gateway</a>  |  <a href="#status-502" title="Sample Bad Gateway">Sample 502 Bad Gateway</a> <br />The server was acting as a gateway or proxy and received an invalid response from the upstream server.</dd>
    <dt><a id="code-503" title="Service Unavailable">503 Service Unavailable</a> </dt>
    <dd><a title="ErrorDocument 503" href="/e/503/">ErrorDocument Service Unavailable</a>  |  <a href="#status-503" title="Sample Service Unavailable">Sample 503 Service Unavailable</a> <br />The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.</dd>
    <dt><a id="code-504" title="Gateway Timeout">504 Gateway Timeout</a> </dt>
    <dd><a title="ErrorDocument 504" href="/e/504/">ErrorDocument Gateway Timeout</a>  |  <a href="#status-504" title="Sample Gateway Timeout">Sample 504 Gateway Timeout</a> <br />The server was acting as a gateway or proxy and did not receive a timely request from the upstream server.</dd>
    <dt><a id="code-505" title="HTTP Version Not Supported">505 HTTP Version Not Supported</a> </dt>
    <dd><a title="ErrorDocument 505" href="/e/505/">ErrorDocument HTTP Version Not Supported</a>  |  <a href="#status-505" title="Sample HTTP Version Not Supported">Sample 505 HTTP Version Not Supported</a> <br />The server does not support the HTTP protocol version used in the request.</dd>
    <dt><a id="code-506" title="Variant Also Negotiates">506 Variant Also Negotiates</a> </dt>
    <dd><a title="ErrorDocument 506" href="/e/506/">ErrorDocument Variant Also Negotiates</a>  |  <a href="#status-506" title="Sample Variant Also Negotiates">Sample 506 Variant Also Negotiates</a> <br />(RFC 2295 ) - Transparent content negotiation for the request, results in a circular reference.</dd>
    <dt><a id="code-507" title="Insufficient Storage">507 Insufficient Storage</a> </dt>
    <dd><a title="ErrorDocument 507" href="/e/507/">ErrorDocument Insufficient Storage</a>  |  <a href="#status-507" title="Sample Insufficient Storage">Sample 507 Insufficient Storage</a> <br />(WebDAV) (RFC 4918 )</dd>
    <dt><a id="code-509" title="Bandwidth Limit Exceeded">509 Bandwidth Limit Exceeded</a> </dt>
    <dd><a title="ErrorDocument 509" href="/e/509/">ErrorDocument Bandwidth Limit Exceeded</a>  |  <a href="#status-509" title="Sample Bandwidth Limit Exceeded">Sample 509 Bandwidth Limit Exceeded</a> <br />(Apache bw/limited extension) - This status code, while used by many servers, is not specified in any RFCs.</dd>
    <dt><a id="code-510" title="Not Extended">510 Not Extended</a> </dt>
    <dd><a title="ErrorDocument 510" href="/e/510/">ErrorDocument Not Extended</a>  |  <a href="#status-510" title="Sample Not Extended">Sample 510 Not Extended</a> <br />(RFC 2774 ) - Further extensions to the request are required for the server to fulfil it.</dd>
</dl>


<h3>1xx Info / Informational</h3>
<p><code>HTTP_INFO</code> - <strong>Request received, continuing process</strong>. Indicates a provisional response, consisting only of the Status-Line and optional headers, and is terminated by an empty line.</p>
<ul>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#status-100" title="Continue">100</a>  <a title="ErrorDocument 100" href="/e/100/">Continue</a>  - <code>HTTP_CONTINUE</code></li>
    <li> <a href="#status-101" title="Switching Protocols">101</a>  <a title="ErrorDocument 101" href="/e/101/">Switching Protocols</a>  - <code>HTTP_SWITCHING_PROTOCOLS</code></li>
    <li> <a href="#status-102" title="Processing">102</a>  <a title="ErrorDocument 102" href="/e/102/">Processing</a>  - <code>HTTP_PROCESSING</code></li>
</ul>


<h3>2xx Success / OK</h3>
<p><code>HTTP_SUCCESS</code> - <strong>The action was successfully received, understood, and accepted</strong>.  Indicates that the client's request was successfully received, understood, and accepted.</p>
<ul>
    <li> <a href="#status-200" title="OK">200</a>  <a title="ErrorDocument 200" href="/e/200/">OK</a>  - <code>HTTP_OK</code></li>
    <li> <a href="#status-201" title="Created">201</a>  <a title="ErrorDocument 201" href="/e/201/">Created</a>  - <code>HTTP_CREATED</code></li>
    <li> <a href="#status-202" title="Accepted">202</a>  <a title="ErrorDocument 202" href="/e/202/">Accepted</a>  - <code>HTTP_ACCEPTED</code></li>
    <li> <a href="#status-203" title="Non-Authoritative Information">203</a>  <a title="ErrorDocument 203" href="/e/203/">Non-Authoritative Information</a>  - <code>HTTP_NON_AUTHORITATIVE</code></li>
    <li> <a href="#status-204" title="No Content">204</a>  <a title="ErrorDocument 204" href="/e/204/">No Content</a>  - <code>HTTP_NO_CONTENT</code></li>
    <li> <a href="#status-205" title="Reset Content">205</a>  <a title="ErrorDocument 205" href="/e/205/">Reset Content</a>  - <code>HTTP_RESET_CONTENT</code></li>
    <li> <a href="#status-206" title="Partial Content">206</a>  <a title="ErrorDocument 206" href="/e/206/">Partial Content</a>  - <code>HTTP_PARTIAL_CONTENT</code></li>
    <li> <a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html#status-207" title="Multi-Status">207</a>  <a title="ErrorDocument 207" href="/e/207/">Multi-Status</a>  - <code>HTTP_MULTI_STATUS</code></li>
</ul>


<h3>3xx Redirect</h3>
<p><code>HTTP_REDIRECT</code> - <strong>The client must take additional action to complete the request</strong>.  Indicates that further action needs to be taken by the user-agent in order to fulfill the request. The action required may be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A user agent should not automatically <em>redirect a request more than 5 times</em>, since such redirections usually indicate an <strong>infinite loop</strong>.</p>
<ul>
    <li> <a href="#status-300" title="Multiple Choices">300</a>  <a title="ErrorDocument 300" href="/e/300/">Multiple Choices</a>  - <code>HTTP_MULTIPLE_CHOICES</code></li>
    <li> <a href="#status-301" title="Moved Permanently">301</a>  <a title="ErrorDocument 301" href="/e/301/">Moved Permanently</a>  - <code>HTTP_MOVED_PERMANENTLY</code></li>
    <li> <a href="#status-302" title="Found">302</a>  <a title="ErrorDocument 302" href="/e/302/">Found</a>  - <code>HTTP_MOVED_TEMPORARILY</code></li>
    <li> <a href="#status-303" title="See Other">303</a>  <a title="ErrorDocument 303" href="/e/303/">See Other</a>  - <code>HTTP_SEE_OTHER</code></li>
    <li> <a href="#status-304" title="Not Modified">304</a>  <a title="ErrorDocument 304" href="/e/304/">Not Modified</a>  - <code>HTTP_NOT_MODIFIED</code></li>
    <li> <a href="#status-305" title="Use Proxy">305</a>  <a title="ErrorDocument 305" href="/e/305/">Use Proxy</a>  - <code>HTTP_USE_PROXY</code></li>
    <li> <a href="#status-306" title="unused">306</a>  <a title="ErrorDocument 306" href="/e/306/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-307" title="Temporary Redirect">307</a>  <a title="ErrorDocument 307" href="/e/307/">Temporary Redirect</a>  - <code>HTTP_TEMPORARY_REDIRECT</code></li>
</ul>


<h3>4xx Client Error</h3>
<p><code>HTTP_CLIENT_ERROR</code> - <strong>The request contains bad syntax or cannot be fulfilled</strong>.  Indicates case where client seems to have erred. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition.</p>
<ul>
    <li> <a href="#status-400" title="Bad Request">400</a>  <a title="ErrorDocument 400" href="/e/400/">Bad Request</a>  - <code>HTTP_BAD_REQUEST</code></li>
    <li> <a href="#status-401" title="Authorization Required">401</a>  <a title="ErrorDocument 401" href="/e/401/">Authorization Required</a>  - <code>HTTP_UNAUTHORIZED</code></li>
    <li> <a href="#status-402" title="Payment Required">402</a>  <a title="ErrorDocument 402" href="/e/402/">Payment Required</a>  - <code>HTTP_PAYMENT_REQUIRED</code></li>
    <li> <a href="#status-403" title="Forbidden">403</a>  <a title="ErrorDocument 403" href="/e/403/">Forbidden</a>  - <code>HTTP_FORBIDDEN</code></li>
    <li> <a href="#status-404" title="Not Found">404</a>  <a title="ErrorDocument 404" href="/e/404/">Not Found</a>  - <code>HTTP_NOT_FOUND</code></li>
    <li> <a href="#status-405" title="Method Not Allowed">405</a>  <a title="ErrorDocument 405" href="/e/405/">Method Not Allowed</a>  - <code>HTTP_METHOD_NOT_ALLOWED</code></li>
    <li> <a href="#status-406" title="Not Acceptable">406</a>  <a title="ErrorDocument 406" href="/e/406/">Not Acceptable</a>  - <code>HTTP_NOT_ACCEPTABLE</code></li>
    <li> <a href="#status-407" title="Proxy Authentication Required">407</a>  <a title="ErrorDocument 407" href="/e/407/">Proxy Authentication Required</a>  - <code>HTTP_PROXY_AUTHENTICATION_REQUIRED</code></li>
    <li> <a href="#status-408" title="Request Time-out">408</a>  <a title="ErrorDocument 408" href="/e/408/">Request Time-out</a>  - <code>HTTP_REQUEST_TIME_OUT</code></li>
    <li> <a href="#status-409" title="Conflict">409</a>  <a title="ErrorDocument 409" href="/e/409/">Conflict</a>  - <code>HTTP_CONFLICT</code></li>
    <li> <a href="#status-410" title="Gone">410</a>  <a title="ErrorDocument 410" href="/e/410/">Gone</a>  - <code>HTTP_GONE</code></li>
    <li> <a href="#status-411" title="Length Required">411</a>  <a title="ErrorDocument 411" href="/e/411/">Length Required</a>  - <code>HTTP_LENGTH_REQUIRED</code></li>
    <li> <a href="#status-412" title="Precondition Failed">412</a>  <a title="ErrorDocument 412" href="/e/412/">Precondition Failed</a>  - <code>HTTP_PRECONDITION_FAILED</code></li>
    <li> <a href="#status-413" title="Request Entity Too Large">413</a>  <a title="ErrorDocument 413" href="/e/413/">Request Entity Too Large</a>  - <code>HTTP_REQUEST_ENTITY_TOO_LARGE</code></li>
    <li> <a href="#status-414" title="Request-URI Too Large">414</a>  <a title="ErrorDocument 414" href="/e/414/">Request-URI Too Large</a>  - <code>HTTP_REQUEST_URI_TOO_LARGE</code></li>
    <li> <a href="#status-415" title="Unsupported Media Type">415</a>  <a title="ErrorDocument 415" href="/e/415/">Unsupported Media Type</a>  - <code>HTTP_UNSUPPORTED_MEDIA_TYPE</code></li>
    <li> <a href="#status-416" title="Requested Range Not Satisfiable">416</a>  <a title="ErrorDocument 416" href="/e/416/">Requested Range Not Satisfiable</a>  - <code>HTTP_RANGE_NOT_SATISFIABLE</code></li>
    <li> <a href="#status-417" title="Expectation Failed">417</a>  <a title="ErrorDocument 417" href="/e/417/">Expectation Failed</a>  - <code>HTTP_EXPECTATION_FAILED</code></li>
    <li> <a href="#status-418" title="Im a teapot">418</a>  <a title="ErrorDocument 418" href="/e/418/">I'm a teapot</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-419" title="unused">419</a>  <a title="ErrorDocument 419" href="/e/419/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-420" title="unused">420</a>  <a title="ErrorDocument 420" href="/e/420/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-421" title="unused">421</a>  <a title="ErrorDocument 421" href="/e/421/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-422" title="Unprocessable Entity">422</a>  <a title="ErrorDocument 422" href="/e/422/">Unprocessable Entity</a>  - <code>HTTP_UNPROCESSABLE_ENTITY</code></li>
    <li> <a href="#status-423" title="Locked">423</a>  <a title="ErrorDocument 423" href="/e/423/">Locked</a>  - <code>HTTP_LOCKED</code></li>
    <li> <a href="#status-424" title="Failed Dependency">424</a>  <a title="ErrorDocument 424" href="/e/424/">Failed Dependency</a>  - <code>HTTP_FAILED_DEPENDENCY</code></li>
    <li> <a href="#status-425" title="No code">425</a>  <a title="ErrorDocument 425" href="/e/425/">No code</a>  - <code>HTTP_NO_CODE</code></li>
    <li> <a href="#status-426" title="Upgrade Required">426</a>  <a title="ErrorDocument 426" href="/e/426/">Upgrade Required</a>  - <code>HTTP_UPGRADE_REQUIRED</code></li>
</ul>


<h3>5xx Server Error</h3>
<p><code>HTTP_SERVER_ERROR</code> - <strong>The server failed to fulfill an apparently valid request</strong>.  Indicate cases in which the server is aware that it has erred or is incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. User agents should display any included entity to the user. These response codes are applicable to any request method.</p>
<ul>
    <li> <a href="#status-500" title="Internal Server Error">500</a>  <a title="ErrorDocument 500" href="/e/500/">Internal Server Error</a>  - <code>HTTP_INTERNAL_SERVER_ERROR</code></li>
    <li> <a href="#status-501" title="Method Not Implemented">501</a>  <a title="ErrorDocument 501" href="/e/501/">Method Not Implemented</a>  - <code>HTTP_NOT_IMPLEMENTED</code></li>
    <li> <a href="#status-502" title="Bad Gateway">502</a>  <a title="ErrorDocument 502" href="/e/502/">Bad Gateway</a>  - <code>HTTP_BAD_GATEWAY</code></li>
    <li> <a href="#status-503" title="Service Temporarily Unavailable">503</a>  <a title="ErrorDocument 503" href="/e/503/">Service Temporarily Unavailable</a>  - <code>HTTP_SERVICE_UNAVAILABLE</code></li>
    <li> <a href="#status-504" title="Gateway Time-out">504</a>  <a title="ErrorDocument 504" href="/e/504/">Gateway Time-out</a>  - <code>HTTP_GATEWAY_TIME_OUT</code></li>
    <li> <a href="#status-505" title="HTTP Version Not Supported">505</a>  <a title="ErrorDocument 505" href="/e/505/">HTTP Version Not Supported</a>  - <code>HTTP_VERSION_NOT_SUPPORTED</code></li>
    <li> <a href="#status-506" title="Variant Also Negotiates">506</a>  <a title="ErrorDocument 506" href="/e/506/">Variant Also Negotiates</a>  - <code>HTTP_VARIANT_ALSO_VARIES</code></li>
    <li> <a href="#status-507" title="Insufficient Storage">507</a>  <a title="ErrorDocument 507" href="/e/507/">Insufficient Storage</a>  - <code>HTTP_INSUFFICIENT_STORAGE</code></li>
    <li> <a href="#status-508" title="unused">508</a>  <a title="ErrorDocument 508" href="/e/508/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-509" title="unused">509</a>  <a title="ErrorDocument 509" href="/e/509/">unused</a>  - <code>UNUSED</code></li>
    <li> <a href="#status-510" title="Not Extended">510</a>  <a title="ErrorDocument 510" href="/e/510/">Not Extended</a>  - <code>HTTP_NOT_EXTENDED</code></li>
</ul>


<hr />


<h2> <a href="#quick-start" name="quick-start" id="quick-start">Quick Start to triggering ErrorDocuments for each Status Code</a> </h2>
<p>Let start with a quick and easy example.  Add the following Redirect rules to your htaccess file, then open your browser and goto each url like <code>yoursite.com/e/400</code>. <em>Don't create an /e/ directory or any files.</em></p>
<pre>Redirect 400 /e/400
Redirect 503 /e/503
Redirect 405 /e/405</pre>
<p> <a href="http://uploads.askapache.com/2007/03/error-400s.png" title="Apache ErrorDocument Results" rel="lb"><img src="http://uploads.askapache.com/2007/03/error-400s.thumbnail.png" alt="Apache ErrorDocument Results" title="error 400s.thumbnail htaccess" /></a> <br /> <a href="http://uploads.askapache.com/2007/03/error-503.png" title="error 503" rel="lb"><img src="http://uploads.askapache.com/2007/03/error-503.thumbnail.png" alt="error 503" title="error 503.thumbnail htaccess" /></a> </p>


<h2> <a href="#automating-the-process" name="automating-the-process" id="automating-the-process">Automate the ErrorDocument Triggering</a> </h2>


<h3> <a href="#redirect-code-in-htaccess" name="redirect-code-in-htaccess" id="redirect-code-in-htaccess">The htaccess Redirects</a> </h3>
<p>When a Status code is encountered, Apache outputs the Header and the ErrorDocument for that error code.  So you can view any Header and the default ErrorDocument, by causing that numerical error code, which is caused by the Status Code.</p>
<p>For instance, if you request a file that doesn't exist, a <strong>404 Not Found</strong> Header is issued and the corresponding ErrorDocument is served with the <strong>404 Not Found</strong> Header.</p>
<pre>Redirect 100 /e/100
Redirect 101 /e/101
Redirect 102 /e/102
Redirect 200 /e/200
Redirect 201 /e/201
Redirect 202 /e/202
Redirect 203 /e/203
Redirect 204 /e/204
Redirect 205 /e/205
Redirect 206 /e/206
Redirect 207 /e/207
Redirect 300 /e/300 http://www.askapache.com/?s=300
Redirect 301 /e/301 http://www.askapache.com/?s=301
Redirect 302 /e/302 http://www.askapache.com/?s=302
Redirect 303 /e/303 http://www.askapache.com/?s=303
Redirect 304 /e/304 http://www.askapache.com/?s=304
Redirect 305 /e/305 http://www.askapache.com/?s=305
Redirect 306 /e/306 http://www.askapache.com/?s=306
Redirect 307 /e/307 http://www.askapache.com/?s=307
Redirect 400 /e/400
Redirect 401 /e/401
Redirect 402 /e/402
Redirect 403 /e/403
Redirect 404 /e/404
Redirect 405 /e/405
Redirect 406 /e/406
Redirect 407 /e/407
Redirect 408 /e/408
Redirect 409 /e/409
Redirect 410 /e/410
Redirect 411 /e/411
Redirect 412 /e/412
Redirect 413 /e/413
Redirect 414 /e/414
Redirect 415 /e/415
Redirect 416 /e/416
Redirect 417 /e/417
Redirect 418 /e/418
Redirect 419 /e/419
Redirect 420 /e/420
Redirect 421 /e/421
Redirect 422 /e/422
Redirect 423 /e/423
Redirect 424 /e/424
Redirect 425 /e/425
Redirect 426 /e/426
Redirect 500 /e/500
Redirect 501 /e/501
Redirect 502 /e/502
Redirect 503 /e/503
Redirect 504 /e/504
Redirect 505 /e/505
Redirect 506 /e/506
Redirect 507 /e/507
Redirect 508 /e/508
Redirect 509 /e/509
Redirect 510 /e/510</pre>


<h3> <a href="#php-header-grabber-script" name="php-header-grabber-script" id="php-header-grabber-script">PHP script that gets and outputs the Headers/Content</a> </h3>
<p>Now all I have to do is add 57 Redirect Directives to my htaccess, and then request each of them 1 at a time from my browser to see the result, and use a packet sniffing program like  <a href="http://wireshark.askapache.com">WireShark</a>  to see the Headers.  Uh, scratch that, that would take way too long!</p>
<p>Instead I hacked up a simple php script using  <a href="http://www.askapache.com/phpbb/sending-post-form-data-with-php-curl.html">cURL</a>  to automate sending GET Requests to each of the 57 Redirect URL-paths. A side benefit of using the php script is that it performs all 57 Requests concurrently and saves each Requests returned headers and content to an output buffer.  After all 57 have been queried, the output buffer is flushed to the browser.</p>
<pre>&lt;?php
$SITENAME=&#039;http://www.askapache.com&#039;;
&nbsp;
$CODES = array(array(&#039;100&#039;,&#039;101&#039;,&#039;102&#039;),
array(&#039;200&#039;,&#039;201&#039;,&#039;202&#039;,&#039;203&#039;,&#039;204&#039;,&#039;205&#039;,&#039;206&#039;,&#039;207&#039;),
array(&#039;300&#039;,&#039;301&#039;,&#039;302&#039;,&#039;303&#039;,&#039;304&#039;,&#039;305&#039;,&#039;306&#039;,&#039;307&#039;),
array(&#039;400&#039;,&#039;401&#039;,&#039;402&#039;,&#039;403&#039;,&#039;404&#039;,&#039;405&#039;,&#039;406&#039;,&#039;407&#039;,&#039;408&#039;,&#039;409&#039;,&#039;410&#039;,&#039;411&#039;,&#039;412&#039;,&#039;413&#039;,
&#039;414&#039;,&#039;415&#039;,&#039;416&#039;,&#039;417&#039;,&#039;418&#039;,&#039;419&#039;,&#039;420&#039;,&#039;421&#039;,&#039;422&#039;,&#039;423&#039;,&#039;424&#039;,&#039;425&#039;,&#039;426&#039;),
array(&#039;500&#039;,&#039;501&#039;,&#039;502&#039;,&#039;503&#039;,&#039;504&#039;,&#039;505&#039;,&#039;506&#039;,&#039;507&#039;,&#039;508&#039;,&#039;509&#039;,&#039;510&#039;));
&nbsp;
$TMPSAVETO=&#039;/tmp/&#039;.time().&#039;.txt&#039;;
&nbsp;
# if file exists then delete it
if(is_file($TMPSAVETO))unlink($TMPSAVETO);
&nbsp;
foreach($CODES as $keyd =&gt; $res)
{
foreach($res as $key)
{
$ch = curl_init("$SITENAME/e/$key");
$fp = fopen ($TMPSAVETO, "a");
curl_setopt ($ch, CURLOPT_FILE, $fp);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION ,1);
curl_setopt ($ch, CURLOPT_HEADER ,1);
curl_exec ($ch);
curl_close ($ch);
fclose ($fp);
}
}
$OUT=&#039;&#039;;
ob_start();
header ("Content-Type: text/plain;");
readfile($TMPSAVETO);
$OUT=ob_get_clean();
echo $OUT;
unlink($TMPSAVETO);
exit;
?&gt;</pre>


<h2> <a href="#headers-returned-content" id="headers-returned-content">Headers and Content Returned</a> </h2>


<h3> <a href="#status-100" name="status-100" id="status-100">100 Continue</a> </h3>
<pre>HTTP/1.1 100 Continue
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;100 Continue&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Continue&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-101" name="status-101" id="status-101">101 Switching Protocols</a> </h3>
<pre>HTTP/1.1 101 Switching Protocols&lt;html&gt;
&lt;head&gt;
&lt;title&gt;101 Switching Protocols&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Switching Protocols&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-102" name="status-102" id="status-102">102 Processing</a> </h3>
<pre>HTTP/1.1 102 Processing
X-Pad: avoid browser bug&lt;html&gt;
&lt;head&gt;
&lt;title&gt;102 Processing&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Processing&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-200" name="status-200" id="status-200">200 OK</a> </h3>
<pre>HTTP/1.1 200 OK
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;200 OK&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;OK&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-201" name="status-201" id="status-201">201 Created</a> </h3>
<pre>HTTP/1.1 201 Created
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;201 Created&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Created&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-202" name="status-202" id="status-202">202 Accepted</a> </h3>
<pre>HTTP/1.1 202 Accepted
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;202 Accepted&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Accepted&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-203" name="status-203" id="status-203">203 Non-Authoritative Information</a> </h3>
<pre>HTTP/1.1 203 Non-Authoritative Information
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;203 Non-Authoritative Information&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Non-Authoritative Information&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-204" name="status-204" id="status-204">204 No Content</a> </h3>
<pre>HTTP/1.1 204 No Content
Content-Type: text/plain; charset=UTF-8
</pre>


<h3> <a href="#status-205" name="status-205" id="status-205">205 Reset Content</a> </h3>
<pre>HTTP/1.1 205 Reset Content&lt;html&gt;
&lt;head&gt;
&lt;title&gt;205 Reset Content&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Reset Content&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-206" name="status-206" id="status-206">206 Partial Content</a> </h3>
<pre>HTTP/1.1 206 Partial Content&lt;html&gt;
&lt;head&gt;
&lt;title&gt;206 Partial Content&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Partial Content&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-207" name="status-207" id="status-207">207 Multi-Status</a> </h3>
<pre>HTTP/1.1 207 Multi-Status
X-Pad: avoid browser bug&lt;html&gt;
&lt;head&gt;
&lt;title&gt;207 Multi-Status&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Multi-Status&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-300" name="status-300" id="status-300">300 Multiple Choices</a> </h3>
<pre>HTTP/1.1 300 Multiple Choices
Location: http://www.askapache.com/?s=300&lt;html&gt;
&lt;head&gt;
&lt;title&gt;300 Multiple Choices&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Multiple Choices&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-301" name="status-301" id="status-301">301 Moved Permanently</a> </h3>
<pre>HTTP/1.1 301 Moved Permanently
Location: http://www.askapache.com/?s=301&lt;html&gt;
&lt;head&gt;
&lt;title&gt;301 Moved Permanently&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Moved Permanently&lt;/h1&gt;
&lt;p&gt;The document has moved  &lt;a href="http://www.askapache.com/?s=301"&gt;here&lt;/a&gt; .&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-302" name="status-302" id="status-302">302 Found</a> </h3>
<pre>HTTP/1.1 302 Found
Location: http://www.askapache.com/?s=302&lt;html&gt;
&lt;head&gt;
&lt;title&gt;302 Found&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Found&lt;/h1&gt;
&lt;p&gt;The document has moved  &lt;a href="http://www.askapache.com/?s=302"&gt;here&lt;/a&gt; .&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-303" name="status-303" id="status-303">303 See Other</a> </h3>
<pre>HTTP/1.1 303 See Other
Location: http://www.askapache.com/?s=303&lt;html&gt;
&lt;head&gt;
&lt;title&gt;303 See Other&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;See Other&lt;/h1&gt;
&lt;p&gt;The answer to your request is located  &lt;a href="http://www.askapache.com/?s=303"&gt;here&lt;/a&gt; .&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-304" name="status-304" id="status-304">304 Not Modified</a> </h3>
<pre>HTTP/1.1 304 Not Modified</pre>


<h3> <a href="#status-305" name="status-305" id="status-305">305 Use Proxy</a> </h3>
<pre>HTTP/1.1 305 Use Proxy
Location: http://www.askapache.com/?s=305&lt;html&gt;
&lt;head&gt;
&lt;title&gt;305 Use Proxy&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Use Proxy&lt;/h1&gt;
&lt;p&gt;This resource is only accessible through the proxy
    http://www.askapache.com/?s=305&lt;br /&gt;You will need to configure your client to use that proxy.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-306" name="status-306" id="status-306">306 unused</a> </h3>
<pre>HTTP/1.1 306 unused
Location: http://www.askapache.com/?s=306&lt;html&gt;
&lt;head&gt;
&lt;title&gt;306 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-307" name="status-307" id="status-307">307 Temporary Redirect</a> </h3>
<pre>HTTP/1.1 307 Temporary Redirect
Location: http://www.askapache.com/?s=307&lt;html&gt;
&lt;head&gt;
&lt;title&gt;307 Temporary Redirect&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Temporary Redirect&lt;/h1&gt;
&lt;p&gt;The document has moved  &lt;a href="http://www.askapache.com/?s=307"&gt;here&lt;/a&gt; .&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-400" name="status-400" id="status-400">400 Bad Request</a> </h3>
<pre>HTTP/1.1 400 Bad Request
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;400 Bad Request&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Bad Request&lt;/h1&gt;
&lt;p&gt;Your browser sent a request that this server could not understand.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-401" name="status-401" id="status-401">401 Authorization Required</a> </h3>
<pre>HTTP/1.1 401 Authorization Required&lt;html&gt;
&lt;head&gt;
&lt;title&gt;401 Authorization Required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Authorization Required&lt;/h1&gt;
&lt;p&gt;This server could not verify that you
    are authorized to access the document
    requested.  Either you supplied the wrong
    credentials (e.g., bad password), or your
    browser doesn&#039;t understand how to supply
    the credentials required.&lt;/p&gt;
&lt;p&gt;Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-402" name="status-402" id="status-402">402 Payment Required</a> </h3>
<pre>HTTP/1.1 402 Payment Required&lt;html&gt;
&lt;head&gt;
&lt;title&gt;402 Payment Required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Payment Required&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-403" name="status-403" id="status-403">403 Forbidden</a> </h3>
<pre>HTTP/1.1 403 Forbidden&lt;html&gt;
&lt;head&gt;
&lt;title&gt;403 Forbidden&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Forbidden&lt;/h1&gt;
&lt;p&gt;You don&#039;t have permission to access /e/403
    on this server.&lt;/p&gt;
&lt;p&gt;Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-404" name="status-404" id="status-404">404 Not Found</a> </h3>
<pre>HTTP/1.1 404 Not Found&lt;html&gt;
&lt;head&gt;
&lt;title&gt;404 Not Found&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Not Found&lt;/h1&gt;
&lt;p&gt;The requested URL /e/404 was not found on this server.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p class="anote"><span>NOTE:</span><br />You will most definately want to check out and use the <a href="http://www.askapache.com/seo/404-google-wordpress-plugin.html" title="404 Error Page WordPress Plugin">Google 404 Error Page</a> if you run WordPress.</p>


<h3> <a href="#status-405" name="status-405" id="status-405">405 Method Not Allowed</a> </h3>
<pre>HTTP/1.1 405 Method Not Allowed
Allow: TRACE
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;405 Method Not Allowed&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Method Not Allowed&lt;/h1&gt;
&lt;p&gt;The requested method GET is not allowed for the URL /e/405.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-406" name="status-406" id="status-406">406 Not Acceptable</a> </h3>
<pre>HTTP/1.1 406 Not Acceptable
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;406 Not Acceptable&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Not Acceptable&lt;/h1&gt;
&lt;p&gt;An appropriate representation of the requested resource /e/406 could not be found on this server.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-407" name="status-407" id="status-407">407 Proxy Authentication Required</a> </h3>
<pre>HTTP/1.1 407 Proxy Authentication Required&lt;html&gt;
&lt;head&gt;
&lt;title&gt;407 Proxy Authentication Required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Proxy Authentication Required&lt;/h1&gt;
&lt;p&gt;This server could not verify that you
    are authorized to access the document
    requested.  Either you supplied the wrong
    credentials (e.g., bad password), or your
    browser doesn&#039;t understand how to supply
    the credentials required.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-408" name="status-408" id="status-408">408 Request Time-out</a> </h3>
<pre>HTTP/1.1 408 Request Time-out
Connection: close
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;408 Request Time-out&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Request Time-out&lt;/h1&gt;
&lt;p&gt;Server timeout waiting for the HTTP request from the client.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-409" name="status-409" id="status-409">409 Conflict</a> </h3>
<pre>HTTP/1.1 409 Conflict
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;409 Conflict&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Conflict&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-410" name="status-410" id="status-410">410 Gone</a> </h3>
<pre>HTTP/1.1 410 Gone
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;410 Gone&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Gone&lt;/h1&gt;
&lt;p&gt;The requested resource&lt;br /&gt;/e/410&lt;br /&gt;is no longer available on this server and there is no forwarding address.
    Please remove all references to this resource.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-411" name="status-411" id="status-411">411 Length Required</a> </h3>
<pre>HTTP/1.1 411 Length Required
Connection: close
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;411 Length Required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Length Required&lt;/h1&gt;
&lt;p&gt;A request of the requested method GET requires a valid Content-length.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-412" name="status-412" id="status-412">412 Precondition Failed</a> </h3>
<pre>HTTP/1.1 412 Precondition Failed
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;412 Precondition Failed&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Precondition Failed&lt;/h1&gt;
&lt;p&gt;The precondition on the request for the URL /e/412 evaluated to false.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-413" name="status-413" id="status-413">413 Request Entity Too Large</a> </h3>
<pre>HTTP/1.1 413 Request Entity Too Large
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;413 Request Entity Too Large&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Request Entity Too Large&lt;/h1&gt;
The requested resource&lt;br /&gt;/e/413&lt;br /&gt;does not allow request data with GET requests, or the amount of data provided in
the request exceeds the capacity limit.
&lt;/body&gt;
&lt;/html&gt;</pre>

<h3> <a href="#status-414" name="status-414" id="status-414">414 Request-URI Too Large</a> </h3>
<pre>HTTP/1.1 414 Request-URI Too Large
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;414 Request-URI Too Large&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Request-URI Too Large&lt;/h1&gt;
&lt;p&gt;The requested URL&#039;s length exceeds the capacity
    limit for this server.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-415" name="status-415" id="status-415">415 Unsupported Media Type</a> </h3>
<pre>HTTP/1.1 415 Unsupported Media Type&lt;html&gt;
&lt;head&gt;
&lt;title&gt;415 Unsupported Media Type&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Unsupported Media Type&lt;/h1&gt;
&lt;p&gt;The supplied request data is not in a format
    acceptable for processing by this resource.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-416" name="status-416" id="status-416">416 Requested Range Not Satisfiable</a> </h3>
<pre>HTTP/1.1 416 Requested Range Not Satisfiable</pre>


<h3> <a href="#status-417" name="status-417" id="status-417">417 Expectation Failed</a> </h3>
<pre>HTTP/1.1 417 Expectation Failed&lt;html&gt;
&lt;head&gt;
&lt;title&gt;417 Expectation Failed&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Expectation Failed&lt;/h1&gt;
&lt;p&gt;The expectation given in the Expect request-header
    field could not be met by this server.&lt;/p&gt;
&lt;p&gt;The client sent&lt;pre&gt;
    Expect: &lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-418" name="status-418" id="status-418">418 I'm a teapot</a> </h3>
<pre>HTTP/1.1 418 I&#039;m a teapot&lt;html&gt;
&lt;head&gt;
&lt;title&gt;418 I&#039;m a teapot&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;I&#039;m a teapot&lt;/h1&gt;
&lt;p&gt;Unfortunately this coffee machine is out of coffee.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-419" name="status-419" id="status-419">419 unused</a> </h3>
<pre>HTTP/1.1 419 unused&lt;html&gt;
&lt;head&gt;
&lt;title&gt;419 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-420" name="status-420" id="status-420">420 unused</a> </h3>
<pre>HTTP/1.1 420 unused&lt;html&gt;
&lt;head&gt;
&lt;title&gt;420 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-421" name="status-421" id="status-421">421 unused</a> </h3>
<pre>HTTP/1.1 421 unused&lt;html&gt;
&lt;head&gt;
&lt;title&gt;421 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-422" name="status-422" id="status-422">422 Unprocessable Entity</a> </h3>
<pre>HTTP/1.1 422 Unprocessable Entity&lt;html&gt;
&lt;head&gt;
&lt;title&gt;422 Unprocessable Entity&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Unprocessable Entity&lt;/h1&gt;
&lt;p&gt;The server understands the media type of the
    request entity, but was unable to process the
    contained instructions.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-423" name="status-423" id="status-423">423 Locked</a> </h3>
<pre>HTTP/1.1 423 Locked&lt;html&gt;
&lt;head&gt;
&lt;title&gt;423 Locked&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Locked&lt;/h1&gt;
&lt;p&gt;The requested resource is currently locked.
    The lock must be released or proper identification
    given before the method can be applied.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-424" name="status-424" id="status-424">424 Failed Dependency</a> </h3>
<pre>HTTP/1.1 424 Failed Dependency&lt;html&gt;
&lt;head&gt;
&lt;title&gt;424 Failed Dependency&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Failed Dependency&lt;/h1&gt;
&lt;p&gt;The method could not be performed on the resource
    because the requested action depended on another
    action and that other action failed.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-425" name="status-425" id="status-425">425 No code</a> </h3>
<pre>HTTP/1.1 425 No code&lt;html&gt;
&lt;head&gt;
&lt;title&gt;425 No code&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;No code&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-426" name="status-426" id="status-426">426 Upgrade Required</a> </h3>
<pre>HTTP/1.1 426 Upgrade Required&lt;html&gt;
&lt;head&gt;
&lt;title&gt;426 Upgrade Required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Upgrade Required&lt;/h1&gt;
&lt;p&gt;The requested resource can only be retrieved
    using SSL.  The server is willing to upgrade the current
    connection to SSL, but your client doesn&#039;t support it.
    Either upgrade your client, or try requesting the page
    using https:// &lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-500" name="status-500" id="status-500">500 Internal Server Error</a> </h3>
<pre>HTTP/1.1 500 Internal Server Error
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;500 Internal Server Error&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Internal Server Error&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;p&gt;Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-501" name="status-501" id="status-501">501 Method Not Implemented</a> </h3>
<pre>HTTP/1.1 501 Method Not Implemented
Allow: TRACE
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;501 Method Not Implemented&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Method Not Implemented&lt;/h1&gt;
&lt;p&gt;GET to /e/501 not supported.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-502" name="status-502" id="status-502">502 Bad Gateway</a> </h3>
<pre>HTTP/1.1 502 Bad Gateway
X-Pad: avoid browser bug&lt;html&gt;
&lt;head&gt;
&lt;title&gt;502 Bad Gateway&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Bad Gateway&lt;/h1&gt;
&lt;p&gt;The proxy server received an invalid
    response from an upstream server.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-503" name="status-503" id="status-503">503 Service Temporarily Unavailable</a> </h3>
<pre>HTTP/1.1 503 Service Temporarily Unavailable
Connection: close&lt;html&gt;
&lt;head&gt;
&lt;title&gt;503 Service Temporarily Unavailable&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Service Temporarily Unavailable&lt;/h1&gt;
&lt;p&gt;The server is temporarily unable to service your
    request due to maintenance downtime or capacity
    problems. Please try again later.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-504" name="status-504" id="status-504">504 Gateway Time-out</a> </h3>
<pre>HTTP/1.1 504 Gateway Time-out&lt;html&gt;
&lt;head&gt;
&lt;title&gt;504 Gateway Time-out&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Gateway Time-out&lt;/h1&gt;
&lt;p&gt;The proxy server did not receive a timely response
    from the upstream server.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-505" name="status-505" id="status-505">505 HTTP Version Not Supported</a> </h3>
<pre>HTTP/1.1 505 HTTP Version Not Supported&lt;html&gt;
&lt;head&gt;
&lt;title&gt;505 HTTP Version Not Supported&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;HTTP Version Not Supported&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-506" name="status-506" id="status-506">506 Variant Also Negotiates</a> </h3>
<pre>HTTP/1.1 506 Variant Also Negotiates&lt;html&gt;
&lt;head&gt;
&lt;title&gt;506 Variant Also Negotiates&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Variant Also Negotiates&lt;/h1&gt;
&lt;p&gt;A variant for the requested resource
    &lt;pre&gt;
    /e/506
    &lt;/pre&gt;
    is itself a negotiable resource. This indicates a configuration error.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-507" name="status-507" id="status-507">507 Insufficient Storage</a> </h3>
<pre>HTTP/1.1 507 Insufficient Storage&lt;html&gt;
&lt;head&gt;
&lt;title&gt;507 Insufficient Storage&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Insufficient Storage&lt;/h1&gt;
&lt;p&gt;The method could not be performed on the resource
    because the server is unable to store the
    representation needed to successfully complete the
    request.  There is insufficient free space left in
    your storage allocation.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-508" name="status-508" id="status-508">508 unused</a> </h3>
<pre>HTTP/1.1 508 unused&lt;html&gt;
&lt;head&gt;
&lt;title&gt;508 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-509" name="status-509" id="status-509">509 unused</a> </h3>
<pre>HTTP/1.1 509 unused
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;509 unused&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;unused&lt;/h1&gt;
&lt;p&gt;The server encountered an internal error or misconfigurationand was unable to complete your request.&lt;/p&gt;
&lt;p&gt;Please contact the server administrator, a@s.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt;
&lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h3> <a href="#status-510" name="status-510" id="status-510">510 Not Extended</a> </h3>
<pre>HTTP/1.1 510 Not Extended
X-Pad: avoid browser bug
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;510 Not Extended&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Not Extended&lt;/h1&gt;
&lt;p&gt;A mandatory extension policy in the request is not
    accepted by the server for this resource.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>


<h2> <a href="#apache-source-code" name="apache-source-code" id="apache-source-code">Apache Source Code</a> </h2>


<h3> <a href="#httpdh-h" name="httpdh-h" id="httpdh-h">httpd.h</a> </h3>
<p>From <a href="http://uploads.askapache.com/2007/02/httpd.h" title="httpd.h Apache">httpd.h</a> </p>
<pre>/**
* The size of the static array in http_protocol.c for storing
* all of the potential response status-lines (a sparse table).
* A future version should dynamically generate the apr_table_t at startup.
*/
#define RESPONSE_CODES 57
#define HTTP_CONTINUE            100
#define HTTP_SWITCHING_PROTOCOLS       101
#define HTTP_PROCESSING          102
#define HTTP_OK              200
#define HTTP_CREATED             201
#define HTTP_ACCEPTED            202
#define HTTP_NON_AUTHORITATIVE       203
#define HTTP_NO_CONTENT          204
#define HTTP_RESET_CONTENT         205
#define HTTP_PARTIAL_CONTENT         206
#define HTTP_MULTI_STATUS          207
#define HTTP_MULTIPLE_CHOICES        300
#define HTTP_MOVED_PERMANENTLY       301
&nbsp;
#define HTTP_MOVED_TEMPORARILY       302
#define HTTP_SEE_OTHER           303
#define HTTP_NOT_MODIFIED          304
#define HTTP_USE_PROXY           305
#define HTTP_TEMPORARY_REDIRECT      307
#define HTTP_BAD_REQUEST           400
#define HTTP_UNAUTHORIZED          401
#define HTTP_PAYMENT_REQUIRED        402
#define HTTP_FORBIDDEN           403
#define HTTP_NOT_FOUND           404
#define HTTP_METHOD_NOT_ALLOWED      405
#define HTTP_NOT_ACCEPTABLE        406
#define HTTP_PROXY_AUTHENTICATION_REQUIRED 407
#define HTTP_REQUEST_TIME_OUT        408
#define HTTP_CONFLICT            409
#define HTTP_GONE              410
#define HTTP_LENGTH_REQUIRED         411
#define HTTP_PRECONDITION_FAILED       412
#define HTTP_REQUEST_ENTITY_TOO_LARGE    413
#define HTTP_REQUEST_URI_TOO_LARGE     414
#define HTTP_UNSUPPORTED_MEDIA_TYPE    415
#define HTTP_RANGE_NOT_SATISFIABLE     416
#define HTTP_EXPECTATION_FAILED      417
#define HTTP_UNPROCESSABLE_ENTITY      422
#define HTTP_LOCKED            423
#define HTTP_FAILED_DEPENDENCY       424
#define HTTP_UPGRADE_REQUIRED        426
#define HTTP_INTERNAL_SERVER_ERROR     500
#define HTTP_NOT_IMPLEMENTED         501
#define HTTP_BAD_GATEWAY           502
#define HTTP_SERVICE_UNAVAILABLE       503
#define HTTP_GATEWAY_TIME_OUT        504
#define HTTP_VERSION_NOT_SUPPORTED     505
#define HTTP_VARIANT_ALSO_VARIES       506
#define HTTP_INSUFFICIENT_STORAGE      507
#define HTTP_NOT_EXTENDED          510
&nbsp;
/** is the status code informational */
#define ap_is_HTTP_INFO(x)     (((x) &gt;= 100)&amp;&amp;((x) &lt; 200))
/** is the status code OK ?*/
#define ap_is_HTTP_SUCCESS(x)    (((x) &gt;= 200)&amp;&amp;((x) &lt; 300))
/** is the status code a redirect */
#define ap_is_HTTP_REDIRECT(x)   (((x) &gt;= 300)&amp;&amp;((x) &lt; 400))
/** is the status code a error (client or server) */
#define ap_is_HTTP_ERROR(x)    (((x) &gt;= 400)&amp;&amp;((x) &lt; 600))
/** is the status code a client error  */
#define ap_is_HTTP_CLIENT_ERROR(x) (((x) &gt;= 400)&amp;&amp;((x) &lt; 500))
/** is the status code a server error  */
#define ap_is_HTTP_SERVER_ERROR(x) (((x) &gt;= 500)&amp;&amp;((x) &lt; 600))
/** is the status code a (potentially) valid response code?  */
#define ap_is_HTTP_VALID_RESPONSE(x) (((x) &gt;= 100)&amp;&amp;((x) &lt; 600))
&nbsp;
/** should the status code drop the connection */
#define ap_status_drops_connection(x) \
(((x) == HTTP_BAD_REQUEST)       || \
((x) == HTTP_REQUEST_TIME_OUT)    || \
((x) == HTTP_LENGTH_REQUIRED)     || \
((x) == HTTP_REQUEST_ENTITY_TOO_LARGE) || \
((x) == HTTP_REQUEST_URI_TOO_LARGE) || \
((x) == HTTP_INTERNAL_SERVER_ERROR) || \
((x) == HTTP_SERVICE_UNAVAILABLE) || \
((x) == HTTP_NOT_IMPLEMENTED))</pre>


<h4>HTTP_INFO</h4>
<p><strong>Is the status code (x) informational?</strong></p>
<pre>x &gt;= 100 &amp;&amp; x &lt; 200</pre>


<h4>HTTP_SUCCESS</h4>
<p><strong>Is the status code (x) OK?</strong></p>
<pre>x &gt;= 200 &amp;&amp; x &lt; 300</pre>


<h4>HTTP_REDIRECT</h4>
<p><strong>Is the status code (x) a redirect?</strong></p>
<pre>x &gt;= 300 &amp;&amp; x &lt; 400</pre>


<h4>HTTP_ERROR</h4>
<p><strong>Is the status code (x) a error (client or server)?</strong></p>
<pre>x &gt;= 400 &amp;&amp; x &lt; 600</pre>


<h4>HTTP_CLIENT_ERROR</h4>
<p><strong>Is the status code (x) a client error?</strong></p>
<pre>x &gt;= 400 &amp;&amp; x &lt; 500</pre>


<h4>HTTP_SERVER_ERROR</h4>
<p><strong>Is the status code (x) a server error?</strong></p>
<pre>x &gt;= 500 &amp;&amp; x &lt; 600</pre>


<h4>HTTP_VALID_RESPONSE</h4>
<p><strong>Is the status code (x) a (potentially) valid response code?</strong></p>
<pre>x &gt;= 100 &amp;&amp; x &lt; 600</pre>


<h3> <a href="#http_protocol-c" name="http_protocol-c" id="http_protocol-c">http_protocol.c</a> </h3>
<p>From <a href="http://uploads.askapache.com/2007/02/http_protocol.c" title="http_protocol.c">http_protocol.c</a> </p>
<pre>static const char * status_lines[RESPONSE_CODES] =
static const char * const status_lines[RESPONSE_CODES] =
"100 Continue",
"101 Switching Protocols",
"102 Processing",
"200 OK",
"201 Created",
"202 Accepted",
"203 Non-Authoritative Information",
"204 No Content",
"205 Reset Content",
"206 Partial Content",
"207 Multi-Status",
"300 Multiple Choices",
"301 Moved Permanently",
"302 Found",
"303 See Other",
"304 Not Modified",
"305 Use Proxy",
"306 unused",
"307 Temporary Redirect",
"400 Bad Request",
"401 Authorization Required",
"402 Payment Required",
"403 Forbidden",
"404 Not Found",
"405 Method Not Allowed",
"406 Not Acceptable",
"407 Proxy Authentication Required",
"408 Request Time-out",
"409 Conflict",
"410 Gone",
"411 Length Required",
"412 Precondition Failed",
"413 Request Entity Too Large",
"414 Request-URI Too Large",
"415 Unsupported Media Type",
"416 Requested Range Not Satisfiable",
"417 Expectation Failed",
"418 unused",
"419 unused",
"420 unused",
"421 unused",
"422 Unprocessable Entity",
"423 Locked",
"424 Failed Dependency",
"425 No code",
"426 Upgrade Required",
"500 Internal Server Error",
"501 Method Not Implemented",
"502 Bad Gateway",
"503 Service Temporarily Unavailable",
"504 Gateway Time-out",
"505 HTTP Version Not Supported",
"506 Variant Also Negotiates",
"507 Insufficient Storage",
"508 unused",
"509 unused",
"510 Not Extended"</pre>


<h2>IANA HTTP Status Code Registry</h2>
<table cellpadding="3" cellspacing="0">
    <thead>
        <tr>
            <th>Value</th>
            <th>Description</th>
            <th>Reference</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>100</td>
            <td>Continue</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.1.1">Section 10.1.1</a> </td>
        </tr>
        <tr>
            <td>101</td>
            <td>Switching Protocols</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.1.2">Section 10.1.2</a> </td>
        </tr>
        <tr>
            <td>102</td>
            <td>Processing</td>
            <td> <a href="#RFC2518"><cite title="HTTP Extensions for Distributed Authoring -- WEBDAV">[RFC2518]</cite></a> , <a href="http://rfc.askapache.com/rfc2518#section-10.1">Section 10.1</a> </td>
        </tr>
        <tr>
            <td>200</td>
            <td>OK</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.1">Section 10.2.1</a> </td>
        </tr>
        <tr>
            <td>201</td>
            <td>Created</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.2">Section 10.2.2</a> </td>
        </tr>
        <tr>
            <td>202</td>
            <td>Accepted</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.3">Section 10.2.3</a> </td>
        </tr>
        <tr>
            <td>203</td>
            <td>Non-Authoritative Information</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.4">Section 10.2.4</a> </td>
        </tr>
        <tr>
            <td>204</td>
            <td>No Content</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.5">Section 10.2.5</a> </td>
        </tr>
        <tr>
            <td>205</td>
            <td>Reset Content</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.6">Section 10.2.6</a> </td>
        </tr>
        <tr>
            <td>206</td>
            <td>Partial Content</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.2.7">Section 10.2.7</a> </td>
        </tr>
        <tr>
            <td>207</td>
            <td>Multi-Status</td>
            <td> <a href="#RFC4918"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a> , <a href="http://rfc.askapache.com/rfc4918#section-11.1">Section 11.1</a> </td>
        </tr>
        <tr>
            <td>226</td>
            <td>IM Used</td>
            <td> <a href="#RFC3229"><cite title="Delta encoding in HTTP">[RFC3229]</cite></a> , <a href="http://rfc.askapache.com/rfc3229#section-10.4.1">Section 10.4.1</a> </td>
        </tr>
        <tr>
            <td>300</td>
            <td>Multiple Choices</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.1">Section 10.3.1</a> </td>
        </tr>
        <tr>
            <td>301</td>
            <td>Moved Permanently</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.2">Section 10.3.2</a> </td>
        </tr>
        <tr>
            <td>302</td>
            <td>Found</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.3">Section 10.3.3</a> </td>
        </tr>
        <tr>
            <td>303</td>
            <td>See Other</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.4">Section 10.3.4</a> </td>
        </tr>
        <tr>
            <td>304</td>
            <td>Not Modified</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.5">Section 10.3.5</a> </td>
        </tr>
        <tr>
            <td>305</td>
            <td>Use Proxy</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.6">Section 10.3.6</a> </td>
        </tr>
        <tr>
            <td>306</td>
            <td>(Reserved)</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.7">Section 10.3.7</a> </td>
        </tr>
        <tr>
            <td>307</td>
            <td>Temporary Redirect</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.3.8">Section 10.3.8</a> </td>
        </tr>
        <tr>
            <td>400</td>
            <td>Bad Request</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.1">Section 10.4.1</a> </td>
        </tr>
        <tr>
            <td>401</td>
            <td>Unauthorized</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.2">Section 10.4.2</a> </td>
        </tr>
        <tr>
            <td>402</td>
            <td>Payment Required</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.3">Section 10.4.3</a> </td>
        </tr>
        <tr>
            <td>403</td>
            <td>Forbidden</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.4">Section 10.4.4</a> </td>
        </tr>
        <tr>
            <td>404</td>
            <td>Not Found</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.5">Section 10.4.5</a> </td>
        </tr>
        <tr>
            <td>405</td>
            <td>Method Not Allowed</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.6">Section 10.4.6</a> </td>
        </tr>
        <tr>
            <td>406</td>
            <td>Not Acceptable</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.7">Section 10.4.7</a> </td>
        </tr>
        <tr>
            <td>407</td>
            <td>Proxy Authentication Required</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.8">Section 10.4.8</a> </td>
        </tr>
        <tr>
            <td>408</td>
            <td>Request Timeout</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.9">Section 10.4.9</a> </td>
        </tr>
        <tr>
            <td>409</td>
            <td>Conflict</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.10">Section 10.4.10</a> </td>
        </tr>
        <tr>
            <td>410</td>
            <td>Gone</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.11">Section 10.4.11</a> </td>
        </tr>
        <tr>
            <td>411</td>
            <td>Length Required</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.12">Section 10.4.12</a> </td>
        </tr>
        <tr>
            <td>412</td>
            <td>Precondition Failed</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.13">Section 10.4.13</a> </td>
        </tr>
        <tr>
            <td>413</td>
            <td>Request Entity Too Large</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.14">Section 10.4.14</a> </td>
        </tr>
        <tr>
            <td>414</td>
            <td>Request-URI Too Long</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.15">Section 10.4.15</a> </td>
        </tr>
        <tr>
            <td>415</td>
            <td>Unsupported Media Type</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.16">Section 10.4.16</a> </td>
        </tr>
        <tr>
            <td>416</td>
            <td>Requested Range Not Satisfiable</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.17">Section 10.4.17</a> </td>
        </tr>
        <tr>
            <td>417</td>
            <td>Expectation Failed</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.4.18">Section 10.4.18</a> </td>
        </tr>
        <tr>
            <td>422</td>
            <td>Unprocessable Entity</td>
            <td> <a href="#RFC4918"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a> , <a href="http://rfc.askapache.com/rfc4918#section-11.2">Section 11.2</a> </td>
        </tr>
        <tr>
            <td>423</td>
            <td>Locked</td>
            <td> <a href="#RFC4918"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a> , <a href="http://rfc.askapache.com/rfc4918#section-11.3">Section 11.3</a> </td>
        </tr>
        <tr>
            <td>424</td>
            <td>Failed Dependency</td>
            <td> <a href="#RFC4918"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a> , <a href="http://rfc.askapache.com/rfc4918#section-11.4">Section 11.4</a> </td>
        </tr>
        <tr>
            <td>426</td>
            <td>Upgrade Required</td>
            <td> <a href="#RFC2817"><cite title="Upgrading to TLS Within HTTP/1.1">[RFC2817]</cite></a> , <a href="http://rfc.askapache.com/rfc2817#section-6">Section 6</a> </td>
        </tr>
        <tr>
            <td>500</td>
            <td>Internal Server Error</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.1">Section 10.5.1</a> </td>
        </tr>
        <tr>
            <td>501</td>
            <td>Not Implemented</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.2">Section 10.5.2</a> </td>
        </tr>
        <tr>
            <td>502</td>
            <td>Bad Gateway</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.3">Section 10.5.3</a> </td>
        </tr>
        <tr>
            <td>503</td>
            <td>Service Unavailable</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.4">Section 10.5.4</a> </td>
        </tr>
        <tr>
            <td>504</td>
            <td>Gateway Timeout</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.5">Section 10.5.5</a> </td>
        </tr>
        <tr>
            <td>505</td>
            <td>HTTP Version Not Supported</td>
            <td> <a href="#RFC2616"><cite title="Hypertext Transfer Protocol -- HTTP/1.1">[RFC2616]</cite></a> , <a href="http://rfc.askapache.com/rfc2616#section-10.5.6">Section 10.5.6</a> </td>
        </tr>
        <tr>
            <td>506</td>
            <td>Variant Also Negotiates</td>
            <td> <a href="#RFC2295"><cite title="Transparent Content Negotiation in HTTP">[RFC2295]</cite></a> , <a href="http://rfc.askapache.com/rfc2295#section-8.1">Section 8.1</a> </td>
        </tr>
        <tr>
            <td>507</td>
            <td>Insufficient Storage</td>
            <td> <a href="#RFC4918"><cite title="HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)">[RFC4918]</cite></a> , <a href="http://rfc.askapache.com/rfc4918#section-11.5">Section 11.5</a> </td>
        </tr>
        <tr>
            <td>510</td>
            <td>Not Extended</td>
            <td> <a href="#RFC2774"><cite title="An HTTP Extension Framework">[RFC2774]</cite></a> , <a href="http://rfc.askapache.com/rfc2774#section-7">Section 7</a> </td>
        </tr>
    </tbody>
</table>


<h2>WordPress 2.8 Changes</h2>
<p>I just learned that <a href="https://core.trac.wordpress.org/ticket/9297">my modification</a> to the WordPress core was <a href="https://core.trac.wordpress.org/changeset/10740">accepted</a> and will be implemented for version 2.8!  This may mean WordPress is the only 100% HTTP/1.1 compliant software on the net!  Below is the new list (<em>I thought someone out there could use the php array</em>) and as you can see, unfortunately<strong>418 I'm a teapot</strong>didn't make it ;)</p>
<pre>$wp_header_to_desc = array(
  100 =&gt; &#039;Continue&#039;,
  101 =&gt; &#039;Switching Protocols&#039;,
  102 =&gt; &#039;Processing&#039;,
&nbsp;
  200 =&gt; &#039;OK&#039;,
  201 =&gt; &#039;Created&#039;,
  202 =&gt; &#039;Accepted&#039;,
  203 =&gt; &#039;Non-Authoritative Information&#039;,
  204 =&gt; &#039;No Content&#039;,
  205 =&gt; &#039;Reset Content&#039;,
  206 =&gt; &#039;Partial Content&#039;,
  207 =&gt; &#039;Multi-Status&#039;,
  226 =&gt; &#039;IM Used&#039;,
&nbsp;
  300 =&gt; &#039;Multiple Choices&#039;,
  301 =&gt; &#039;Moved Permanently&#039;,
  302 =&gt; &#039;Found&#039;,
  303 =&gt; &#039;See Other&#039;,
  304 =&gt; &#039;Not Modified&#039;,
  305 =&gt; &#039;Use Proxy&#039;,
  306 =&gt; &#039;Reserved&#039;,
  307 =&gt; &#039;Temporary Redirect&#039;,
&nbsp;
  400 =&gt; &#039;Bad Request&#039;,
  401 =&gt; &#039;Unauthorized&#039;,
  402 =&gt; &#039;Payment Required&#039;,
  403 =&gt; &#039;Forbidden&#039;,
  404 =&gt; &#039;Not Found&#039;,
  405 =&gt; &#039;Method Not Allowed&#039;,
  406 =&gt; &#039;Not Acceptable&#039;,
  407 =&gt; &#039;Proxy Authentication Required&#039;,
  408 =&gt; &#039;Request Timeout&#039;,
  409 =&gt; &#039;Conflict&#039;,
  410 =&gt; &#039;Gone&#039;,
  411 =&gt; &#039;Length Required&#039;,
  412 =&gt; &#039;Precondition Failed&#039;,
  413 =&gt; &#039;Request Entity Too Large&#039;,
  414 =&gt; &#039;Request-URI Too Long&#039;,
  415 =&gt; &#039;Unsupported Media Type&#039;,
  416 =&gt; &#039;Requested Range Not Satisfiable&#039;,
  417 =&gt; &#039;Expectation Failed&#039;,
  422 =&gt; &#039;Unprocessable Entity&#039;,
  423 =&gt; &#039;Locked&#039;,
  424 =&gt; &#039;Failed Dependency&#039;,
  426 =&gt; &#039;Upgrade Required&#039;,
&nbsp;
  500 =&gt; &#039;Internal Server Error&#039;,
  501 =&gt; &#039;Not Implemented&#039;,
  502 =&gt; &#039;Bad Gateway&#039;,
  503 =&gt; &#039;Service Unavailable&#039;,
  504 =&gt; &#039;Gateway Timeout&#039;,
  505 =&gt; &#039;HTTP Version Not Supported&#039;,
  506 =&gt; &#039;Variant Also Negotiates&#039;,
  507 =&gt; &#039;Insufficient Storage&#039;,
  510 =&gt; &#039;Not Extended&#039;
);</pre>


<h2>RIPE WHOIS</h2>
<blockquote cite="http://labs.ripe.net/content/ripe-database-api-documentation">
    <p>
    <p>All the status codes are standard HTTP codes ( <a href="http://www.iana.org/assignments/http-status-codes">http://www.iana.org/assignments/http-status-codes</a> ).</p>
    <p></p>
    <p>Clients should avoid any form of coupling with the the text/plain error message contained in response body since it may change between different releases of the API and is only intended as a starting point for indentifying the real causes of the exception event.</p>
    <p>The following table gives a brief description of the mapping between standard Whois V.3 responses and the related REST services status codes. Consider this table as just an example of the error mapping strategy, it may change with future releases.</p>
    </p>
</blockquote>
<table>
    <tbody>
        <tr>
            <th>System Exception</th>
            <th>Whois Error</th>
            <th>HTTP Status Code</th>
        </tr>
        <tr>
            <td>IllegalArgumentException</td>
            <td></td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>IllegalStateException</td>
            <td></td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>UnsupportedOperationException</td>
            <td></td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>ObjectNotFoundException</td>
            <td></td>
            <td>Not Found (404)</td>
        </tr>
        <tr>
            <td>IllegalStateException</td>
            <td></td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>IOException</td>
            <td></td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>SystemException</td>
            <td></td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>TooManyResultsException</td>
            <td></td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>No Entries Found (101)</td>
            <td>Not Found (404)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Unknown Source (102)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Unknown Object Type (103)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Unknown Attribute in Query (104)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Attribute Is Not Inverse Searchable (105)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>No Search Key Specified (106)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Access Denied (201)</td>
            <td>Forbidden (403)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Access Control Limit Reached (202)</td>
            <td>Forbidden (403)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Address Passing Not Allowed (203)</td>
            <td>Bad Request (400)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Maximum Referral Lines Exceeded (204)</td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Connection Has Been Closed(301)</td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Referral Timeout (302)</td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>No Referral Host (303)</td>
            <td>Internal Server Error (500)</td>
        </tr>
        <tr>
            <td>WhoisServerException</td>
            <td>Referral Host Not Responding (304)</td>
            <td>Internal Server Error (500)</td>
        </tr>
    </tbody>
</table>
<blockquote cite="http://labs.ripe.net/content/ripe-database-api-documentation">
    <p>
    <p>Clients will have to define error messages generic enough to represent the four main error conditions, that are Bad Request, Forbidden, Not Found and Internal Server Error.</p>
    <p>For example a possible mapping for client side error messages may be:</p>
    </p>
</blockquote>
<table>
    <tbody>
        <tr>
            <th>HTTP Status Code</th>
            <th>Error Message</th>
        </tr>
        <tr>
            <td>Bad Request (400)</td>
            <td>The service is unable to understand and process the query.</td>
        </tr>
        <tr>
            <td>Forbidden (403)</td>
            <td>Query limit exceeded.</td>
        </tr>
        <tr>
            <td>Not Found (404)</td>
            <td>No results were found for Your search "<tt>Search term</tt>"</td>
        </tr>
        <tr>
            <td>Internal Server Error (500)</td>
            <td>The server encountered an unexpected condition which prevented it from fulfilling the request.</td>
        </tr>
    </tbody>
</table>


<h2>Helpful HTTP Links</h2>
<ol>
    <li> <a href="http://www.iana.org/assignments/http-status-codes">IANA registry</a> </li>
    <li> <a href="http://rfc.askapache.com/rfc2324">Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)</a> </li>
    <li> <a href="http://livedocs.adobe.com/fms/2/docs/00000338.html">Adobe Flash status code definitions (ie 408)</a> </li>
    <li> <a href="http://support.microsoft.com/?id=318380">Microsoft Internet Information Server Status Codes and Sub-Codes</a> </li>
    <li> <a href="http://zamez.org/httplint?url=http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html">httplint</a> </li>
    <li> <a href="http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html">HTTP Headers, brief intro.</a> </li>
    <li> <a href="http://www.w3.org/TR/cuap">Common User-Agent Issues</a> </li>
    <li>[RFC2295] <a href="mailto:koen@win.tue.nl" title="Technische Universiteit Eindhoven">Holtman, K.</a> and <a href="mailto:mutz@hpl.hp.com" title="Hewlett-Packard Company">A.H. Mutz</a> , " <a href="http://rfc.askapache.com/rfc2295">Transparent Content Negotiation in HTTP</a> ", RFC 2295, March 1998.</li>
    <li>[RFC2518] <a href="mailto:yarong@microsoft.com" title="Microsoft Corporation">Goland, Y.</a> , <a href="mailto:ejw@ics.uci.edu" title="Dept. Of Information and Computer Science, University of California, Irvine">Whitehead, E.</a> , <a href="mailto:asad@netscape.com" title="Netscape">Faizi, A.</a> , <a href="mailto:srcarter@novell.com" title="Novell">Carter, S.R.</a> , and <a href="mailto:dcjensen@novell.com" title="Novell">D. Jensen</a> , " <a href="http://rfc.askapache.com/rfc2518">HTTP Extensions for Distributed Authoring -- WEBDAV</a> ", RFC 2518, February 1999.</li>
    <li>[RFC2616] <a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine">Fielding, R.</a> , <a href="mailto:jg@w3.org" title="W3C">Gettys, J.</a> , <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation">Mogul, J.</a> , <a href="mailto:frystyk@w3.org" title="MIT Laboratory for Computer Science">Frystyk, H.</a> , <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a> , <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a> , and <a href="mailto:timbl@w3.org" title="W3C">T. Berners-Lee</a> , " <a href="http://rfc.askapache.com/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a> ", RFC 2616, June 1999.</li>
    <li>[RFC2774] <a href="mailto:frystyk@microsoft.com" title="Microsoft Corporation">Nielsen, H.</a> , <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a> , and <a href="mailto:lawrence@agranat.com" title="Agranat Systems, Inc.">S. Lawrence</a> , " <a href="http://rfc.askapache.com/rfc2774">An HTTP Extension Framework</a> ", RFC 2774, February 2000.</li>
    <li>[RFC2817] Khare, R. and S. Lawrence, " <a href="http://rfc.askapache.com/rfc2817">Upgrading to TLS Within HTTP/1.1</a> ", RFC 2817, May 2000.</li>
    <li>[RFC3229] Mogul, J., Krishnamurthy, B., Douglis, F., Feldmann, A., Goland, Y., van Hoff, A., and D. Hellerstein, " <a href="http://rfc.askapache.com/rfc3229">Delta encoding in HTTP</a> ", RFC 3229, January 2002.</li>
    <li>[RFC4918] <a href="mailto:ldusseault@commerce.net" title="CommerceNet">Dusseault, L., Ed.</a> , " <a href="http://rfc.askapache.com/rfc4918">HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)</a> ", RFC 4918, June 2007.</li>
</ol><p><a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html"></a><a href="http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html">HTTP Status Codes and Htaccess ErrorDocuments</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Mac Address Vendor Lookup</title>
		<link>http://www.askapache.com/online-tools/mac-lookup</link>
		<comments>http://www.askapache.com/online-tools/mac-lookup#comments</comments>
		<pubDate>Sun, 22 Nov 2009 06:59:52 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
		
		<guid isPermaLink="false">http://www.askapache.com/?page_id=3628</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/online-tools/mac-lookup"></a><a href="http://www.askapache.com/online-tools/mac-lookup"><cite>AskApache.com</cite></a></p>http://standards.ieee.org/regauth/oui/oui.txt
http://www.cavebear.com/archive/cavebear/Ethernet/vendor.html
http://anonsvn.wireshark.org/wireshark/trunk/manuf<p><a href="http://www.askapache.com/online-tools/mac-lookup"></a><a href="http://www.askapache.com/online-tools/mac-lookup">Mac Address Vendor Lookup</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/online-tools/mac-lookup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Add-ons for Web Developers</title>
		<link>http://www.askapache.com/hacking/firefox-addons-webdev.html</link>
		<comments>http://www.askapache.com/hacking/firefox-addons-webdev.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 00:14:07 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=3301</guid>
		<description><![CDATA[<p><a href="http://www.askapache.com/firefox/best-firefox-addons-webdev.html" class="IFL"><img src="http://uploads.askapache.com/2009/10/askapache-firefox-cache-116x102.png" alt="askapache favorite addons" title="askapache favorite addons" width="116" height="102" /></a><a href="https://addons.mozilla.org/en-US/firefox/collection/advanced-webdevelopment">Advanced Web Development by AskApache</a> is a <dfn title="Collections are groups of related add-ons assembled for easy sharing">Firefox Collection</dfn> I created since I'm always trying new Addons out and using multiple computers and I wanted a quick and easy way to install my favorite's and keep a running list.  Firebug, YSlow, LastPass, and Web Developer are the only ones I always use regularly.<br /><br />I like the idea of the last.fm but it's not as powerful as the site, which is awesome.  <em>Lately listening to <a href="http://www.last.fm/listen/artist/Kings%2Bof%2BLeon/similarartists">Kings of Leon Radio</a>...</em><br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/hacking/firefox-addons-webdev.html"></a><a href="http://www.askapache.com/hacking/firefox-addons-webdev.html"><cite>AskApache.com</cite></a></p><p><a class="IFL" href="https://addons.mozilla.org/en-US/firefox/collection/advanced-webdevelopment"><img src="https://addons.mozilla.org/en-US/firefox/images/collection_icon/27412/1253649941" title=" hacking" alt="Firefox Add ons for Web Developers" /></a><a href="https://addons.mozilla.org/en-US/firefox/collection/advanced-webdevelopment">Advanced Web Development by AskApache</a> is a <dfn title="Collections are groups of related add-ons assembled for easy sharing">Firefox Collection</dfn> I created for myself to make finding and installing my favorite Firefox Add-ons simple and easy.</p>

<h2>My Setup</h2>
<p><img class="IFL" src="http://uploads.askapache.com/2009/10/askapache-firefox-cache.png" alt="askapache favorite addons" title="askapache favorite addons" width="283" height="250" />As this screenshot shows, I only use a handful of add-ons at a time.  These buttons allow me to clear the DNS/Cookies/Cache for whichever site I'm on when I click it.  Very very helpful for me as a web designer.  The 4th button there is just a restart button.  Other than those, Firebug, YSlow, LastPass, and Web Developer are the only ones I always use regularly.<br /><br />I like the idea of the last.fm but it's not as powerful as the site, which is awesome.  Lately I've been listening to <a href="http://www.last.fm/listen/artist/Kings%2Bof%2BLeon/similarartists">Kings of Leon Radio</a>... <br class="C" /></p>

<h2>Slow Firefox</h2>
<p><strong>The more add-ons you have</strong>, disabled or not, the slower Firefox is. (<em>unless you are running your profile folder in TMPFS</em>).   Also, bookmarks and settings like that have a performance hit.  I have been using Firefox since it launched way back when, and I have always kept my bookmarks when moving to new machines and new installations..  So with over 5 thousand bookmarks I finally did some debugging and discovered that was a huge cause of Firefox acting slow.  Now I am trying to migrate them all over to Google's Gmarks, which knowing Google will be awesome eventually.</p>

<h2>Multiple Firefox Installations, Sorta</h2>
<p>The solution to all these problems is to use <strong>separate Firefox profiles</strong> which use separate folders to store your profile-specific extensions and settings.  So I have profiles with upwards of 40 Addons installed and enabled, and another profile that is built for speed... It's very very slow to be running Firebug and have multiple tabs open..  You can use the profilemanager to load them specific profiles from the command line.  I personally use separate icons on my Windows Quick Launch that I just modified the shortcut pointing to firefox to also have the profile commandline.   Note also that you can have multiple profiles open and running simultaneously.. This lets you do some crazy networking and other random hacks like having many Firefox instances running each of which is configured to use a separate SOCKS Proxy or network interface, so you can really open up those pipes for some intense txrx.</p>
<p>You can do some very powerful things with Firefox that most people are unaware of, if you are interested start with these:</p>
<ul>
<li><a href="https://developer.mozilla.org/en/Setting_up_extension_development_environment">Setting up an extension development environment</a></li>
<li><a href="https://developer.mozilla.org/en/Command_Line_Options">Firefox Command Line Options</a></li>
</ul>
<hr class="C" />


<h3>About This Collection</h3>
<p>Web Development Add-ons for Advanced Web Developers.  I personally use these to work on Sites, Servers, WordPress, Javascript, PHP, CSS, XHTML, validation, page-loading, SEO, optimizing, and much more.  <a href="https://addons.mozilla.org/en-US/firefox/users/login?to=en-US%2Ffirefox%2Fcollection%2Fadvanced-webdevelopment%3Fadvancedsearch%3D1%26show%3D100">Add this collection</a>.</p>
<p><strong>Created by:</strong><a href="https://addons.mozilla.org/en-US/firefox/user/145961">AskApache</a></p>
<p><strong>Updated:</strong>September 22, 2009 </p>


<h3>Share this Collection</h3>
<ul>
    <li class="digg"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=digg">Digg this!</a></li>
    <li class="facebook"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=facebook">Post to Facebook</a></li>
    <li class="delicious"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=delicious">Add to Delicious</a></li>
    <li class="myspace"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=myspace">Post to MySpace</a></li>
    <li class="friendfeed"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=friendfeed">Share on FriendFeed</a></li>
    <li class="twitter"><a href="https://addons.mozilla.org/en-US/firefox/collections/share/advanced-webdevelopment?service=twitter">Post to Twitter</a></li>
</ul>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/13316?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">History Tree</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/13316/1254409345" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Find any page you have visited quickly and easily. Shows your browsing history as a tree of tabs, with thumbnail screenshots of the web-pages in every tab you have opened. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/4882?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab Scope</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Preview and navigate tab contents through popup. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1480?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab Control</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Take control of your tabs!  Purposely lightweight extension with the following features... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5000?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">ShareThis</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5000/1248389010" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />ShareThis makes sharing any online content quick and easy. The ShareThis plugin allows you to share to any contact via email, text message, Facebook, Twitter and more.  You can also store your shares for later to reshare with the ShareThis ShareBox. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
	<h4><a href="https://addons.mozilla.org/en-US/firefox/addon/12377?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FirePalette</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/12377/1244736178" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Adds a color picker to Firebug's CSS panel. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/13000?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab History Menu</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/13000/1252809752" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />When click on the selected tab, a history menu corresponding to it will display. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/8426?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">SyncPlaces</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/8426/1252087590" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Synchronizes your bookmarks, passwords and password exceptions between browsers. Uses your own (or third party) web or ftp server so you have complete control and privacy. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10704?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">CSS Usage</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10704/1255464704" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Firebug extension to view which CSS rules are actually used. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9641?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Inline Code Finder for Firebug</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/9641/1246025189" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Inline Code Finder is an add-on to Firebug, to be able to find HTML elements<br class="C" /></p>
    <blockquote class="publisher-comment"><p>Provides some additional capabilities to firebug to find inline code as opposed to external files.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/4723?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Save Complete</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Saves a webpage completely, providing a better alternative to the flawed built-in save functionality of Firefox. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Another of my personal favorites, modifies the "Save complete page" option of firefox to truly be more complete, I don't understand why firefox doesn't already do this.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10615?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FireDownload</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10615/1249999245" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />The FireDownload extension for Firefox and Wyzo lets you manage and accelerate your web downloads up to 10x faster! With FireDownload, download acceleration is seamlessly displayed within the downloads window. Try the ultimate download accelerator! <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Pretty nice and unobtrusive download enhancer.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/13255?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Xmarks BYOS Edition</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/13255/1248393038" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Bookmark Sync "Bring Your Own Server" Edition (BYOS). For expert users who wish to sync their bookmarks and passwords using their own FTP or WebDAV server. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/13128?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FormBug</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />An extension to Firebug to make dealing with forms easier <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/13135?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Widerbug</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/13135/1247888469" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Firebug Evolved. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/11588?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">SyntaxHighlighter</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />a syntax highlighter, based on SyntaxHighlighter(http://code.google.com/p/syntaxhighlighter/), support lots of program languages. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Adds syntax highlighting, somewhat intensive.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2318?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Total Validator</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2318/1252747670" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Perform multiple validations and take screen shots in one go. This 5-in-1 validator works with external, internal, or local web pages using the Total Validator service or local copy of the desktop tool... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/115?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">ReloadEvery</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/115/1250716156" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Reloads web pages every so many seconds or minutes. The function is accessible via the context menu (menu you get when you right click on a web page) or via a drop down menu on the reload button ... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Love this plugin, replaces the reload button with a look-alike button with a drop-down menu that lets you enable automatic reloading of a tab (or all tabs) and set the number of seconds between reloads.  I've found it very useful for checking cookie behaviour and cache setups, its also nice if you want to keep checking a page for updates.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1985?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Window Resizer</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Resize your browser to various standard resolution sizes... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Quickly resize your window to the common sizes to see what a site looks like for users with that resolution.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/4415?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Font Finder</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Get all CSS styles of selected text in Firefox / Thunderbird... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Locate the fonts that are in use on a webpage.  Small and unobtrusive.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/12632?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FireQuery</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/12632/1248402877" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Firebug enhancements for jQuery (requires Firebug 1.3+) <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Adds jquery support, I usually keep disabled even though I personally use jquery for web development.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5362?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Alexa Sparky</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5362/1255562428" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Alexa Internet's official add-on for Firefox!  Get Alexa data in your status bar. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Shows the alexa rank of a site, I like it but it does make new HTTP requests for each page, so I disable it alot for privacy or speed.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5392?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Dust-Me Selectors</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5392/1246551563" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Finds unused CSS selectors. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>One of the newer add-ons I've been using.  Lets you find which CSS rules are actually in use on a page, thus helping you to minimize and streamline CSS.  Very cool but it is a little resource intensive so by default I keep it disabled.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/11249?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">ToggleUseDocColors</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Toggles Tools-&gt;Options-&gt;Content-&gt;Colors:Allow pages to choose their own colors... option with a single keystroke (Ctrl+M) <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Use the documents colors or other.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3606?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FoxTor</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />FoxTor: Anonymous Web Browsing using the encrypted TOR network... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10434?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Bing</a></h4>
    <p> <img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10434/1247527217" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />This is the only officially supported Bing add-on, provided by the Bing team in Microsoft. Bing is a search engine that finds and organizes the answers you need so you can make faster, more informed decisions. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9640?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Inline Code Finder</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/9640/1245858044" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Inline Code Finder is a tool to traverse through all elements in a web page, and when it finds a HTML element with any of these, it will highlight them: * Inline JavaScript events * Inline style * javascript: links <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2648?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">MM3-ProxySwitch</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2648/1233685187" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />In the Firefox Browser (and other Mozilla programs) you can per default configure only the setting for one internet connection. With the MM3-ProxySwitch you can manage different configurations and simply switch over between these. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>If like me you often connect to websites by proxying firefox through SSH Tunnels, then you can use this MM3-ProxySwitch add-on to run 3 different instances of firefox (by using multiple firefox profiles) that EACH use a different Proxy.  This is useful if you want to MAX out your download speed by downloading using multiple tunnels to do the work. <br />
            <br />
            Also useful for just plain multiple proxy configurations, very easy, and super extremely unobtrusive and low-resource intensive.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6683?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Firecookie</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6683/1251484013" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Firecookie is an extension for Firebug that makes possible to view and manage cookies in your browser <br class="C" /></p>
    <blockquote class="publisher-comment"><p>One of my personal favorites, adds a tab to firebug that lets you view live cookies being set, deleted, and updated, and lets you edit, and delete cookies of a page LIVE.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9780?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">RESTClient</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/9780/1250817670" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />RESTClient is a firefox extension use to visit and test RESTful/WebDav services. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5403?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Java Console 6.0.02</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5403/1189002765" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Java Console Extension for Java SE 1.6.0_02 (version 6 update 2). <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2325?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">RSS Ticker</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />RSS Ticker loads your Live Bookmarks and scrolls their entries across your screen while you surf. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Amazingly awesome add-on that scrolls rss feeds across a small area, helpful to keep track of various feeds and your own sites feeds.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6535?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab Sidebar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6535/1244499111" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Displays previews of your tabs in your sidebar. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>I like this one more than the tab preview add-ons, lets me find a tab quickly but only when I want by opening the sidebar.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/12065?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">CryptoFox</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/12065/1255638751" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />CryptoFox is an encryption/decryption tool for Mozilla Firefox, with dictionary attack support for cracking MD5 passwords. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9027?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Bookmark Current Tab Set</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Adds options to quickly bookmark all tabs in a window and store them in a bookmark folder that is given the date (and optionally the time) as its name. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3362?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Update Scanner</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3362/1252360045" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Monitors web pages for updates. Useful for websites that don't provide Atom or RSS feeds. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/139?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Image Zoom</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/139/1231445959" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Adds zoom functionality for images... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Simple image zooming functionality.  Small and useful add-on.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3780?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FaviconizeTab</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3780/1218612666" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />This extension adds a new "FaviconizeTab" option to the context menu of the tab... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Nice to Faviconize your most-often-used sites</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2489?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">CacheViewer</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />This extenion is GUI Front-end of "about:cache"... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Just a shortcut to the about:cache area.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6366?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FireGestures</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6366/1254150116" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />A customizable mouse gestures extension which enables you to execute various commands and user scripts with five types of gestures. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7189?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Firebug Net History Panel Overlay</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Adds history functionality to firebug net panel. Requires Firebug 1.2.0b4 or 1.2.0b6 For Firebug versions 1.1.* please use Net Panel Add-on Version 0.2.1 <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3880?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Add Bookmark Here ²</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3880/1253393237" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Add a menuitem "Add Bookmark Here..." to Bookmarks... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5914?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">DNS Cache</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5914/1246397200" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Allows you to disable and enable the DNS Cache of Firefox <br class="C" /></p>
    <blockquote class="publisher-comment"><p>The final caching add-on that I absolutely LOVE.  Lets you add anywhere on your toolbar to clear the DNS cache of firefox.  I have  this, clear cache, and clear cookies next to each other on the far left of my bookmarks toolbar, I use them ALOT.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7907?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Manage Folders</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/7907/1248060550" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Places a "Manage Folder" item on the context menu of bookmark folders, which opens the "Places Organizer" expanded to that folder. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2214?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">View Dependencies</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />View Dependencies adds a tab to the Page Info window, in which it lists all the files which were loaded to show the current page. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2275?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Torbutton</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2275/1249863832" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Torbutton provides a button to securely and easily enable or disable the browser's use of Tor. It is currently the only addon that will safely manage your Tor browsing to prevent IP address leakage, cookie leakage, and general privacy attacks. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Quick way to switch firefox to use the TOR network (I recommend the free vidalia suite) which is useful for web developers that rely on an IP address in certain programming and setups.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5447?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab Kit</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5447/1249227762" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Tab grouping, vertical tab tree, multi-rows, and various tweaks for power users. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3559?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">QuickRestart</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3559/1241624360" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Ever needed to restart Firefox after enabling or disabling an extension, switching to a new theme, or modifying configuration files (such as userChrome.css or user.js)? This simple extension adds a "Restart Firefox" item to the "File" menu. You can also use the Ctrl+Alt+R keyboard shortcut, or the included toolbar button. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>A button you can place anywhere that restarts the browser just like you do after updating add-ons.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1759?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Organize Status Bar</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />This extension will enable you to organize your status bar icons.  You can now rearrange or remove any item (icon or text) in the Firefox status bar.  If your status bar is full and cluttered like mine was, give this a try. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Lets you rearrange the items on the status bar.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/722?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">NoScript</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/722/1255474235" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />The best security you can get in a web browser! Allow active content to run only from sites you trust, and protect yourself against XSS and Clickjacking attacks. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2109?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FEBE</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2109/1255569901" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />FEBE (Firefox Environment Backup Extension) allows you to quickly and easily backup your Firefox extensions.  In fact, it goes beyond just backing up -- It will actually rebuild your extensions individually into installable .xpi files.  Now you can easily synchronize your office and home browsers. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Very helpful and well-designed add-on that lets you backup your entire firefox, or individual add-ons, or both!</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10897?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Check Places</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10897/1255544495" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Checks your bookmarks are valid and the pages still exist. Also checks for duplicates and for empty folders and can restore missing favicons. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1027?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">All-in-One Sidebar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1027/1248433103" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />All-in-One Sidebar (AiOS) is an award-winning sidebar control, inspired by Opera's. It lets you quickly switch between sidebar panels, view dialog windows such as downloads, extensions, and more in the sidebar, or view source or websites in the sidebar. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2888?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">GMarks</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />GMarks helps you sync &amp; manage your bookmarks with Google Bookmarks... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/11950?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Add-on Collector</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/11950/1252025520" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />There's a new way to manage and find favorite add-ons. Comment, share, and sync collections, all from your browser. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Lets you get updates and makes it very easy to browse a collection such as this one.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2144?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Advanced Dork:</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2144/1249684650" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Advanced Dork: gives quick access to Google's Advanced Operators directly from the context menu... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Very unobtrusively makes the advanced google search operators available.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2032?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Yahoo! Toolbar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2032/1253720246" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Use Yahoo! and the web faster, safer, and easier with new mail notification, search suggestions, online bookmarks, free spyware scanning, and more... Save time with the new Yahoo! Toolbar 2.0, now in beta at toolbar.yahoo.com/beta. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3102?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Email This!</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3102/1253158256" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Email This! will send your recipient the link, title, &amp; highlighted text of the page you are viewing using GMail, Google Apps GMail, Yahoo, and Stand-Alone Mail Clients like Outlook Express, Thunderbird, &amp; More! If you hate toolbar buttons don’t fret because I've included a right-click pop-up menu and access keys! <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2062?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab To Window</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2062/1244572621" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Open a tab in a new window... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>I have wanted this type of functionality for soo long.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2323?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Cache View</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Cache View is a Firefox extension that displays Google's Cache, Coral's Cache, and Wayback Machine's Cache cache of an open tab or selected link via a right-click or the Tools menu. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Useful to notice how often a page on your site is crawled and cached by these engines.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6984?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Lazarus: Form Recovery</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6984/1252590349" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Never lose anything you type into a web form again! Lazarus securely auto-saves all forms as you type, so after a crash, server timeout, or whatever, you can go back to the form, right click, "recover form", and breathe a sigh of relief. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Saves your form data securely as you enter it, and provides a way to recover that form data if your firefox crashes (more likely windows crashes) and that way you won't lose anything you already entered.  This will slow down firefox alot though.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6132?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tab Preview</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Preview tab contents on mouseover <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6937?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Multirow Bookmarks Toolbar</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Multi Row Bookmarks Toolbar.<br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2517?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Googlepedia</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Shows you a relevant Wikipedia article along with your search results. Clicking links in the article will trigger new Google searches, making it a very useful research tool... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Adds wikipedia results right next to google results, very helpful to keep an eye on what is authoritative, and often get the best information fast.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1237?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">QuickJava</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Allows quick enable and disable of Java and Javascript from... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3082?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Undo Closed Tabs Button</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3082/1244495823" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Tired of going to History -&gt; Recently Closed Tabs just to undo a closed tab? Then this extension is for you!  This extension allows you to undo closed tabs via a toolbar and/or tab bar button or the right-click context menu. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>One of my personal favorites, adds back the most recently closed tab, very helpful.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10618?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Faviconiac Search Engines</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10618/1247849922" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Adds PNG favicons to some search engines and web directories, such as Google, Yahoo, Bing, Ask, Altavista, Wikipedia, AOL, Dmoz, Alexa, del.icio.us and others. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>This is helpful to get a better feel for search engine results by adding their sites favicon to the search results page, is somewhat HTTP Request intensive however.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3928?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Bookmark This Page Plus</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3928/1247125860" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Adds a menu item in each sub folder of the bookmarks menu to bookmark the current page. Just as seen in the Opera browser. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1595?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Remove Cookie(s) for Site</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1595/1214859152" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />A very simple extension to remove all the cookies of currently opened site. It adds an option to the Right Click menu of the page, and a toolbar button to perform this operation. It displays the status of operation in the status bar. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>This is invaluable, it removes all the cookies from whichever domain you are currently viewing.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/967?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Modify Headers</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Add, modify and filter http request headers.  You can modify the user agent string, add headers to spoof a mobile request (e.g. x-up-calling-line-id) and much more.  Take a look at the help tab of the Modify Headers window... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Pretty awesome, lets you modify the HTTP Headers your browser is sending, useful to check accessibility, server settings, language settings, etc.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2625?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">OPML Support</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />OPML Support adds OPML import/export functionality to the Firefox Bookmarks manager. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6647?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">HttpFox</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />An HTTP analyzer addon for Firefox <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/8879?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FoxTab</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/8879/1249840764" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />3D in your browser!  FoxTab brings innovative 3D functionality to your Firefox. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Super awesome cool.  If your machine is fast this is a really helpful add-on.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/655?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">View Source Chart</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/655/1246405984" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />View Source In Color-Coded Chart Get V2.8 w/ a brand new feature from jennifermadden.com <br class="C" /></p>
    <blockquote class="publisher-comment"><p>One of my long-time, all-time favorites that lets you view the source code of a website, but in a color-coded and formatted view.  Very nice and helpful for (X)HTML developers.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/4072?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Smart Bookmarks Bar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/4072/1234555016" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Not enough place on your bookmarks bar ?... Smart Bookmarks Bar extension comes right here by hiding bookmarks names and only showing icons. Bookmark names will be displayed on mouse over. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>For those who frequently use the bookmarks in the firefox bookmarks toolbar, this is a great way to show more in a cleaner way.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1433?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Extended Statusbar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1433/1246438548" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />A Statusbar with speed, percentage, time and loaded size (similar to Opera's one) <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Provides much more information unobtrusively on your statusbar, very cool!</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10300?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Email Yourself!</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10300/1253228434" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Email Yourself! allows you to email yourself the link, title, and a selected summary of the webpage you are viewing using GMail. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/125?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">SwitchProxy Tool</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />SwitchProxy lets you manage and switch between multiple proxy configurations... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2499?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">LiveClick</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Adds feed reading, notifications, favicons, and other enhancements to Live Bookmarks. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7314?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Places' Tooltips</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />This addon enhances all the tooltips in Firefox. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/11173?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Multi Smart Search</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />"Multi smart search" displays a new context menu including all the installed search engine. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9275?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">SortPlaces</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/9275/1252087512" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Sorts your bookmarks in a variety of ways. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/433?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Flashblock</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/433/1247913103" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Never be annoyed by a Flash animation again! Blocks Flash so it won't get in your way, but if you want to see it, just click on... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Lets you block flash for all/specific websites/domains, which is pretty nice capability to test both your sites for non-flash viewers, and speeds up firefox.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6249?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Google Toolbar</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6249/1237314369" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Take the power of Google with you anywhere on the Web <br class="C" /></p>
    <blockquote class="publisher-comment"><p>A great add-on that lets you use hundreds of google tricks and tools.  Very helpful but also makes a lot of background HTTP requests so privacy-conscious or speed-freaks will want it disabled.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6622?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">DOM Inspector</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />DOM Inspector is a tool that can be used to inspect and edit the live DOM of any web document or XUL application. The DOM hierarchy can be navigated using a two-paned window that allows for a variety of different views on the document and all nodes within. Note:  This add-on depends on binary changes to Firefox, and will not work with Firefox 2. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Way to inspect the DOM of a page, useful for web developers.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6459?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Stay-Open Menu</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/6459/1250004873" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Enables multiple selections from Bookmarks Menu,  History Menu, or Smart Location Bar (awesomebar)  dropdown list, without reopening menu or using sidebar. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/710?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Menu Editor</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Customize application menus: Rearrange or remove menuitems from the main context menu (right-click menu) and main menubar (File Edit View etc.) <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/4838?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Multiple Tab Handler</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/4838/1251873082" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Provides feature to close multiple tabs. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1815?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Console²</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1815/1246698544" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Console² (pronounced Console Squared or Console Two) replaces the JavaScript Console with what could be the next generation Error Console. From v0.5 includes the Console Filter extension previously available separately from the Console² website. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>An advanced java script console.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/6271?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Bookmark Previews</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Bookmark Previews adds an album view and thumbnail view to the bookmarks manager. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Now this one is what I call genius.  Lets you view previews of your bookmarks!  Great if like me you have over a thousand bookmarks.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/8542?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">LastPass Password Manager</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/8542/1252161868" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />LastPass is a free online password manager and Form Filler that makes your web browsing easier and more secure.   LastPass supports IE and Firefox as Plugins (Opera, Safari, Chrome, iPhone, Opera Mini via Bookmarklets), allows you to import from every major password storage vendor and export too, captures passwords that other managers won't including many AJAX forms, and allows you to make strong passwords easily.  Your sensitive data is encrypted _locally_ before upload so even LastPass cannot get access to it.  One Time Passwords &amp; Screen Keyboard help protect your master password. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>What can I say, this add-on is in my top 10 for sure, and I recommend it to all my friends and even my family.  Lets me create very secure passwords for sites that I don't have to remember because lastpass remembers them for me, and stores them encrypted on both a usb medium I keep, and on their servers.  So when I use someone elses computer or reinstall firefox, I have all my usernames and passwords, and its just sooooooooooooooooo useful.  Get this add-on, it truly is a secure way to only have to remember 1 password from now on, thus LastPass.  The last password you need.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1956?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tabs Open Relative</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1956/1211284492" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Tabs Open Relative makes all new tabs open to the right of the current tab, rather than at the far right of the tab bar (optionally this only applies to links). <br class="C" /></p>
    <blockquote class="publisher-comment"><p>This stops that annoying default of opening tabs wayy on the right.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/10909?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Coral IE Tab</a></h4>
    <p> <img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/10909/1255054707" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />An enhanced version of IE Tab which enables you to use the embedded IE engine within tabs of Mozilla Firefox. It supports Adblock Plus in IE, and can sync cookies between IE and Firefox. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/966?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Tamper Data</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Use tamperdata to view and modify HTTP/HTTPS headers and post parameters... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Useful for checking form validation and security, lets you tamper data! lol</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/5369?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">YSlow</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/5369/1253220367" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />YSlow analyzes web pages and why they're slow based on Yahoo!'s rules for high performance web sites. YSlow uses Yahoo!'s Smush.it service, which is subject to Smush.it Terms of Use: http://info.yahoo.com/legal/us/yahoo/smush_it/smush_it-4378.html <br class="C" /></p>
    <blockquote class="publisher-comment"><p>One of the top 3 most important and helpful add-ons for firefox.  Web Developers who don't use this one are simply irresponsible.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/539?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">MeasureIt</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Draw out a ruler to get the pixel width and height of any elements on a... <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/271?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">ColorZilla</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/271/1234546689" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Advanced Eyedropper, ColorPicker, Page Zoomer and other colorful goodies... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>A must-have add-on for anyone using CSS or developing websites, very amazing, highly capable add-on.  The one issue is that is is somewhat of a resource-hog.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/748?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Greasemonkey</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/748/1253968926" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Allows you to customize the way a webpage displays using small bits of JavaScript. ... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Lets you use user-contributed javascripts (or your own of course) that modifies the behavior and/or appearance of many different websites.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/684?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FireFTP</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/684/1254121244" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />FireFTP is a free, secure, cross-platform FTP client for Mozilla Firefox which provides easy and intuitive access to FTP servers. <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7943?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Pixel Perfect</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/7943/1254757574" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Pixel Perfect is a Firefox/Firebug extension that allows web developers and designers to easily overlay a web composition over top of the developed HTML. * Requires Firebug <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/60?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Web Developer</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/60/1252695377" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />The Web Developer extension adds a menu and a toolbar with various web developer tools. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>This add-on is 1 of the top 2 most important add-ons for web developers.  The other is firebug.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1843?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Firebug</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1843/1254249333" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Firebug integrates with Firefox to put a wealth of development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page... Firebug 1.4 requires Firefox 3.0 or higher. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>By far, without a doubt, the single most important and valuable add on for ANY web developer.  This is the one that is definitely required.  The features are too numerous to name here.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3829?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Live HTTP Headers</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3829/1245295166" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />View HTTP headers of a page and while... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Very helpful for those that don't have and use wireshark.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/2464?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FoxyProxy</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/2464/1254948830" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />FoxyProxy is an advanced proxy management tool that completely replaces Firefox's limited proxying capabilities. It offers more features than SwitchProxy, ProxyButton, QuickProxy, xyzproxy, ProxyTex, TorButton, etc. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>The most complete proxifying tool for firefox, multiple configurations possible.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/321?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">SearchStatus</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/321/1254725500" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Display the Google PageRank, Alexa rank, Compete ranking and SEOmoz Linkscape mozRank anywhere in your browser, along with fast keyword density analyser, keyword/nofollow highlighting, backward/related links, Alexa info and more. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Adds a very unobtrusive way to check the pagerank, and several other SEO statistics but only when you click a button (if configured that way) very helpful occasionally.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/201?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">DownThemAll!</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/201/1253178038" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />The first and only download manager/accelerator built inside Firefox! <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Very nice, easy, fast, and unobtrusive add-on that lets you download all files of a certain type to a certain save location, lets you use builtin filters or configure your own using basic REGEX.  Very helpful.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/1801?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Clear Cache Button</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/1801/1248704772" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Adds a clear cache toolbar button. After installing the extension, find the clear cache button in the toolbar customization... <br class="C" /></p>
    <blockquote class="publisher-comment"><p>A button you can add to your toolbar that clears your firefox cache (not cookies or history) which is invaluable for web developers.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/12006?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Wolfram Alpha Google</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/12006/1254285310" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Display Wolfram Alpha results in Google searches. No need to switch search engines when you can use both at once! <br class="C" /></p>
    <blockquote class="publisher-comment"><p>The new search is a glimpse at the future of computing.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/3895?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Personal Menu</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/3895/1253278678" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />"Menus Toolbar" item is now available in Toolbar Context Menu and you may hide it forever! <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Lets you go beyond firefox builtin menu editing and create a custom toolbar.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7613?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Jiffy</a></h4>
    <p><img src="https://addons.mozilla.org/img/default_icon.png" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title="default icon hacking" />Adds a new panel to Firebug for displaying timing measurements for JavaScript applications. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>Adds the ability to time or profile your javascript, I usually leave disabled.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/9603?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">FireRainbow</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/9603/1248403194" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Javascript syntax highlighting for Firebug 1.3+ <br class="C" /></p>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/7684?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">Fire.fm</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/7684/1254412991" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />Fire.fm gives you access to the extensive music library on Last.fm. Last.fm gives free radio to the US, UK, and Germany, plus subscriber-based service to the rest of the world. Listen to your favorite music and discover new artists in the process. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>What would work be without free streaming music that is customizable and recommends music based on your history.  Conveniently can be added to your status bar, or your toolbar.</p></blockquote>
</div>
<hr class="C" />


<div class="item-info">
    <h4><a href="https://addons.mozilla.org/en-US/firefox/addon/138?collection_uuid=2f6fd413%26%2345%3B1146%26%2345%3Bad49%26%2345%3B1cca%26%2345%3B84102bff60fb">StumbleUpon</a></h4>
    <p><img src="https://addons.mozilla.org/en-US/firefox/images/addon_icon/138/1248392473" alt="Firefox Add ons for Web Developers" height="32" width="32" class="IFL" title=" hacking" />StumbleUpon discovers web sites based on your interests, learns what you like and brings you more. <br class="C" /></p>
    <blockquote class="publisher-comment"><p>StumbleUpon is great.  Very cool way to see relevant and interesting web development articles and sites.</p></blockquote>
</div>
<hr class="C" /><p><a href="http://www.askapache.com/hacking/firefox-addons-webdev.html"></a><a href="http://www.askapache.com/hacking/firefox-addons-webdev.html">Firefox Add-ons for Web Developers</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/hacking/firefox-addons-webdev.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>An AskApache Plugin Upgrade to Rule them All</title>
		<link>http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html</link>
		<comments>http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html#comments</comments>
		<pubDate>Wed, 29 Jul 2009 17:59:07 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=3062</guid>
		<description><![CDATA[<p><a class="IFL" href="http://uploads.askapache.com/2009/07/apache-server-status.png"><img src="http://uploads.askapache.com/2009/07/apache-server-status-350x164.png" alt="apache-server-status" title="apache-server-status" width="350" height="164" class="alignnone size-medium wp-image-3070" /></a>So my blog as been rather quiet for almost a year now, and very few updates if any have been released for my Password Protection PLugin, my Google 404 Plugin, and definately not for my AskApache CrazyCache plugin, which I will be releasing last...  So for all of you who've helped me out by sending me suggestions and notifying me of errors and sticking with it...  Just wanted to <strong>say sorry about that, and thanks for all the great ideas.. </strong> Well, I've been sticking with it as well believe it our not.  I manage to get free days once in a while, and then its <strong>time to jam</strong>.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html"></a><a href="http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html"><cite>AskApache.com</cite></a></p><p><a class="IFL" href="http://uploads.askapache.com/2009/07/apache-server-status.png"><img src="http://uploads.askapache.com/2009/07/apache-server-status-350x164.png" alt="An AskApache Plugin Upgrade to Rule them All" title="apache-server-status" width="350" height="164" class="alignnone size-medium wp-image-3070" /></a>So my blog as been rather quiet for almost a year now, and very few updates if any have been released for my Password Protection PLugin, my Google 404 Plugin, and definately not for my AskApache CrazyCache plugin, which I will be releasing last...  So for all of you who've helped me out by sending me suggestions and notifying me of errors and sticking with it...  Just wanted to <strong>say sorry about that, and thanks for all the great ideas.. </strong> Well, I've been sticking with it as well believe it our not.  I manage to get free days once in a while, and then its <strong>time to jam</strong>.</p>
 <p>I've used just about every CMS/Blog/Forum/Trac/Gallery/etc) and really didn't like a lot of the way they coded...  I could use php but I didn't KNOW php.. so I've had to learn php also, and it was tough to learn the advanced class usage and all the other language specific (but similar) constructs for php.  It was especially difficult (but fun and challenging) to program so as to be compatible with php4 and php5 (Such is WordPress).    But I kept at it, and soon you can decide for yourself what to make of it.</p>
<p>I can code in plenty of languages (bash, lua, windows .bat and vbs,  ocaml, big fan of all things shell) and can work my way through C and even sorta somewhat with assembly.  Assembly is the hardest, by far,  I'm into easy and powerful languages like Python, Javascript, perl, php, ruby, and CGI. I've used PHP for a long time to do various things,  but never to build software projects like this.  Once I noticed WordPress's core .php files and the excellent programming I wanted to try and learn hot to do it.   The WordPress code is some of the best I've seen.  It appears the way they built it was planned, and not just dreamt up while typing that I can't help but do.    Every time I read through the core code I learn a new trick or very nice way to do something.  Those guys are really good, and I think WordPress is going to dominate for a long long time.</p>


<h2>The Strategy</h2>
<p>The Password Protection (passpro) plugin has a lot of complex stuff going on, especially for a newbie to PHP and WordPress like me, so after refactoring the whole thing at least 5 times I decided to modify my approach, and wrote the AskApache Google 404 Plugin as a way to practice on a simpler piece of code, while at the same time providing a plugin of value.   Eventually I stopped thinking I could just code the whole thing in one sit-down with a stream-of-consciousness, and had to instead modularize the code and focus in on each part before moving to the next (I go without a plan because its fun, just not the most productive, but again, I'm not a programmer in the scientific sense.).</p>
<p>So I decided I had to really learn how WordPress Plugins work, filters, hooks, actions, and basically comfortability at reverse-engineering code, (Im a beginner for the last time), and so with the upcoming release of the AskApache Google 404 Plugin I have succeeded in making an incredibly stable plugin.  That way I only have to worry about what the aapasspro plugin is doing, instead of trying to fit it into a framework.  </p>


<h2>AskApache Google 404 Upgrade</h2>
<p>I think its rather unusual to develop a nice plugin like this 404 handler merely for the purpose of improving upon another plugin, but hey it worked.  As of <em>08/03/2009 14:06PM EST</em> I have about 1 hour left of finishing touches to release this upgrade.  But as you cantell by my badly edited posts, I don't have a lot of time to myself.  An hour here and there is about it.  So it could be up to 2 weeks before I actually have the time to commit the release to the repo.  On a sidenote, have you checked out <a href="http://windows7news.com/" title="Windows 7 News">Windows 7 News</a>?  I've been contracted to do some technical work for them and thought they had an excellent site.</p>
<p><a href="http://uploads.askapache.com/2009/07/askapache-google-upgrade-ss1.png"><img src="http://uploads.askapache.com/2009/07/askapache-google-upgrade-ss1-344x350.png" alt="An AskApache Plugin Upgrade to Rule them All" title="askapache-google-upgrade-ss1" width="344" height="350" class="alignnone size-medium wp-image-3139" /></a></p>
<p><a href="http://uploads.askapache.com/2009/07/askapache-google-upgrade-ss2.png"><img src="http://uploads.askapache.com/2009/07/askapache-google-upgrade-ss2-293x350.png" alt="An AskApache Plugin Upgrade to Rule them All" title="askapache-google-upgrade-ss2" width="293" height="350" class="alignnone size-medium wp-image-3138" /></a></p>
<p>But keep in mind, the 404 PLugin is just where I practice for the passpro plugin, which truly does have features that no other software like it has ever had.  I understand the technology behind this plugin, and know it would really have a great impact on improving the Web (esp. WordPress) for all of us, I've just had to learn how to make it.</p>

<h2>AskApache Password Protection</h2>
<p>Probably still a couple weeks away, this plugin is the ultimate culmination of apache hackers dreams, at least those on shared servers (who may be interested in learning how to bypass security of said servers)..  So this is something I have much too fun with doing what I like to do.. network/protocol-level security.  I've examined the source code for many software packages that I use or have used to audit a server's security, and this simple php plugin in most instances can enumerate with accuraccy most of the server's setup in about a minute.  The catch (and the file permission problems I had to find a workaround too) is that this software is launched on the server, not remotely against the server.</p>
<p>Some of the software I examined was whiskers, nessus, nmap, hping, mozilla source, wireshark, ncftp, netcat, etc..  The closest comparison to the socket-level class I've hacked together to those is wireshark.  Except that wireshark only interprets (captures) the data passing over the wire, while this class does that and in fact sends and receives the data like netcat or nmap.  Its really more similar to metasploit, and can easily be used to send hex, binary, ascii, or any type of payload to the remote or local host.</p>


<h2>The Upgrades Begin</h2>
<p>Well I started working on them a long time ago.  Both the Password Protection plugin and the Google 404 plugin needed serious work.   And I finally have it all figured out.  Essentially I would work on one and finish an upgrade, but I just wasn't happy with it and I wold start all over again, refactoring the code.   So as I put the finishing touches on those 2 plugins keep an eye out.  They are major upgrades.   I was able to meet all the goals I had for them, and came up with a lot of more improvements during the process.One of the main things I needed was a socket-level class to perform all kinds of checks and tests on.  I need this also for my crazy cache plugin, which my blog is currently using ,  and I have a 2 more really nice pplugins I use that also needed  access to a network class.  I wrote about what I was doing with fsockopen, and I've been improving on that example ever since.  I use this class to do some really powerful and exciting stuff, but you'll see it soon enough.  As an indication of 'getting it right' for the Password Protection plugin, the plugin will now work on Windows, Apache, IIS, Lighthttpd, and will even work running on a blackberry web server.  So now everyone using wordpress can at least get some security()



<p class="enote">Many of the the other improvements focus on using the fsockopen class and .htaccess tricks to basically enumerate and discover all the different capabilities of your particular server;  That way you can learn about all the features and security that are possible for your specific server, and the securty modules wi8ll be geared for that as well.  FINALLY this plugin is going to be stable, and I just cant wait to see how people react when they learn all great capability their Apache-based Server has that they didn't have a clue about.   Its amazing in that sense, and hackers will love theh way it works.. but your server admins will love it even more because its entirely 100% focused on helping you to set your site up (if you have Apache) to keep spammers out, to keep virii-serving robots and their log-hogging exploit requests and CPU/Mem robiing 404 errors off of your servers for real.  This will have a noticeable affect to whoever is running the server.   As you can tell.. I am pumped!</br></p>


<hr class="C" />
Apache is easy to configure and use, but only when you have root access.  Most people on shared and private hosting aren't even able to view the main config file, let alone execute the Apache binaries to see what features are available and what configuration is being used.<br class="C" /></p>

<p>Apache can only be influenced by the main server configs and by .htaccess files.  Not by php, not by perl, and the main configs are almost never accessible to the masses.  But .htaccess files are.  And many hosting providers allow and enable .htaccess files, a configuration file for your web server.  The advanced features and capabilities of Apache were out of reach for most of us, it just wasn't possible to enumerate or access, and most hosting providers are infamous for their lack of .htaccess (customer) support.  This plugin goes around those problems to give the power back to the people.<br class="C" /></p>y creating custom .htaccess files containing unpublished .htaccess tricks and techniques and combining that with the use of socket-level networking from WordPress (PHP) using <a href="http://www.askapache.com/php/fsockopen-socket.html">fsockopen</a>, we can effectively enumerate and discover an incredible amount of features and settings you will be able to control and use with this plugin.</p>

<p>Here are a few examples of the capabilities of this plugin, some of which I believe no other software can do..  <em>(Open source free to copy!)</em>.</p>
<ol>
<li>Current Version of Apache (<strong>Down to the API Version</strong>)</li>
<li>List of <strong>ALL Modules currently enabled</strong> by Apache (Such as Mod_Rewrite)</li>
<li>List of <strong>ALL Directives enabled by EACH enabled Module.</strong></li>
<li>Enumerate .htaccess Overrides, Context Permissions</li>
<li>Test for any builtin Handlers (like the <a href="http://uploads.askapache.com/2009/07/apache-server-status.png">status handler screenshot</a>)</li>
<li>Configure SSI (<a href="http://www.askapache.com/htaccess/advanced-htaccess-ssi.html#htaccess-ssi-security">http://www.askapache.com/htaccess/advanced-htaccess-ssi.html#htaccess-ssi-security</a>)</li>
</ol>


<blockquote cite="http://www.askapache.com/htaccess/password-protection-plugin-status.html"><div class="inote"><cite><a href="http://www.askapache.com/htaccess/password-protection-plugin-status.html"></a></cite><p><strong>March 1, 2009</strong><br /><strong>I would focus on the method that WordPress uses</strong>.  The code they have now (2.8 bleeding-edge) still isn't where it needs to be, but this is some difficult stuff and <strong>they have a brilliant start, it'll work.. just a question of when</strong>.</p>
<p><a class="IFL" href="http://uploads.askapache.com/2009/03/apache-security-model-tall1.png"><img src="http://uploads.askapache.com/2009/03/apache-security-model-tall1-250x123.png" alt="Apache Security Model - In Color" title="apache-security-model-wide" width="250" height="123" /></a><strong>The main issue</strong> with the password protection plugin working for some people and not others is due to <a title="detailed file permission article" href="http://www.askapache.com/security/chmod-stat.html">file permission configurations</a>.  The plugin attempts to write/modify files in your blog's root directory.<br class="C" /></p></div></blockquote>
<hr class="C" />

<blockquote cite="http://www.askapache.com/htaccess/htaccess-plugin-blocks-spam-hackers-and-password-protects-blog.html"><div class="inote"><cite><a href="http://www.askapache.com/htaccess/htaccess-plugin-blocks-spam-hackers-and-password-protects-blog.html"></a></cite><p><strong>November 05, 2008</strong><br />To make a long story short, I downloaded each major release of the apache httpd source code starting at version 1.3.0 and finishing with version 2.2.11, I then compiled each version and built a HTTPD from source for all these apache versions.</p>
<div><div style="width:100px;overflow:hidden;float:left;"><ul><li>1.3.0</li><li>1.3.1</li><li>1.3.11</li><li>1.3.12</li><li>1.3.14</li><li>1.3.17</li><li>1.3.19</li><li>1.3.2</li><li>1.3.20</li><li>1.3.22</li><li>1.3.23</li><li>1.3.24</li><li>1.3.27</li><li>1.3.28</li></ul></div><div style="width:100px;overflow:hidden;float:left;"><ul><li>1.3.29</li><li>1.3.3</li><li>1.3.31</li><li>1.3.32</li><li>1.3.33</li><li>1.3.34</li><li>1.3.35</li><li>1.3.36</li><li>1.3.37</li><li>1.3.39</li><li>1.3.4</li><li>1.3.41</li><li>1.3.6</li><li>1.3.9</li></ul></div>
<div style="width:100px;overflow:hidden;float:left;"><ul><li>2.0.35</li><li>2.0.36</li><li>2.0.39</li><li>2.0.40</li><li>2.0.42</li><li>2.0.43</li><li>2.0.44</li><li>2.0.45</li><li>2.0.46</li><li>2.0.47</li><li>2.0.48</li><li>2.0.49</li><li>2.0.50</li><li>2.0.51</li></ul></div><div style="width:150px;overflow:hidden;float:left;"><ul><li>2.0.52</li><li>2.0.53</li><li>2.0.54</li><li>2.0.55</li><li>2.0.58</li><li>2.0.59</li><li>2.0.61</li><li>2.0.63</li><li>2.1.3-beta</li><li>2.1.6-alpha</li><li>2.1.7-beta</li><li>2.1.8-beta</li><li>2.1.9-beta</li></ul></div><div style="width:100px;overflow:hidden;float:left;"><ul><li>2.2.0</li><li>2.2.10</li><li>2.2.2</li><li>2.2.3</li><li>2.2.4</li><li>2.2.6</li><li>2.2.8</li><li>2.2.9</li><li><strong>2.2.10</strong></li><li><strong>2.2.11</strong></li></ul></div><br class="C" /></div>
<p>Then I went through each version and determined the compatible modules for that version, and I'm pretty confident that I was also able to find each and every directive allowed by the compatible modules for that version (including core directives).  See <a href="http://www.askapache.com/htaccess/htaccess.html#htaccess-directives">.htaccess directive list</a>.  Basically I can now test a server using a variety of methods and determine almost 100% accurately what version of Apache (down to the API) is running, what modules (and versions) are enabled, and each and every directive that is allowed or disallowed for that version.  So this is so awesome because now we can enable all sorts of additional security features.</p>
</div>
</blockquote>
<hr class="C" />




<blockquote cite="http://www.askapache.com/htaccess/htaccess.html#htaccess-modules"><cite><a href="http://www.askapache.com/htaccess/htaccess.html#htaccess-modules">Htaccess enabled Modules</a></cite><p>Here are most of the modules that come with Apache.  Each one can have new commands that can be used in .htaccess file scopes.</p>
<p><a href="http://www.askapache.com/servers/mod_actions.c.html">mod_actions</a>, <a href="http://www.askapache.com/servers/mod_alias.c.html">mod_alias</a>, <a href="http://www.askapache.com/servers/mod_asis.c.html">mod_asis</a>, <a href="http://www.askapache.com/servers/mod_auth_basic.c.html">mod_auth_basic</a>, <a href="http://www.askapache.com/servers/mod_auth_digest.c.html">mod_auth_digest</a>, <a href="http://www.askapache.com/servers/mod_authn_anon.c.html">mod_authn_anon</a>, <a href="http://www.askapache.com/servers/mod_authn_dbd.c.html">mod_authn_dbd</a>, <a href="http://www.askapache.com/servers/mod_authn_dbm.c.html">mod_authn_dbm</a>, <a href="http://www.askapache.com/servers/mod_authn_default.c.html">mod_authn_default</a>, <a href="http://www.askapache.com/servers/mod_authn_file.c.html">mod_authn_file</a>, <a href="http://www.askapache.com/servers/mod_authz_dbm.c.html">mod_authz_dbm</a>, <a href="http://www.askapache.com/servers/mod_authz_default.c.html">mod_authz_default</a>, <a href="http://www.askapache.com/servers/mod_authz_groupfile.c.html">mod_authz_groupfile</a>, <a href="http://www.askapache.com/servers/mod_authz_host.c.html">mod_authz_host</a>, <a href="http://www.askapache.com/servers/mod_authz_owner.c.html">mod_authz_owner</a>, <a href="http://www.askapache.com/servers/mod_authz_user.c.html">mod_authz_user</a>, <a href="http://www.askapache.com/servers/mod_autoindex.c.html">mod_autoindex</a>, <a href="http://www.askapache.com/servers/mod_cache.c.html">mod_cache</a>, <a href="http://www.askapache.com/servers/mod_cern_meta.c.html">mod_cern_meta</a>, <a href="http://www.askapache.com/servers/mod_cgi.c.html">mod_cgi</a>, <a href="http://www.askapache.com/servers/mod_dav.c.html">mod_dav</a>, <a href="http://www.askapache.com/servers/mod_dav_fs.c.html">mod_dav_fs</a>, <a href="http://www.askapache.com/servers/mod_dbd.c.html">mod_dbd</a>, <a href="http://www.askapache.com/servers/mod_deflate.c.html">mod_deflate</a>, <a href="http://www.askapache.com/servers/mod_dir.c.html">mod_dir</a>, <a href="http://www.askapache.com/servers/mod_disk_cache.c.html">mod_disk_cache</a>, <a href="http://www.askapache.com/servers/mod_dumpio.c.html">mod_dumpio</a>, <a href="http://www.askapache.com/servers/mod_env.c.html">mod_env</a>, <a href="http://www.askapache.com/servers/mod_expires.c.html">mod_expires</a>, <a href="http://www.askapache.com/servers/mod_ext_filter.c.html">mod_ext_filter</a>, <a href="http://www.askapache.com/servers/mod_file_cache.c.html">mod_file_cache</a>, <a href="http://www.askapache.com/servers/mod_filter.c.html">mod_filter</a>, <a href="http://www.askapache.com/servers/mod_headers.c.html">mod_headers</a>, <a href="http://www.askapache.com/servers/mod_ident.c.html">mod_ident</a>, <a href="http://www.askapache.com/servers/mod_imagemap.c.html">mod_imagemap</a>, <a href="http://www.askapache.com/servers/mod_include.c.html">mod_include</a>, <a href="http://www.askapache.com/servers/mod_info.c.html">mod_info</a>, <a href="http://www.askapache.com/servers/mod_log_config.c.html">mod_log_config</a>, <a href="http://www.askapache.com/servers/mod_log_forensic.c.html">mod_log_forensic</a>, <a href="http://www.askapache.com/servers/mod_logio.c.html">mod_logio</a>, <a href="http://www.askapache.com/servers/mod_mem_cache.c.html">mod_mem_cache</a>, <a href="http://www.askapache.com/servers/mod_mime.c.html">mod_mime</a>, <a href="http://www.askapache.com/servers/mod_mime_magic.c.html">mod_mime_magic</a>, <a href="http://www.askapache.com/servers/mod_negotiation.c.html">mod_negotiation</a>, <a href="http://www.askapache.com/servers/mod_proxy.c.html">mod_proxy</a>, <a href="http://www.askapache.com/servers/mod_proxy_ajp.c.html">mod_proxy_ajp</a>, <a href="http://www.askapache.com/servers/mod_proxy_balancer.c.html">mod_proxy_balancer</a>, <a href="http://www.askapache.com/servers/mod_proxy_connect.c.html">mod_proxy_connect</a>, <a href="http://www.askapache.com/servers/mod_proxy_ftp.c.html">mod_proxy_ftp</a>, <a href="http://www.askapache.com/servers/mod_proxy_http.c.html">mod_proxy_http</a>, <a href="http://www.askapache.com/servers/mod_rewrite.c.html">mod_rewrite</a>, <a href="http://www.askapache.com/servers/mod_setenvif.c.html">mod_setenvif</a>, <a href="http://www.askapache.com/servers/mod_speling.c.html">mod_speling</a>, <a href="http://www.askapache.com/servers/mod_ssl.c.html">mod_ssl</a>, <a href="http://www.askapache.com/servers/mod_status.c.html">mod_status</a>, <a href="http://www.askapache.com/servers/mod_substitute.c.html">mod_substitute</a>, <a href="http://www.askapache.com/servers/mod_unique_id.c.html">mod_unique_id</a>, <a href="http://www.askapache.com/servers/mod_userdir.c.html">mod_userdir</a>, <a href="http://www.askapache.com/servers/mod_usertrack.c.html">mod_usertrack</a>, <a href="http://www.askapache.com/servers/mod_version.c.html">mod_version</a>, <a href="http://www.askapache.com/servers/mod_vhost_alias.c.html">mod_vhost_alias</a></p></blockquote>
<hr class="C" /><hr class="C" />




<h2>Debugging HTTP protocol</h2>
<p>Check this out!  I'm particularly happy about this feature, which outputs an exact trace of any requests made by the plugin (such as during the testing phase) by saving the actual raw data sent out on the wire using fsockopen, RX and TX.  This is useful for a number of reasons, viewing your headers, finding Redirect Loops, testing RewriteRules, and following the request hop-by-hop for debugging.  The below example shows 2 requests for 2 URIs.  The first URI is protected using Digest Authentication, the 2nd shows Basic.</p>
<pre> ______________
|  RAW TRACE   |
==================================================================================================================================
GET /htaccess/index.txt?testing=query HTTP/1.1
Host: www.askapache.com
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1) AA_PassPro/1.9 (http://www.askapache.com/)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://www.askapache.com/
&nbsp;
HTTP/1.1 401 Authorization Required
Date: Wed, 22 Jul 2009 06:29:58 GMT
Server: Apache
WWW-Authenticate: Digest realm="do or die", nonce="03328f3ec7c7b", algorithm=MD5, domain="/", qop="auth"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 882
Connection: close
Content-Type: text/html; charset=UTF-8
&nbsp;
GET /htaccess/index.txt?testing=query HTTP/1.1
Host: www.askapache.com
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1) AA_PassPro/1.9 (http://www.askapache.com/)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://www.askapache.com/
Authorization: Digest username="test",realm="do or die",nonce="03328f3ec7c7b",uri="/htaccess/index.txt?testing=query",
cnonce="82d057852a9dc497",nc=00000001,algorithm=MD5,response="9d476e9ea3",qop="auth"
&nbsp;
HTTP/1.1 200 OK
Date: Wed, 22 Jul 2009 06:29:58 GMT
Server: Apache
Authentication-Info: rspauth="9051b01ee26dd62b3e2b40dada694f45", cnonce="82d057852a9dc497", nc=00000001, qop=auth
Last-Modified: Tue, 21 Jul 2009 23:56:00 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3600
Expires: Wed, 22 Jul 2009 07:29:58 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 27
Connection: close
Content-Type: text/plain; charset=UTF-8
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
&nbsp;
 ______________
|  RAW TRACE   |
==================================================================================================================================
GET /htaccess/po.txt?testing=query HTTP/1.1
Host: www.askapache.com
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1) AA_PassPro/1.9 (http://www.askapache.com/)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://www.askapache.com/
&nbsp;
HTTP/1.1 401 Authorization Required
Date: Wed, 22 Jul 2009 06:29:58 GMT
Server: Apache
WWW-Authenticate: Basic realm="Po Pimping"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 878
Connection: close
Content-Type: text/html; charset=UTF-8
&nbsp;
GET /htaccess/po.txt?testing=query HTTP/1.1
Host: www.askapache.com
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1) AA_PassPro/1.9 (http://www.askapache.com/)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://www.askapache.com/
Authorization: Basic adfAGAltcA==
&nbsp;
HTTP/1.1 200 OK
Date: Wed, 22 Jul 2009 06:29:58 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 05:54:39 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3600
Expires: Wed, 22 Jul 2009 07:29:58 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 27
Connection: close
Content-Type: text/plain; charset=UTF-8
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````</pre>














<h2>.htaccess Directives</h2>
<p>AcceptFilter, AcceptMutex, AcceptPathInfo, AccessFileName, Action, AddAlt, AddAltByEncoding, AddAltByType, AddCharset, AddDefaultCharset, AddDescription, AddEncoding, AddHandler, AddIcon, AddIconByEncoding, AddIconByType, AddInputFilter, AddLanguage, AddModuleInfo, AddOutputFilter, AddOutputFilterByType, AddType, Alias, AliasMatch, AllowCONNECT, AllowEncodedSlashes, AllowOverride, Anonymous, Anonymous_Authoritative, Anonymous_LogEmail, Anonymous_MustGiveEmail, Anonymous_NoUserID, Anonymous_NoUserId, Anonymous_VerifyEmail, AssignUserId, AuthAuthoritative, AuthBasicAuthoritative, AuthBasicProvider, AuthDBDUserPWQuery, AuthDBDUserRealmQuery, AuthDBM, AuthDBMAuthoritative, AuthDBMGroupFile, AuthDBMType, AuthDBMUserFile, AuthDefaultAuthoritative, AuthDigestAlgorithm, AuthDigestDomain, AuthDigestFile, AuthDigestGroupFile, AuthDigestNcCheck, AuthDigestNonceFormat, AuthDigestNonceLifetime, AuthDigestProvider, AuthDigestQop, AuthDigestShmemSize, AuthGroupFile, AuthLDAPAuthzEnabled, AuthLDAPBindDN, AuthLDAPBindON, AuthLDAPBindPassword, AuthLDAPCharsetConfig, AuthLDAPCompareDNOnServer, AuthLDAPDereferenceAliases, AuthLDAPEnabled, AuthLDAPFrontPageHack, AuthLDAPGroupAttribute, AuthLDAPGroupAttributeIsDN, AuthLDAPRemoteUserAttribute, AuthLDAPRemoteUserIsDN, AuthLDAPStartTLS, AuthLDAPURL, AuthLDAPUrl, AuthName, AuthType, AuthUserFile, AuthzDBMAuthoritative, AuthzDBMType, AuthzDefaultAuthoritative, AuthzGroupFileAuthoritative, AuthzLDAPAuthoritative, AuthzOwnerAuthoritative, AuthzUserAuthoritative, BS2000Account, BalancerMember, BrowserMatch, BrowserMatchNoCase, BufferedLogs, CGIMapExtension, CacheDefaultExpire, CacheDirLength, CacheDirLevels, CacheDisable, CacheEnable, CacheExpiryCheck, CacheFile, CacheForceCompletion, CacheGcClean, CacheGcDaily, CacheGcInterval, CacheGcMemUsage, CacheGcUnused, CacheIgnoreCacheControl, CacheIgnoreHeaders, CacheIgnoreNoLastMod, CacheLastModifiedFactor, CacheMaxExpire, CacheMaxFileSize, CacheMaxStreamingBuffer, CacheMinFileSize, CacheNegotiatedDocs, CacheRoot, CacheSize, CacheStoreNoStore, CacheStorePrivate, CacheTimeMargin, CharsetDefault, CharsetOptions, CharsetSourceEnc, CheckCaseOnly, CheckSpelling, ChildPerUserId, ContentDigest, CookieDomain, CookieExpires, CookieLog, CookieName, CookieStyle, CookieTracking, CoreDumpDirectory, CustomLog, DAV, DAVDepthInfinity, DAVGenericLockDB, DAVMinTimeout, DBDExptime, DBDKeep, DBDMax, DBDMin, DBDParams, DBDPersist, DBDPrepareSQL, DBDriver, Dav, DavDepthInfinity, DavGenericLockDB, DavLockDB, DavMinTimeout, DefaultIcon, DefaultLanguage, DefaultType, DeflateBufferSize, DeflateCompressionLevel, DeflateFilterNote, DeflateMemLevel, DeflateWindowSize, Directory, DirectoryIndex, DirectoryMatch, DirectorySlash, DocumentRoot, DumpIOInput, DumpIOOutput, EnableExceptionHook, EnableMMAP, EnableSendfile, ErrorDocument, ErrorLog, Example, ExpiresActive, ExpiresByType, ExpiresDefault, ExtFilterDefine, ExtFilterOptions, ExtendedStatus, FancyIndexing, FileETag, Files, FilesMatch, FilterChain, FilterDeclare, FilterProtocol, FilterProvider, FilterTrace, ForceLanguagePriority, ForceType, ForensicLog, GprofDir, GracefulShutdownTimeout, Group, Header, HeaderName, HostNameLookups, HostnameLookups, ISAIPFakeAsync, ISAPIAppendLogToErrors, ISAPIAppendLogToQuery, ISAPICacheFile, ISAPIFakeAsync, ISAPILogNotSupported, ISAPIReadAheadBuffer, IdentityCheck, IdentityCheckTimeout, IfDefine, IfModule, IfVersion, ImapBase, ImapDefault, ImapMenu, Include, IndexIgnore, IndexOptions, IndexOrderDefault, IndexStyleSheet, KeepAlive, KeepAliveTimeout, LDAPCacheEntries, LDAPCacheTTL, LDAPCertDBPath, LDAPConnectionTimeout, LDAPOpCacheEntries, LDAPOpCacheTTL, LDAPSharedCacheFile, LDAPSharedCacheSize, LDAPTrustedClientCert, LDAPTrustedGlobalCert, LDAPTrustedMode, LDAPVerifyServerCert, LanguagePriority, Limit, LimitExcept, LimitInternalRecursion, LimitRequestBody, LimitRequestFields, LimitRequestFieldsize, LimitRequestLine, LimitXMLRequestBody, Listen, ListenBacklog, LoadFile, LoadModule, Location, LocationMatch, LockFile, LogFormat, LogLevel, MCacheMaxObjectCount, MCacheMaxObjectSize, MCacheMaxStreamingBuffer, MCacheMinObjectSize, MCacheRemovalAlgorithm, MCacheSize, MMapFile, MaxClients, MaxKeepAliveRequests, MaxMemFree, MaxRequestsPerChild, MaxSpareServers, MaxSpareThreads, MaxSpareThreadsPerChild, MaxThreads, MetaDir, MetaFiles, MetaSuffix, MimeMagicFile, MinSpareServers, MinSpareThreads, ModMimeUsePathInfo, MultiviewsMatch, NWSSLTrustedCerts, NWSSLUpgradeable, NameVirtualHost, NoProxy, NumServers, Options, PassEnv, PerlAccessHandler, PerlAuthenHandler, PerlAuthzHandler, PerlChildExitHandler, PerlChildInitHandler, PerlCleanupHandler, PerlDispatchHandler, PerlFixupHandler, PerlFreshRestart, PerlHandler, PerlHeaderParserHandler, PerlInitHandler, PerlLogHandler, PerlModule, PerlPassEnv, PerlPostReadRequestHandler, PerlRequire, PerlRestartHandler, PerlSendHeader, PerlSetEnv, PerlSetVar, PerlSetupEnv, PerlTaintCheck, PerlTransHandler, PerlTypeHandler, PerlWarn, PidFile, Port, Protocol, ProtocolEcho, Proxy, ProxyBadHeader, ProxyBlock, ProxyDomain, ProxyErrorOverride, ProxyFtpDirCharset, ProxyIOBufferSize, ProxyMatch, ProxyMaxForwards, ProxyPass, ProxyPassInterpolateEnv, ProxyPassMatch, ProxyPassReverse, ProxyPassReverseCookieDomain, ProxyPassReverseCookiePath, ProxyPreserveHost, ProxyReceiveBufferSize, ProxyRemote, ProxyRemoteMatch, ProxyRequests, ProxySet, ProxyStatus, ProxyTimeout, ProxyVia, RLimitCPU, RLimitMEM, RLimitNPROC, ReadmeName, Redirect, RedirectMatch, RedirectPermanent, RedirectTemp, RemoveCharset, RemoveEncoding, RemoveHandler, RemoveInputFilter, RemoveLanguage, RemoveOutputFilter, RemoveType, RequestHeader, Require, RewriteBase, RewriteCond, RewriteEngine, RewriteLock, RewriteLog, RewriteLogLevel, RewriteMap, RewriteOptions, RewriteRule, SSIAccessEnable, SSIEndTag, SSIErrorMsg, SSIStartTag, SSITimeFormat, SSIUndefinedEcho, SSLCACertificateFile, SSLCACertificatePath, SSLCADNRequestFile, SSLCADNRequestPath, SSLCARevocationFile, SSLCARevocationPath, SSLCertificateChainFile, SSLCertificateFile, SSLCertificateKeyFile, SSLCipherSuite, SSLCryptoDevice, SSLEngine, SSLHonorCipherOrder, SSLLog, SSLLogLevel, SSLMutex, SSLOptions, SSLPassPhraseDialog, SSLProtocol, SSLProxyCACertificateFile, SSLProxyCACertificatePath, SSLProxyCARevocationFile, SSLProxyCARevocationPath, SSLProxyCipherSuite, SSLProxyEngine, SSLProxyMachineCertificateFile, SSLProxyMachineCertificatePath, SSLProxyProtocol, SSLProxyVerify, SSLProxyVerifyDepth, SSLRandomSeed, SSLRequire, SSLRequireSSL, SSLSessionCache, SSLSessionCacheTimeout, SSLUserName, SSLVerifyClient, SSLVerifyDepth, Satisfy, ScoreBoardFile, Script, ScriptAlias, ScriptAliasMatch, ScriptInterpreterSource, ScriptLog, ScriptLogBuffer, ScriptLogLength, ScriptStock, SecureListen, SendBufferSize, ServerAdmin, ServerAlias, ServerLimit, ServerName, ServerPath, ServerRoot, ServerSignature, ServerTokens, SetEnv, SetEnvIf, SetEnvIfNoCase, SetHandler, SetInputFilter, SetOutputFilter, StartServers, StartThreads, Substitute, SuexecUserGroup, ThreadLimit, ThreadStackSize, ThreadsPerChild, TimeOut, Timeout, TraceEnable, TransferLog, TypeAuthDBMUserFile, TypesConfig, UnsetEnv, UseCanonicalName, UseCanonicalPhysicalPort, User, UserDir, VirtualDocumentRoot, VirtualDocumentRootIP, VirtualHost, VirtualScriptAlias, VirtualScriptAliasIP, Win32DisableAcceptEx, XBitHack, allow, deny, order, php_admin_flag, php_admin_value, php_flag, php_value</p>



<p class="anote">You can view the <a href="http://www.askapache.com/htaccess/htaccess-security-block-spam-hackers.html">plugins home page</a>, <a href="http://www.askapache.com/wordpress/htaccess-password-protect.html#aadl">old</a>, or <a href="http://wordpress.org/extend/plugins/askapache-password-protect/">view it on the wordpress.org site</a>.</p><p><a href="http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html"></a><a href="http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html">An AskApache Plugin Upgrade to Rule them All</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/wordpress/an-askapache-plugin-upgrade-to-rule-them-all.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>COMPUTER SECURITY TOOLBOX</title>
		<link>http://www.askapache.com/security/computer-security-toolbox-2.html</link>
		<comments>http://www.askapache.com/security/computer-security-toolbox-2.html#comments</comments>
		<pubDate>Sat, 27 Sep 2008 00:29:52 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.askapache.com.com/webmaster/computer-security-toolbox-2.html</guid>
		<description><![CDATA[List of mainly obscure security software geared more for the master pentester. These are mostly for unix, bsd, and mac and many are difficult to install and setup (require custom servers, inside access points, obscure libraries). Only programs that output data are included, so no actual exploits or anything.  Most of these output extremely useful albeit extremely technical information.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"></a><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"><cite>AskApache.com</cite></a></p><p>List of mainly obscure security software geared more for the master pentester. These are mostly for unix, bsd, and mac and many are difficult to install and setup <em>(require custom servers, inside access points, obscure libraries)</em>.  Only programs that output data are included, so no actual exploits or anything.  Most of these output extremely useful albeit extremely technical information.</p>

<p class="anote">You may be looking for the article: <a href="http://www.askapache.com/security/vulnerability-scanners-review.html">Vulnerability Scanners Review</a>, or <a href="http://www.askapache.com/security/top-5-best-vulnerability-port-scanners.html">Top 5 Vulnerability Port Scanners</a></p>

<h2>Obscure/Rare Security Software</h2>
<dl>
<dt>rwhois</dt>
<dd>really great addition to using whois. Get additional info not on whois, query rwhois servers.</dd>
<dt>lft</dt>
<dd>useful alternative method of tracerouteing. oppleman</dd>
<dt>packit</dt>
<dd>define (spoof) nearly all TCP, UDP, ICMP, IP, ARP, RARP, and Ethernet header options</dd>
<dt>etherape</dt>
<dd>really cool graphical program that displays connections and protocols similar to cheops.</dd>
<dt>amap</dt>
<dd>fingerprinting</dd>
<dt>xprobe2</dt>
<dd>fingerprinting</dd>
<dt>p0f2</dt>
<dd>really exceptional fingerprinting. can be passively run in the BG.</dd>
<dt>firewalk</dt>
<dd>good packetfiltering enumerator</dd>
<dt>BGPview</dt>
<dd>bgp anyone?</dd>
<dt>icmpenum</dt>
<dd>icmp fingerprinting</dd>
<dt>dnstracer</dt>
<dd>awesome and creative graphical output of dns</dd>
<dt>ssldump</dt>
<dd>not really that useful but impressive in a report</dd>
<dt>ftester</dt>
<dd>for master pentesters only &mdash; get the lowdown on your packetfiltering</dd>
<dt>mtr</dt>
<dd>alternative traceroute</dd>
<dt>MRTG</dt>
<dd>favorite tool of ISPs, many uses here</dd>
<dt>host</dt>
<dd>don't forget this one</dd>
<dt>ike-scan</dt>
<dd>scan for vpns</dd>
<dt>upnpscan</dt>
<dd>scan for upnp devices</dd>
<dt>ftp-spider</dt>
<dd>get info on ftp server</dd>
<dt>traceproto</dt>
<dd>very nice alternative to traceroute/firewalk</dd>
<dt>sing</dt>
<dd>packet crafting</dd>
<dt>nmbscan</dt>
<dd>NBM Scanner</dd>
<dt>nbtscan</dt>
<dd>NBT Scanner</dd>
<dt>admsmb</dt>
<dd>ADMsmb</dd>
<dt>netleak</dt>
<dd>Netleak</dd>
<dt>dmitry</dt>
<dd>&nbsp;</dd>
<dt>sara</dt>
<dd>Original security auditing software</dd>
<dt>isic</dt>
<dd>ISIC</dd>
<dt>dnsa</dt>
<dd>DNS</dd>
<dt>nemesis</dt>
<dd>Packet Crafting</dd>
<dt>zodiacdns</dt>
<dd>DNS Hacking</dd>
<dt>fragroute</dt>
<dd>Fragmented Packet Crafter/Scanner</dd>
<dt>sentry 2.0</dt>
<dd>&nbsp;</dd>
<dt>Caecus</dt>
<dd>&nbsp;</dd>
<dt>C-Parse</dt>
<dd>&nbsp;</dd>
<dt>ftester</dt>
<dd>Master Pentesting Tool, Map out the filtering of your firewall with internal and external nodes</dd>
<dt>pchar</dt>
</dl>


<h2>More common security programs</h2>
<dl>
<dt><a href="http://www.nessus.org">Nessus</a></dt>
<dd>Premier UNIX vulnerability assessment tool - Nessus is the best free network vulnerability scanner available, and the best to run on UNIX at any price.  It is constantly updated, with more than 11,000 plugins for the free (but registration and EULA-acceptance required) feed.  Key features include remote and local (authenticated) security checks, a client/server architecture with a GTK graphical interface, and an embedded scripting language for writing your own plugins or understanding the existing ones.</dd>
<dt><a href="http://www.wireshark.org/">Wireshark</a></dt>
<dd>Sniffing the glue that holds the Internet together - Wireshark (known as <a href="http://www.ethereal.com">Ethereal</a> until a trademark dispute in Summer 2006) is a fantastic open source network protocol analyzer for Unix and Windows.  It allows you to examine data from a live network or from a capture file on disk. You can interactively browse the capture data, delving down into just the level of packet detail you need.  Wireshark has several powerful features, including a rich display filter language and the ability to view the reconstructed stream of a TCP session. It also supports hundreds of protocols and media types.  A tcpdump-like console version named tethereal is included.  One word of caution is that Ethereal has suffered from dozens of remotely exploi security holes, so stay up-to-date and be wary of running it on unusted or hostile networks (such as security conferences).</dd>
<dt><a href="http://www.snort.org/">Snort</a></dt>
<dd>A Everyone's favorite open source IDS - This lightweight network inusion detection and prevention system excels at traffic analysis and packet logging on IP networks.  Through protocol analysis, content searching, and various pre-processors, Snort detects thousands of worms, vulnerability exploit attempts, port scans, and other suspicious behavior.  Snort uses a flexible rule-based language to describe traffic that it should collect or pass, and a modular detection engine.  Also check out the free <a href="http://secureideas.sourceforge.net/">Basic Analysis and Security Engine (BASE)</a>, a web interface for analyzing Snort alerts. Open source Snort works fine for many individuals, small businesses, and departments.  Parent company <a href="http://www.sourcefire.com">SourceFire</a> offers a complimentary product line with more enterprise-level features and real-time rule updates.  They offer a free (with registration) 5-day-delayed rules feed, and you can also find many great free rules at <a href="http://www.bleedingsnort.com">Bleeding Edge Snort</a>.</dd>
<dt><a href="http://www.vulnwatch.org/netcat/">Netcat</a></dt>
<dd>The network Swiss army knife - This simple utility reads and writes data across TCP or UDP network connections.  It is designed to be a reliable back-end tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need, including port binding to accept incoming connections. The original Netcat was <a href="http://seclists.org/bugaq/1995/Oct/0028.html">released</a> by Hobbit in 1995, but it hasn't been maintained despite its immense popularity.  It can sometimes even be hard to find nc110.tgz.  The flexibility and usefulness of this tool have prompted people to write numerous other Netcat implementations - often with modern features not found in the original.  One of the most interesting is Socat, which extends Netcat to support many other socket types, SSL encryption, SOCKS proxies, and more.  It even made this list on its own merits.  There is also <a href="http://sourceforge.net/projects/nmap-ncat/">Chris Gibson's Ncat</a>, which offers even more features while remaining por and compact.  Other takes on Netcat include <a href="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/">OpenBSD's nc</a>, <a href="http://farm9.org/Cryptcat/">Cryptcat</a>, <a href="http://www.deepspace6.net/projects/netcat6.html">Netcat6</a>, <a href="http://dcs.nac.uci.edu/%7Esombrg/pnetcat.html">PNetcat</a>, <a href="http://tigerteam.se/dl/sbd/">SBD</a>, and so-called <a href="http://netcat.sourceforge.net/">GNU Netcat</a>.</dd>
<dt><a href="http://www.metasploit.com/">Metasploit Framework</a></dt>
<dd>Hack the Planet - Metasploit took the security world by storm when it was released in 2004.  No other new tool even broke into the top 15 of this list, yet Metasploit comes in at #5, ahead of many well-loved tools that have been developed for more than a decade.  It is an advanced open-source platform for developing, testing, and using exploit code.  The extensible model through which payloads, encoders, no-op generators, and exploits can be integrated has made it possible to use the Metasploit Framework as an outlet for cutting-edge exploitation research.  It ships with hundreds of exploits, as you can see in their <a href="http://metasploit.com:55555">online exploit building demo</a>.  This makes writing your own exploits easier, and it certainly beats scouring the darkest corners of the Internet for illicit shellcode of dubious quality.  Similar professional exploitation tools, such as Core Impact and Canvas already existed for wealthy users on all sides of the ethical specum.  Metasploit simply brought this capability to the masses.</dd>
<dt><a href="http://www.hping.org/">Hping2</a></dt>
<dd>A network probing utility like ping on steroids - This handy little utility assembles and sends custom ICMP, UDP, or TCP packets and then displays any replies. It was inspired by the ping command, but offers far more conol over the probes sent. It also has a handy aceroute mode and supports IP fragmentation. This tool is particularly useful when ying to aceroute/ping/probe hosts behind a firewall that blocks attempts using the standard utilities.  This often allows you to map out firewall rulesets. It is also great for learning more about TCP/IP and experimenting with IP protocols.</dd>
<dt><a href="http://www.kismetwireless.net/">Kismet</a></dt>
<dd>A powerful wireless sniffer - Kismet is an console (ncurses) based 802.11 layer2 wireless network detector, sniffer, and inusion detection system.  It identifies networks by passively sniffing (as opposed to more active tools such as NetStumbler), and can even decloak hidden (non-beaconing) networks if they are in use.  It can automatically detect network IP blocks by sniffing TCP, UDP, ARP, and DHCP packets, log traffic in Wireshark/TCPDump compatible format, and even plot detected networks and estimated ranges on downloaded maps.  As you might expect, this tool is commonly used for <a href="http://en.wikipedia.org/wiki/Wardriving">wardriving</a>.  Oh, and also <a href="http://en.wikipedia.org/wiki/Warwalking">warwalking</a>, <a href="http://www.tgdaily.com/2004/04/30/thg_takes_to_the_air_for_wi/print.html">warflying</a>, and <a href="http://www.oldskoolphreak.com/tfiles/wifi/warskating/warskating.html">warskating</a></dd>
<dt><a href="http://www.tcpdump.org">Tcpdump</a></dt>
<dd>The classic sniffer for network monitoring and data acquisition - Tcpdump is the IP sniffer we all used before Ethereal (Wireshark) came on the scene, and many of us continue to use it frequently.  It may not have the bells and whistles (such as a pretty GUI or parsing logic for hundreds of application protocols) that Wireshark has, but it does the job well and with fewer security holes.  It also requires fewer system resources.  While it doesn't receive new features often, it is actively maintained to fix bugs and portability problems.  It is great for acking down network problems or monitoring activity. There is a separate Windows port named <a href="http://windump.polito.it/">WinDump</a>.  TCPDump is the source of the <a href="http://www.tcpdump.org">Libpcap</a>/<a href="http://winpcap.polito.it/">WinPcap</a> packet capture library, which is used by <a href="http://insecure.org/nmap/">Nmap</a> among many other tools.</dd>
<dt><a href="http://www.oxid.it/cain.html">Cain and Abel</a></dt>
<dd>The top password recovery tool for Windows - UNIX users often smugly assert that the best free security tools support their platform first, and Windows ports are often an afterthought. They are usually right, but Cain &amp; Abel is a glaring exception.  This Windows-only password recovery tool handles an enormous variety of tasks. It can recover passwords by sniffing the network, cracking encrypted passwords using Dictionary, Brute-Force and Cryptanalysis attacks, recording VoIP conversations, decoding scrambled passwords, revealing password boxes, uncovering cached passwords and analyzing routing protocols. It is also <a href="http://www.oxid.it/ca_um/">well documented</a>.</dd>
<dt><a href="http://www.openwall.com/john/">John the Ripper</a></dt>
<dd>A powerful, flexible, and <i>fast</i> multi-platform password hash cracker - John the Ripper is a fast password cracker, currently available for many flavors of Unix (11 are officially supported, not counting different architectures), DOS, Win32, BeOS, and OpenVMS. Its primary purpose is to detect weak Unix passwords. It supports several crypt(3) password hash types which are most commonly found on various Unix flavors, as well as Kerberos AFS and Windows NT/2000/XP LM hashes. Several other hash types are added with conibuted patches. You will want to start with some wordlists, which you can find <a href="ftp://ftp.mirrorgeek.com/openwall/wordlists">here</a>, <a href="ftp://ftp.ox.ac.uk/pub/wordlists/">here</a>, or <a href="http://www.outpost9.com/files/WordLists.html">here</a>.</dd>
<dt><a href="http://ettercap.sourceforge.net/">Ettercap</a></dt>
<dd>In case you still thought switched LANs provide much exa security - Ettercap is a terminal-based network sniffer/interceptor/logger for ethernet LANs. It supports active and passive dissection of many protocols (even ciphered ones, like ssh and https).  Data injection in an established connection and filtering on the fly is also possible, keeping the connection synchronized. Many sniffing modes were implemented to give you a powerful and complete sniffing suite. Plugins are supported. It has the ability to check whether you are in a switched LAN or not, and to use OS fingerprints (active or passive) to let you know the geomey of the LAN.</dd>
<dt><a href="http://www.cirt.net/code/nikto.shtml">Nikto</a></dt>
<dd>A more comprehensive web scanner - Nikto is an open source (GPL) web server scanner which performs comprehensive tests against web servers for multiple items, including over 3200 potentially dangerous files/CGIs, versions on over 625 servers, and version specific problems on over 230 servers. Scan items and plugins are frequently updated and can be automatically updated (if desired). It uses Whisker/libwhisker for much of its underlying functionality.  It is a great tool, but the value is limited by its infrequent updates.  The newest and most critical vulnerabilities are often not detected.</dd>
<dt> Ping/telnet/dig/aceroute/whois/netsta</dt>
<dd>The basics - While there are many whiz-bang high-tech tools out there to assist in security auditing, don't forget about the basics!  Everyone should be very familiar with these tools as they come with most operating systems (except that Windows omits whois and uses the name acert). They can be very handy in a pinch, although for more advanced usage you may be better off with Hping2 and Netcat.</dd>
<dt><a href="http://www.openssh.com/">OpenSSH</a> / <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/">PuTTY</a> / <a href="http://www.ssh.com/commerce/index.html">SSH</a></dt>
<dd>A secure way to access remote computers - SSH (Secure Shell) is the now ubiquitous program for logging into or executing commands on a remote machine. It provides secure encrypted communications between two unusted hosts over an insecure network, replacing the hideously insecure telnet/rlogin/rsh alternatives.  Most UNIX users run the open source <a href="http://www.openssh.com/">OpenSSH</a> server and client.  Windows users often prefer the free <a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/">PuTTY</a> client, which is also available for many mobile devices.  Other Windows users prefer the nice terminal-based port of OpenSSH that comes with <a href="http://www.cygwin.com/">Cygwin</a>.  Dozens of other free and proprietary clients exist.  You can explore them <a href="http://freessh.org/">here</a> or <a href="http://linuxmafia.com/ssh/">here</a>.</dd>
<dt><a href="http://www.thc.org/thc-hydra/">THC Hydra</a></dt>
<dd>A Fast network authentication cracker which support many different services - When you need to brute force crack a remote authentication service, Hydra is often the tool of choice.  It can perform rapid dictionary attacks against more then 30 protocols, including telnet, ftp, http, https, smb, several databases, and much more.  Like THC Amap this release is from the fine folks at <a href="http://www.thc.org">THC</a>.</dd>
<dt><a href="http://www.parosproxy.org">Paros proxy</a></dt>
<dd>A web application vulnerability assessment proxy - A Java based web proxy for assessing web application vulnerability. It supports editing/viewing HTTP/HTTPS messages on-the-fly to change items such as cookies and form fields. It includes a web traffic recorder, web spider, hash calculator, and a scanner for testing common web application attacks such as SQL injection and cross-site scripting.</dd>
<dt><a href="http://www.monkey.org/%7Edugsong/dsniff/">Dsniff</a></dt>
<dd>A suite of powerful network auditing and peneation-testing tools - This popular and well-engineered suite by Dug Song includes many tools. dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor a network for interesting data (passwords, e-mail, files, etc.). arpspoof, dnsspoof, and macof facilitate the interception of network traffic normally unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm implement active monkey-in-the-middle attacks against redirected ssh and https sessions by exploiting weak bindings in ad-hoc PKI.  A separately maintained partial Windows port is available <a href="http://www.datanerds.net/%7Emike/dsniff.html">here</a>.  Overall, this is a great toolset.  It handles pretty much all of your password sniffing needs.</dd>
<dt><a href="http://www.stumbler.net">NetStumbler</a></dt>
<dd>Free Windows 802.11 Sniffer - Netstumbler is the best known Windows tool for finding open wireless access points ("wardriving").  They also disibute a WinCE version for PDAs and such named <a href="http://www.stumbler.net/">Ministumbler</a>. The tool is currently free but Windows-only and no source code is provided. It uses a more active approach to finding WAPs than passive sniffers such as Kismet or KisMAC.</dd>
<dt><a href="http://www.thc.org/thc-amap/">THC Amap</a></dt>
<dd>An application fingerprinting scanner - Amap is a great tool for determining what application is listening on a given port.  Their database isn't as large as what <a href="http://insecure.org/nmap/">Nmap</a> uses for its <a href="http://insecure.org/nmap/vscan/">version detection</a> feature, but it is definitely worth ying for a 2nd opinion or if Nmap fails to detect a service.  Amap even knows how to parse Nmap output files.  This is yet another valuable tool from the great guys at <a href="http://www.thc.org">THC</a>.</dd>
<dt><a href="http://www.gfi.com/lannetscan/">GFI LANguard</a></dt>
<dd>A commercial network security scanner for Windows - GFI LANguard scans IP networks to detect what machines are running. Then it ies to discern the host OS and what applications are running.  I also ies to collect Windows machine's service pack level, missing security patches, wireless access points, USB devices, open shares, open ports, services/applications active on the computer, key registry enies, weak passwords, users and groups, and more. Scan results are saved to an HTML report, which can be customized/queried. It also includes a patch manager which detects and installs missing patches.  A free ial version is available, though it only works for up to 30 days.</dd>
<dt><a href="http://www.aircrack-ng.org">Aircrack</a></dt>
<dd>The fastest available WEP/WPA cracking tool - Aircrack is a suite of tools for 802.11a/b/g WEP and WPA cracking. It can recover a 40 through 512-bit WEP key once enough encrypted packets have been gathered. It can also attack WPA 1 or 2 networks using advanced cryptographic methods or by brute force.  The suite includes airodump (an 802.11 packet capture program), aireplay (an 802.11 packet injection program), aircrack (static WEP and WPA-PSK cracking), and airdecap (decrypts WEP/WPA capture files).</dd>
<dt>Superscan</dt>
<dd>A Windows-only port scanner, pinger, and resolver - SuperScan is a free Windows-only closed-source TCP/UDP port scanner by Foundstone.  It includes a variety of additional networking tools such as ping, aceroute, http head, and whois.</dd>
<dt><a href="http://www.netfilter.org/">Netfilter</a></dt>
<dd>The current Linux kernel packet filter/firewall - Netfilter is a powerful packet filter implemented in the standard Linux kernel.  The userspace ips tool is used for configuration. It now supports packet filtering (stateless or stateful), all kinds of network address and port anslation (NAT/NAPT), and multiple API layers for 3rd party extensions.  It includes many different modules for handling unruly protocols such as FTP.  For other UNIX platforms, see Openbsd PF (OpenBSD specific), or IP Filter.  Many <a href="http://en.wikipedia.org/wiki/Personal_firewall">personal firewalls</a> are available for Windows (<a href="http://www.tinysoftware.com/">Tiny</a>,<a href="http://www.zonelabs.com/">Zone Alarm</a>, <a href="">Norton</a>, <a href="http://www.kerio.com/">Kerio</a>, ...), though none made this list.  Microsoft included a very basic firewall in Windows XP SP2, and will nag you incessantly until you install it.</dd>
<dt><a href="http://www.eeye.com/html/Products/Retina/index.html">Retina</a></dt>
<dd>Commercial vulnerability assessment scanner by eEye - Like Nessus, Retina's function is to scan all the hosts on a network and report on any vulnerabilities found.  It was written by <a href="http://www.eeye.com">eEye</a>, who are well known for their <a href="http://www.eeye.com/html/research/index.html">security research</a>.</dd>
<dt><a href="http://www.angryziber.com/ipscan/">Angry IP Scanner</a></dt>
<dd>A fast windows IP scanner and port scanner - Angry IP Scanner can perform basic host discovery and port scans on Windows. Its binary file size is very small compared to other scanners and other pieces of information about the target hosts can be extended with <a href="http://www.angryziber.com/ipscan/plugins/">a few plugins</a>.</dd>
<dt><a href="http://www.rootkit.nl/projects/rootkit_hunter.html">RKHunter</a></dt>
<dd>An Unix Rootkit Detector - RKHunter is scanning tool that checks for signs of various pieces of nasty software on your system like rootkits, backdoors and local exploits. It runs many tests, including MD5 hash comparisons, default filenames used by rootkits, wrong file permissions for binaries, and suspicious sings in LKM and KLD modules.</dd>
<dt><a href="http://www.nta-monitor.com/tools/ike-scan/">Ike-scan</a></dt>
<dd>VPN detector/scanner - Ike-scan exploits ansport characteristics in the Internet Key Exchange (IKE) service, the mechanism used by VPNs to establish a connection between a server and a remote client. It scans IP addresses for VPN servers by sending a specially crafted IKE packet to each host within a network. Most hosts running IKE will respond, identifying their presence. The tool then remains silent and monitors reansmission packets. These reansmission responses are recorded, displayed and matched against a known set of VPN product fingerprints. Ike-scan can VPNs from manufacturers including Checkpoint, Cisco, Microsoft, Nortel, and Watchguard.</dd>
<dt><a href="http://www-nrg.ee.lbl.gov">Arpwatch</a></dt>
<dd>Keeps ack of ethernet/IP address pairings and can detect certain monkey business Arpwatch is the classic ARP man-in-the-middle attack detector from LBNL's Network Research Group. It syslogs activity and reports certain changes via email. Arpwatch uses LibPcap to listen for ARP packets on a local ethernet interface.</dd>
<dt><a href="http://kismac.de/">KisMAC</a></dt>
<dd>A A GUI passive wireless stumbler for Mac OS X - This popular stumbler for Mac OS X offers many of the features of its namesake Kismet, though the codebase is entirely different. Unlike console-based Kismet, KisMAC offers a pretty GUI and was around before Kismet was ported to OS X.  It also offers mapping, Pcap-format import and logging, and even some decryption and deauthentication attacks.</dd>
<dt><a href="http://www.ossec.net/">OSSEC HIDS</a></dt>
<dd>An Open Source Host-based Inusion Detection System - OSSEC HIDS performs log analysis, integrity checking, rootkit detection, time-based alerting and active response. In addition to its IDS functionality, it is commonly used as a SEM/SIM solution. Because of its powerful log analysis engine, ISPs, universities and data centers are running OSSEC HIDS to monitor and analyze their firewalls, IDSs, web servers and authentication logs.</dd>
<dt><a href="http://www.benzedrine.cx/pf.html">Openbsd PF</a></dt>
<dd>The OpenBSD Packet Filter - Like Netfilter and IP Filter on other platforms, OpenBSD users love PF, their firewall tool. It handles network address anslation, normalizing TCP/IP traffic, providing bandwidth conol, and packet prioritization.  It also offers some eccenic features, such as passive OS detection.  Coming from the same guys who created OpenBSD, you can ust that it has been well audited and coded to avoid the sort of security holes we have seen in <a href="http://www3.ca.com/securityadvisor/vulninfo/Vuln.aspx?ID=28350">other</a> <a href="http://netfilter.org/security/">packet</a> <a href="http://www.osvdb.org/displayvuln.php?osvdb_id=4745">filters</a>.</dd>
<dt>Nemesis</dt>
<dd>Packet injection simplified - The Nemesis Project is designed to be a commandline-based, por human IP stack for UNIX/Linux (and now Windows!). The suite is broken down by protocol, and should allow for useful scripting of injected packet streams from simple shell scripts. If you enjoy Nemesis, you might also want to look at Hping2 as they complement each other well.</dd>
<dt><a href="http://tor.eff.org/">Tor</a></dt>
<dd>An anonymous Internet communication system - Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, irc, ssh, and other applications that use the TCP protocol. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features. For a free cross-platform GUI, users recommend <a href="http://www.vidalia-project.net/">Vidalia</a></dd>
<dt><a href="http://www.knoppix.org/">Knoppix</a></dt>
<dd>A general-purpose boo live system on CD or DVD - Knoppix consists of a representative collection of GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI and USB devices and other peripherals. KNOPPIX can be used as a productive Linux system for the desktop, educational CD, rescue system, or as many nmap survey takers attest, a por security tool. For a security-specific Linux disibution see Backack.</dd>
<dt><a href="http://www.iss.net/products_services/enterprise_protection/vulnerability_assessment/scanner_internet.php">ISS Internet Scanner</a></dt>
<dd>Application-level vulnerability assessment - Internet Scanner started off in '92 as a tiny open source scanner by Christopher Klaus.  Now he has grown ISS into a billion-dollar company with a myriad of security products.</dd>
<dt><a href="http://www.foundstone.com/knowledge/proddesc/fport.html">Fport</a></dt>
<dd>Foundstone's enhanced netstat - Fport reports all open TCP/IP and UDP ports on the machine you run it on and shows what application opened each port.  So it can be used to quickly identify unknown open ports and their associated applications. It only runs on Windows, but many UNIX systems now provided this information via netstat (y 'netstat -pan' on Linux).  Here is a PDF-Format <a href="http://www.giac.org/practical/gsec/Teena_Henson_GSEC.pdf">SANS article</a> on using Fport and analyzing the results.</dd>
<dt><a href="http://www.chkrootkit.org/">chkrootkit</a></dt>
<dd>Locally checks for signs of a rootkit - chkrootkit is a flexible, por tool that can check for many signs of rootkit inusion on Unix-based systems. Its features include detecting binary modification, utmp/wtmp/lastlog modifications, promiscuous interfaces, and malicious kernel modules.</dd>
<dt><a href="http://www.immunitysec.com/resources-freesoftware.shtml">SPIKE Proxy</a></dt>
<dd>HTTP Hacking - Spike Proxy is an open source HTTP proxy for finding security flaws in web sites.  It is part of the <a href="http://www.immunitysec.com/resources-freesoftware.shtml">Spike Application Testing Suite</a> and supports automated SQL injection detection, web site crawling, login form brute forcing, overflow detection, and directory aversal detection.</dd>
<dt><a href="http://www.openbsd.org">OpenBSD</a></dt>
<dd>The Proactively Secure Operating System - OpenBSD is one of the only operating systems to eat security as their very highest priority.  Even higher than usability in some cases. But their enviable security record speaks for itself.  They also focus on stability and fight to obtain documentation for the hardware they wish to support.  Perhaps their greatest achievement was creating <a href="http://www.openssh.org">OpenSSH</a>.  OpenBSD users also love [pf], their firewall tool.</dd>
<dt><a href="http://www.yersinia.net">Yersinia</a></dt>
<dd>A multi-protocol low-level attack tool - Yersinia is a low-level protocol attack tool useful for peneation testing.  It is capable of many diverse attacks over multiple protocols, such as becoming the root role in the Spanning ee (Spanning ee Protocol), creating virtual CDP (Cisco Discovery Protocol) neighbors, becoming the active router in a HSRP (Hot Standby Router Protocol) scenario, faking DHCP replies, and other low-level attacks.</dd>
<dt><a href="http://www.nagios.org">Nagios</a></dt>
<dd>An open source host, service and network monitoring program - Nagios is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better. Some of its many features include monitoring of network services (smtp, pop3, http, nntp, ping, etc.), monitoring of host resources (processor load, disk usage, etc.), and contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method).</dd>
<dt><a href="http://www.monkey.org/%7Edugsong/fragroute/">Fragroute</a> / <a href="http://www.packetstormsecurity.nl/UNIX/IDS/nidsbench/fragrouter.html">Fragrouter</a></dt>
<dd>A network inusion detection evasion toolkit - Fragrouter is a one-way fragmenting router - IP packets get sent from the attacker to the Fragrouter, which ansforms them into a fragmented data stream to forward to the victim. Many network IDS are unable or simply don't bother to reconsuct a coherent view of the network data (via IP fragmentation and TCP stream reassembly), as discussed in <a href="http://insecure.org/stf/secnet_ids/secnet_ids.html">this classic paper</a>. Fragrouter helps an attacker launch IP-based attacks while avoiding detection.  It is part of the <a href="http://www.packetstormsecurity.nl/UNIX/IDS/nidsbench/nidsbench.html">NIDSbench</a> suite of tools by Dug Song.  Fragroute is a similar tool which is also by Dug Song.</dd>
<dt><a href="http://www.xfocus.org/programs/200209/10.html">X-scan</a></dt>
<dd>A general scanner for scanning network vulnerabilities - A multi-threaded, plug-in-supported vulnerability scanner. X-Scan includes many features, including full NASL support, detecting service types, remote OS type/version detection, weak user/password pairs, and more.  You may be able to find newer versions available here if you can deal with most of the page being written in Chinese.</dd>
<dt>Whisker/libwhisker</dt>
<dd>Rain.Forest.Puppy's CGI vulnerability scanner and library - Libwhisker is a Perl module geared geared towards HTTP testing. It provides functions for testing HTTP servers for many known security holes, particularly the presence of dangerous CGIs. Whisker is a scanner that used libwhisker but is now deprecated in favor of Nikto which also uses libwhisker.</dd>
<dt><a href="http://www.dest-unreach.org/socat/">Socat</a></dt>
<dd>A relay for bidirectional data ansfer - A utility similar to the venerable Netcat that works over a number of protocols and through a files, pipes, devices (terminal or modem, etc.), sockets (Unix, IP4, IP6 - raw, UDP, TCP), a client for SOCKS4, proxy CONNECT, or SSL, etc. It provides forking, logging, and dumping, different modes for interprocess communication, and many more options. It can be used, for example, as a TCP relay (one-shot or daemon), as a daemon-based socksifier, as a shell interface to Unix sockets, as an IP6 relay, for redirecting TCP-oriented programs to a serial line, or to establish a relatively secure environment (su and chroot) for running client or server shell scripts with network connections.</dd>
<dt><a href="http://www-arc.com/sara/">Sara</a></dt>
<dd>Security Auditor's Research Assistant - SARA is a vulnerability assessment tool that was derived from the infamous SATAN scanner.  They y to release updates twice a month and y to leverage other software created by the open source community (such as <a href="http://insecure.org/nmap/">Nmap</a> and <a href="http://samba.org">Samba</a>).</dd>
<dt><a href="http://www.qualys.com/">QualysGuard</a></dt>
<dd>A web-based vulnerability scanner - Delivered as a service over the Web, QualysGuard eliminates the burden of deploying, maintaining, and updating vulnerability management software or implementing ad-hoc security applications. Clients securely access QualysGuard through an easy-to-use Web interface. QualysGuard features 5,000+ unique vulnerability checks, an Inference-based scanning engine, and automated daily updates to the QualysGuard vulnerability KnowledgeBase.</dd>
<dt><a href="http://www.clamav.net/">ClamAV</a></dt>
<dd>A GPL anti-virus toolkit for UNIX - ClamAV is a powerful AntiVirus scanner focused towards integration with mail servers for attachment scanning. It provides a flexible and scalable multi-threaded daemon, a command line scanner, and a tool for automatic updating via the Internet. Clam AntiVirus is based on a shared library disibuted with the Clam AntiVirus package, which you can use with your own software. Most importantly, the virus database is kept up to date.</dd>
<dt><a href="http://portswigger.net/suite/">Burpsuite</a></dt>
<dd>An integrated platform for attacking web applications - Burp suite allows an attacker to combine manual and automated techniques to enumerate, analyze, attack and exploit web applications. The various burp tools work together effectively to share information and allow findings identified within one tool to form the basis of an attack using another.</dd>
<dt><a href="http://www.hoobie.net/brutus/">Brutus</a></dt>
<dd>A network brute-force authentication cracker - This Windows-only cracker bangs against network services of remote systems ying to guess passwords by using a dictionary and permutations thereof.  It supports HTTP, POP3, FTP, SMB, TELNET, IMAP, NTP, and more.  No source code is available.  UNIX users should take a look at THC Hydra.</dd>
<dt><a href="http://www.unicornscan.org/">Unicornscan</a></dt>
<dd>Not your mother's port scanner - Unicornscan is an attempt at a User-land Disibuted TCP/IP stack for information gathering and correlation. It is intended to provide a researcher a superior interface for inoducing a stimulus into and measuring a response from a TCP/IP enabled device or network. Some of its features include asynchronous stateless TCP scanning with all variations of TCP flags, asynchronous stateless TCP banner grabbing, and active/passive remote OS, application, and component identification by analyzing responses.  Like Scanrand, it isn't for the faint of heart.</dd>
<dt><a href="http://www.stunnel.org/">Stunnel</a></dt>
<dd>A general-purpose SSL cryptographic wrapper - The stunnel program is designed to work as an SSL encryption wrapper between remote client and local (ine-star) or remote server. It can be used to add SSL functionality to commonly used ine daemons like POP2, POP3, and IMAP servers without any changes in the programs' code. It will negotiate an SSL connection using the OpenSSL or SSLeay libraries.</dd>
<dt><a href="http://www.citi.umich.edu/u/provos/honeyd/">Honeyd</a></dt>
<dd>Your own personal <a href="http://www.honeynet.org">honeynet</a> Honeyd is a small daemon that creates virtual hosts on a network. The hosts can be configured to run arbiary services, and their TCP personality can be adapted so that they appear to be running certain versions of operating systems. Honeyd enables a single host to claim multiple addresses on a LAN for network simulation. It is possible to ping the virtual machines, or to aceroute them. Any type of service on the virtual machine can be simulated according to a simple configuration file. It is also possible to proxy services to another machine rather than simulating them.  It has many library dependencies, which can make compiling/installing Honeyd difficult.</dd>
<dt><a href="http://www.fping.com/">Fping</a></dt>
<dd>A parallel ping scanning program - fping is a ping(1) like program which uses the Internet Conol Message Protocol (ICMP) echo request to determine if a host is up. fping is different from ping in that you can specify any number of hosts on the command line, or specify a file containing the lists of hosts to ping.  Instead of ying one host until it timeouts or replies, fping will send out a ping packet and move on to the next host in a round-robin fashion. If a host replies, it is noted and removed from the list of hosts to check. If a host does not respond within a certain time limit and/or rey limit it will be considered unreachable.</dd>
<dt><a href="http://sourceforge.net/projects/secureideas/">BASE</a></dt>
<dd>The Basic Analysis and Security Engine - BASE is a PHP-based analysis engine to search and process a database of security events generated by various IDSs, firewalls, and network monitoring tools. Its features include a query-builder and search interface for finding alerts matching different patterns, a packet viewer/decoder, and charts and statistics based on time, sensor, signature, protocol, IP address, etc.</dd>
<dt><a href="http://www.qosient.com/argus/">Argus</a></dt>
<dd>A generic IP network ansaction auditing tool - Argus is a fixed-model Real Time Flow Monitor designed to ack and report on the status and performance of all network ansactions seen in a data network traffic stream. Argus provides a common data format for reporting flow meics such as connectivity, capacity, demand, loss, delay, and jitter on a per ansaction basis. The record format that Argus uses is flexible and extensible, supporting generic flow identifiers and meics, as well as application/protocol specific information.</dd>
<dt><a href="http://www.sensepost.com/research/wikto/">Wikto</a></dt>
<dd>Web Server Assessment Tool - Wikto is a tool that checks for flaws in webservers. It provides much the same functionality as Nikto but adds various interesting pieces of functionality, such as a Back-End miner and close Google integration. Wikto is written for the MS .NET environment and registration is required to download the binary and/or source code.</dd>
<dt><a href="http://sguil.sourceforge.net/">Sguil</a></dt>
<dd>The Analyst Console for Network Security Monitoring - Sguil (pronounced sgweel) is built by network security analysts for network security analysts. Sguil's main component is an intuitive GUI that provides realtime events from Snort/barnyard. It also includes other components which facilitate the practice of Network Security Monitoring and event driven analysis of IDS alerts.</dd>
<dt>Scanrand</dt>
<dd>An unusually fast stateless network service and topology discovery system - Scanrand is a stateless host-discovery and port-scanner similar in design to Unicornscan. It ades off reliability for amazingly fast speeds and uses cryptographic techniques to prevent attackers from manipulating scan results.  This utility is a part of a software package called Paketto Keiretsu which was written by Dan Kaminsky.</dd>
<dt><a href="http://coombs.anu.edu.au/%7Eavalon/">IP Filter</a></dt>
<dd>Por UNIX Packet Filter - IP Filter is a software package that can be used to provide network address anslation (NAT) or firewall services. It can either be used as a loadable kernel module or incorporated into your UNIX kernel; use as a loadable kernel module where possible is highly recommended. Scripts are provided to install and patch system files, as required. IP Filter is disibuted with FreeBSD, NetBSD, and Solaris. OpenBSD users should see Openbsd PF and Linux users Netfilter.</dd>
<dt><a href="http://www.immunitysec.com/products-canvas.shtml">Canvas</a></dt>
<dd>A Comprehensive Exploitation Framework - Canvas is a commercial vulnerability exploitation tool from Dave Aitel's <a href="http://www.immunitysec.com">ImmunitySec</a>.  It includes more than 150 exploits and is less expensive than Core Impact, though it still costs thousands of dollars.  You can also buy the optional <a href="http://www.immunitysec.com/products-visualsploit.shtml">VisualSploit Plugin</a> for drag and drop GUI exploit creation.  Zero-day exploits can occasionally be found within Canvas.</dd>
<dt><a href="http://www.vmware.com/">VMware</a></dt>
<dd>Multi-platform Virtualization Software - VMware virtualization software lets you run one operating system within another.  This is quite useful for security researchers who commonly need to test code, exploits, etc on multiple platforms.  It only runs on Windows and Linux as the host OS, but pretty much any x86 OS will run inside the virtualized environment.  It is also useful for setting up sandboxes.  You can browse from within a VMware window so the even if you are infected with malware, it cannot reach your host OS.  And recovering the guest OS is as simple as loading a "snapshot" from prior to the infection. <a href="http://www.vmware.com/products/player/">VMware player</a> (executes, but can't create OS images) and <a href="http://www.vmware.com/products/server/">VMWare Server</a> (partitions a physical server machine into multiple virtual machines) were recently released for free.  Another interesting virtualization system (Linux focused) is <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/">Xen</a>.</dd>
<dt>Tcpaceroute</dt>
<dd>A aceroute implementation using TCP packets - The problem is that with the widespread use of firewalls on the modern Internet, many of the packets that the conventional aceroute(8) sends out (ICMP echo or UDP) end up being filtered, making it impossible to completely ace the path to the destination. However, in many cases, these firewalls will permit inbound TCP packets to specific ports that hosts sitting behind the firewall are listening for connections on. By sending out TCP SYN packets instead of UDP or ICMP ECHO packets, tcpaceroute is able to bypass the most common firewall filters.</dd>
<dt><a href="http://www.saintcorporation.com/saint/">SAINT</a></dt>
<dd>Security Adminisator's Integrated Network Tool - SAINT is another commercial vulnerability assessment tool (like Nessus, ISS Internet Scanner, or Retina).  It runs on UNIX and used to be free and open source, but is now a commercial product.</dd>
<dt><a href="http://openvpn.net/">OpenVPN</a></dt>
<dd>A full-featured SSL VPN solution - OpenVPN is an open-source SSL VPN package which can accommodate a wide range of configurations, including remote access, site-to-site VPNs, WiFi security, and enterprise-scale remote access solutions with load balancing, failover, and fine-grained access-conols. OpenVPN implements OSI layer 2 or 3 secure network extension using the indusy standard SSL/TLS protocol, supports flexible client authentication methods based on certificates, smart cards, and/or 2-factor authentication, and allows user or group-specific access conol policies using firewall rules applied to the VPN virtual interface. OpenVPN uses OpenSSL as its primary cryptographic library.</dd>
<dt><a href="http://www.ollydbg.de/">OllyDbg</a></dt>
<dd>An assembly level Windows debugger - OllyDbg is a 32-bit assembler level analyzing debugger for Microsoft Windows. Emphasis on binary code analysis makes it particularly useful in cases where source is unavailable. OllyDbg features an intuitive user interface, advanced code analysis capable of recognizing procedures, loops, API calls, switches, s, constants and sings, an ability to attach to a running program, and good multi-thread support. OllyDbg is free to download and use but no source code is provided.</dd>
<dt><a href="http://www.e-fense.com/helix/">Helix</a></dt>
<dd>A Linux Disibution with Computer Forensics in Mind - Helix is a customized disibution of the Knoppix Live Linux CD. Helix is more than just a boo live CD. You can still boot into a customized Linux environment that includes customized Linux kernels, excellent hardware detection and many applications dedicated to Incident Response and Forensics.  Helix has been designed very carefully to NOT touch the host computer in any way and it is forensically sound. Helix will not auto mount swap space, or auto mount any attached devices. Helix also has a special Windows autorun side for Incident Response and Forensics.</dd>
<dt><a href="http://www.bastille-linux.org/">Bastille</a></dt>
<dd>Security hardening script for Linux, Mac OS X, and HP-UX - The Bastille Hardening program "locks down" an operating system, proactively configuring the system for increased security and decreasing its susceptibility to compromise. Bastille can also assess a system's current state of hardening, granularly reporting on each of the security settings with which it works.  Bastille currently supports the Red Hat (Fedora Core, Enterprise, and Numbered/Classic), SUSE, Debian, Gentoo, and Mandrake disibutions, along with HP-UX and Mac OS X. Bastille's focuses on letting the system's user/adminisator choose exactly how to harden the operating system. In its default hardening mode, it interactively asks the user questions, explains the topics of those questions, and builds a policy based on the user's answers. It then applies the policy to the system. In its assessment mode, it builds a report intended to teach the user about available security settings as well as inform the user as to which settings have been tightened.</dd>
<dt><a href="http://www.acunetix.com/">Acunetix Web Vulnerability Scanner</a></dt>
<dd>Commercial Web Vulnerability Scanner - Acunetix WVS automatically checks your web applications for vulnerabilities such as SQL Injection, cross site scripting, and weak password sength on authentication pages. Acunetix WVS boasts a comfor GUI and an ability to create professional website security audit reports.</dd>
<dt><a href="http://www.trueCrypt.org/">trueCrypt</a></dt>
<dd>Open-Source Disk Encryption Software for Windows and Linux - trueCrypt is an excellent open source disk encryption system.  Users can encrypt entire filesystems, which are then on-the-fly encrypted/decrypted as needed without user intervention beyond entering their passphrase intially.  A clever <a href="http://www.trueCrypt.org/user-guide/hidden-volume.php">hidden volume</a> feature allows you to hide a 2nd layer of particularly sensitive content with plausible deniability about whether it exists. Then if you are forced to give up your passphrase, you give them the first-level secret.  Even with that, attackers cannot prove that a second level key even exists.</dd>
<dt><a href="http://www.watchfire.com/products/appscan/default.aspx">Watchfire AppScan</a></dt>
<dd>Commercial Web Vulnerability Scanner - AppScan provides security testing throughout the application development lifecycle, easing unit testing and security assurance early in the development phase. Appscan scans for many common vulnerabilities, such as cross site scripting, HTTP response splitting, parameter tampering, hidden field manipulation, backdoors/debug options, buffer overflows and more.</dd>
<dt><a href="http://www.nstalker.com/nstealth/">N-Stealth</a></dt>
<dd>Web server scanner - N-Stealth is a commercial web server security scanner. It is generally updated more frequently than free web scanners such as Whisker/libwhisker and Nikto, but do take their web site with a grain of salt. The claims of "30,000 vulnerabilities and exploits" and "Dozens of vulnerability checks are added every day" are highly questionable. Also note that essentially all general VA tools such as Nessus, ISS Internet Scanner, Retina, SAINT, and Sara include web scanning components.  They may not all be as up-to-date or flexible though. N-Stealth is Windows only and no source code is provided.</dd>
<dt><a href="http://www.microsoft.com/technet/security/tools/mbsahome.mspx">MBSA</a></dt>
<dd>Microsoft Baseline Security Analyzer - Microsoft Baseline Security Analyzer (MBSA) is an easy-to-use tool designed for the IT professional that helps small and medium-sized businesses determine their security state in accordance with Microsoft security recommendations and offers specific remediation guidance. Built on the Windows Update Agent and Microsoft Update infrasucture, MBSA ensures consistency with other Microsoft management products including Microsoft Update (MU), Windows Server Update Services (WSUS), Systems Management Server (SMS) and Microsoft Operations Manager (MOM). Apparently MBSA on average scans over 3 million computers each week.</dd>
</dl><p><a href="http://www.askapache.com/security/computer-security-toolbox-2.html"></a><a href="http://www.askapache.com/security/computer-security-toolbox-2.html">COMPUTER SECURITY TOOLBOX</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/security/computer-security-toolbox-2.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>About AskApache</title>
		<link>http://www.askapache.com/about</link>
		<comments>http://www.askapache.com/about#comments</comments>
		<pubDate>Mon, 15 Sep 2008 12:26:49 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
		
		<guid isPermaLink="false">http://www.askapache.com/about/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about"><cite>AskApache.com</cite></a></p><p>The goal of AskApache.com is simple - To provide free access to knowledge and data with the goal of empowering people.. or more melodramatically:  <strong>"Power to the People!"</strong></p>
<p><strong>Why the name AskApache?</strong>  AskApache was chosen to show and pay <strong>respect</strong> to the contributors of the <a href="http://httpd.apache.org">Apache Web Server</a>.  Literally it means to ask Apache when facing a problem, by searching the <strong>Open-Source</strong>, contacting a board/list, or browsing the documentation.</p>



<h3>Technology Interests</h3>
<ol>
    <li><strong>CSS</strong></li>
    <li><strong>XHTML</strong> (<em>strict!</em>)</li>
    <li><strong>Javascript</strong> (<em>unobtrusive, strict!</em>)</li>
    <li><strong>NetSec</strong> (<em>network security, hack the planet</em>)    </li>
    <li><strong>PHP, Python, Ruby, Perl, Ocaml, Shell-Scripting</strong> (<em>strict mostly!</em>)</li>
    <li><strong>AJAX</strong> (<em>strict,crossbrowser,degrades gracefully!</em>)</li>
    <li><strong>Linux</strong> <em>{Arch-Linux, Slackware, Gentoo, Red Hat, Fedora}</em></li>
    <li><strong>BSD/Unix</strong> <em>{OpenBSD, FreeBSD, NetBSD}</em></li>
    <li><strong>Software</strong> <em>{Photoshop, Dreamweaver, Sorenson, Flash, QuickTime, ffmpeg, nirsoft, sysinternals, Adobe Creative Suite, etc.}</em></li>
    <li><strong>Windows</strong> <em>{for Workgroups, 3.1, 95, 98, me, 2000, NT Workstation&amp;Server,  XP Pro&amp;Home SP1&amp;SP2}</em></li>
    <li>And of course, if not especially, the <strong><a href="http://www.askapache.com/htaccess/htaccess.html">Apache Web Server, .htaccess, and mod_rewrite</a>!</strong></li>
</ol>



<h3>AskApache.com Info</h3>
<ol>
    <li><a href="https://plus.google.com/101616558702207714980" rel="me">Google +</a></li>
    <li>Popular Web Design and Development Blogs on Google</li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Top Weblogs on Alexa</a></li>
    <li><a href="http://www.technorati.com/people/technorati/askapache">Technorati</a></li>
    <li><a href="http://twitter.com/AskApache">AskApache Twitter</a></li>
    <li><a href="http://profile.typekey.com/AskApache/">Typekey</a></li>
    <li><a href="http://askapache.stumbleupon.com/">Stumbleupon</a></li>
    <li><a href="http://www.last.fm/user/AskApache">Last.fm</a></li>
    <li><a href="http://www.seomoz.org/users/view/25352">seomoz</a></li>
    <li><a href="http://www.livejournal.com/userinfo.bml?userid=15825935&amp;t=I">LiveJournal</a></li>
    <li><a href="http://digg.com/users/apachehtaccess">Digg</a></li>
    <li><a href="http://flickr.com/people/htaccess/">Flickr</a></li>
    <li><a href=" http://www.mybloglog.com/buzz/members/AskApache">MyBlogLog</a></li>
    <li><a href="http://wordpress.org/extend/plugins/profile/askapache">WordPress Plugins</a>, <a href="http://wordpress.org/support/profile/407510">Support Forum</a>, <a href="http://codex.wordpress.org/User:AskApache">Codex Wiki</a></li>
    <li><a href="http://www.blogcatalog.com/user/askapache">BlogCatalog</a></li>
</ol>


<h2>More AskApache</h2>
<ol>
    <li><a rel="nofollow" href="http://www.blogcatalog.com/blogs/askapache-web-fire.html">BlogCatalog</a></li>
    <li><a rel="nofollow" href="http://www.statsaholic.com/askapache.com">StatsAholic</a></li>
    <li><a rel="nofollow" href="http://www.alexa.com/data/details/main?url=askapache.com">Alexa</a></li>
    <li><a rel="nofollow" href="http://www.technorati.com/search/askapache.com">Technorati</a></li>
    <li><a rel="nofollow" href="http://siteanalytics.compete.com/askapache.com/">Compete</a></li>
    <li><a rel="nofollow" href="http://www.quantcast.com/askapache.com">Quantcast</a></li>
    <li><a rel="nofollow" href="http://whois.domaintools.com/askapache.com">DomainTools</a></li>
    <li><a rel="nofollow" href="http://search.live.com/results.aspx?q=%2Bsite%3Awww.askapache.com">Live</a></li>
    <li><a rel="nofollow" href="http://www.google.com/search?q=site%3Aaskapache.com">Google</a></li>
    <li><a rel="nofollow" href="http://www.findforward.com/?q=askapache&amp;t=world">FindForward</a></li>
    <li><a href="http://www.alexa.com/topsites/category/Top/Computers/Internet/Web_Design_and_Development/Weblogs">Alexa Directory</a><a href="http://www.alexa.com/search?q=askapache.com">Alexa Info</a></li>
    <li><a rel="nofollow" href="http://www.mybloglog.com/buzz/community/apache-htaccess/">MyBlogLog htaccess Group</a></li>
</ol>


<h2>AskApache mirrors</h2>
<p>Every once in awhile I come across a project that is so indescribably great that I decide to help out by mirroring and contributing to the content.</p>
<ul>
    <li><a href="http://curl.askapache.com/" title="curl, libcurl">cURL / libcurl</a></li>
    <li><a href="http://nongnu.askapache.com/" title="Savannah Non-gnu free software">Savannah - nongnu</a></li>
    <li><a href="http://wireshark.askapache.com/" title="WireShark">WireShark Network God</a></li>
</ul>
<p><em>Google if you are reading this, I'm willing to relocate. ;)  Microsoft, no thanks.</em></p><p><a href="http://www.askapache.com/about"></a><a href="http://www.askapache.com/about">About AskApache</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/about/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Undetectable Sniffing On Ethernet</title>
		<link>http://www.askapache.com/hacking/sniffing-ethernet-undetected.html</link>
		<comments>http://www.askapache.com/hacking/sniffing-ethernet-undetected.html#comments</comments>
		<pubDate>Mon, 14 Apr 2008 18:05:09 +0000</pubDate>
		<dc:creator>AskApache</dc:creator>
				<category><![CDATA[Hacking]]></category>

		<guid isPermaLink="false">http://www.askapache.com/?p=556</guid>
		<description><![CDATA[<p><a class="IFL" rel="lb" href='http://www.askapache.com/security/sniffing-on-ethernet-undetected.html'><img src="http://uploads.askapache.com/2008/04/sniffing_ethernet-150x150.jpg" alt="Invisible Undetected Sniffing on an Ethernet Network" title="Invisible Undetected Sniffing on an Ethernet Network" height="150" width="150" /></a><strong>I have been in some tight spots where I had to sniff</strong> a password or two off the wire, or sniff some packets off the wire and based on the packets content perform some action... Accidentally, I stumbled on a method to sniff data while remaining undetected and invisible.<br class="C" /></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.askapache.com/hacking/sniffing-ethernet-undetected.html"></a><a href="http://www.askapache.com/hacking/sniffing-ethernet-undetected.html"><cite>AskApache.com</cite></a></p><a class="IFL" rel="lb" href="http://uploads.askapache.com/2008/04/sniffing_ethernet.jpg"><img title="Undetectable Sniffing, Invisible Data Capture On Ethernet" src="http://uploads.askapache.com/2008/04/sniffing_ethernet-150x150.jpg" alt="Undetectable Sniffing, Invisible Data Capture On Ethernet" /></a><strong>This article is NOT about promisc network interfaces, it is about passively sniffing data off the wire without sending/transmitting any data out onto the wire.</strong> No transmitting, just receiving.  I have been in some tight spots where I had to sniff data off the wire, like a password or username, or capture some packets off the wire and programmatically preform actions based on the captured packets.<br class="C" />

Unexpectedly, I stumbled on a method to passively capture packets from the wire without transmitting packets.  This is surprising because it is achieved using only software and not messing with the hardware, which is the normal way to passively sniff packets.  I've only achieved this running various flavors of linux and BSD.
<p class="anote"><strong>Note: </strong> You may be looking for <a href="http://wiki.wireshark.org/CaptureSetup/Ethernet">ethernet capture implementations</a> using the best open source network debugging tool ever created, <a title="An Official U.S. Mirror for WireShark.org" href="http://wireshark.askapache.com/">WireShark</a></p>

<h2>Commands to become undetectable on linux/BSD</h2>
<h3>Bring up the ethernet interface with no IP address and arp ignore mode (stealth mode).</h3>
<pre>$ ifconfig eth0 hw ether 00:00:00:00:00:00 promisc
$ ifconfig eth0 -arp up</pre>
<h3>Delete the inet and inet6 address, prevent stack routing.</h3>
<pre>$ route -nv // should produce nothing, same with netstat -r</pre>
<h3>what does this do?</h3>
<ol>
	<li>You can't route packets to an interface without an entry in the routing table.</li>
	<li>You can't create an entry in the routing table without an IP address assigned to the interface.</li>
</ol>
<h2>Packet Capture Software</h2>
Capture all the packets that pass the wire using <a href="http://www.wireshark.org">Wireshark</a>, the ONLY packet capturing tool I recommend.

I also like using <strong>tethereal</strong> in a shell script and <strong>egrep</strong> the output for something I'm looking for:
<ul>
	<li>a basic authorization string</li>
	<li>a certain bootfile being called using tftp</li>
	<li>spanning trees and switch communication</li>
	<li>etc.</li>
</ul>
Then based on the output I'll have the shell script perform an action like append to a file or send me a text message to my cell.  This could be called an inefficient or sloppy way to do this, but it works great when I'm booting from knoppix or I just need to grab some packets silently.
<h2>Caveats and Notes</h2>
I did notice that after I had received 490MB of data on my eth0 device, it actually did say that it had Transmitted 12<strong>bytes</strong>.. so this method is not 100% silent, but without a route or an address it can't really write data anywhere, so I'm still wondering where those 12bytes went.

I suppose you could create a dummy device in a chroot or something and pass the output from your promisc NIC to the dummy which would route the packets along a GRE or a wireless device or something. I will try something like this for a syslog server.
<p class="cnote"><strong>NOTE:</strong> You should also check out the <a href="http://www.askapache.com/security/arp-stuff.html">Arp stuff</a> article for more in-depth info about this topic.</p>

<h2>Q&amp;A: from a forum discussion</h2>
<blockquote>i'm not that familar with linux, so i don't know if you corrected this with one of these commands, but aren't there many tools that simply check if the ethernet interface is in promisc. mode? so what's undetected about this?</blockquote>
Those tools are very easily circumvented. The reason is that they rely on set patterns of behaviour that are common to programs like nmap, ettercap, etc.. This method circumvents every single one of them. Most of those progs rely on sending arbitrary data across the wire and looking for set patterns of replies that indicate a promisc eth. The simple thing about this method is that you are basically stripping the IP stack of its fallback or default settings.

If you understand the definition of promisc mode, and understand how the IP stack in all major OS's use routeing, arp, MACs, and basic TCP/IP 101, the concept doesn't seem special.

The key is really that the listening promisc interface has no address, has no routes to any networks or hosts. An ip stack set up this way is not a like a listening service. Its more like a logging host in a honeynet with the TX wires cut off.
<blockquote>Something about passive sniffing: <a href="http://www.ethereal.com/lists/ethereal-users/200305/msg00114.html">etheral mailing list</a>

If you sniff passive you dont send any data frames?  All i know is that a switch only send data based on mac address (and recv port). Where a hub just sends it out to everyone. So how would you start sniffing (on a switch) without doing smth like arp poising (sending data frames)? Also, your MAC and ip gets sent out every x seconds by ARP requests right?  Or did i misunderstood the question?

<code>00:00:00:00:00:00</code> - this is not an invalid mac address? Are you sure you can sniff other computers with this configuration? (diferents computers like yours)</blockquote>
You definately could NOT use this method to use an active sniffing program like ettercap or perform an mitm or something, the whole goal of this method is to NOT transmit a single byte.

The reason you set the mac to <code>00:00:00:00:00:00</code> is the same reason you could also set the mac to <code>aa:bb:cc:dd:ee:ff</code> there are a lot of UPnP devices and other types of devices out there that use this mac address as a form of default. The point is just to change your mac to anything other than your real mac so that an IDS or system admin doesn't see you. Thus, undetected sniffing.

If an admin or IDS saw 12 packets (as in my example) originating from <code>00:00:00:00:00:00</code> or <code>aa:bb:cc:dd:ee:ff</code> do you think he would pull out all the stops and think there is someone eavedropping? Of course not.

And yes, I have used this method on knoppix, archlinux, slackware, and FreeBSD. Of course, the differences in ifconfig in different distros need to be taken into account, and you can figure it out for yourself on your own distro by checking out your ifconfig man page.
<pre>man -a ifconfig</pre>
<blockquote>i would suggest plugging off pathc cord just before and do like that
<pre>ifconfig eth0 down
#UNPLUG CORD
ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
ifconfig eth0
#PLUG IN CORD
ifconfig eth0 up</pre>
and then try to look for outgoing packets.  Check for promisc:  <code>ifconfig</code>

I would also suggest filling up switchs memory to make it act like a regural HUB so u will be able to sniff with normal oldstyle IP sniffers.  You can sniff over switch by filling up its temporary MAC addr table.  Then switch to work correctly <em>(from its view its just overload)</em> has to send data to every port just like HUB , and then u r at home. Also check out <strong>passive network scanning software</strong>:  p0f by Lcamtuff, check it out</blockquote>
I haven't used p0f for about 6 years.. When I used it was just a passive way to detect the OS/versions of a host. It was still pretty beta back then though.

Yes I have overloaded several switches CAM tables adn turned it into "HUB" operating mode.. But man is that ever loud! The ISP called me up and asked me if I knew anything about 2 GIGs of data being sent out from my port on the switch.. (layer 2) ..

Really the best way In my experience is arp poisoning. Ettercap has the basics included in their program. I have also had the experience of literally shutting down a switch from flooding the CAM.. you never really know what will happen. It's usually not in your favor.

Also, if you start arp poisoning RIGHT after a power-outage (whether you shut off the power or it just went out) a lot of times you have a 15-45 second window where the switches will be acting like HUBs.. If you can poison some key targets in different network segments before the switch starts switching, you can really drop the normal restrictions.

Oh and you can also turn off your arp using ifconfig.
<pre>$ ifconfig eth0 -arp</pre>
But When you use the method outlined above, of course your NIC never sends out arp requests.. That is the whole point of NOT having an ipv6 or ip address.. and that is also why this method dictates NO ROUTES in the kernel or userland.  Your NIC and ip stack just doesn't have any body to send the arps to! If you aren't connected to any networks, how can it send a broadcast? And if you don't have an IP address, where would the arp tell everyone to reply to? See what I mean?

The MAC address being set to a non-suspicious looking address is just to slip by as a network anomololy instead of actually looking like a roque MAC.

In general though, I was talking about using this technique to splice into the wire at an uplink spot.  So If I wanted to capture the router passwords for my apartment complex, I would find the router and use a portable hub to connect my packet-sniffing computer in-between the router and the modem or uplink. Then I would call tech-support about something and watch them log into the router.. then I have the password and its almost detectionless because it is completely passive.

I would say that my absolute favorite tool for <strong>hacking switches</strong> (we are basically just talking about layer-2's) is hping. I also like nc, socat, vconfig, and dsniff was always fun but its really out of date now, ettercap is probably the king of automated switch hacking, its just not as much fun automated..

I'm sure you are also aware of the fun you can have with port-stealing. This is where you actually make the switch believe that you are coming in from a different port. Its pretty simple but a little harder than arp-poisoning. Most of my experience comes from circumventing vlans and hacking my way into switches on differnet network segments and on differnent vlans. Man talk about off-topic!
<blockquote>Now I got ur point, sorry I ,misunderstood at first totaly agree that ettercap is king nowadays and is most up to date. Anyways , I was always thinking in a little different way, I mean something  like "fog cover".  IMO its better to spoof MAC and act as other regular user instead run all loud and silent techniques.
But your idea is very interesing.

Anywayz i think that there will be always something sent to the wire.  As a first example that comes to my mind is link speed detection with NLP and FLP.</blockquote>
Thanks but its not an idea.. its a field-tested technique. Also, in my humble opinion, spoofing another host on the network is for newbies, unless you don't mean just spoofing their MAC and IP. Because that is a really fast way to get caught where I come from. And it only takes 1 single command from a nix.  Yes when I first started hacking into switches I was also operating under the assumption that if I spoofed a MAC address and mimicked an allowed machine that was somehow a good thing.  First thing I realized was that before I could pretend to be a machine, I had to take that machine offline. If you are lucky and its running windows, that is no problem, you can run any number of techniques against a windows box and take it down.  Of course, taking down a host, whether by exploits or DoS is an entirely differnet topic, and I won't go there here.

The second thing I learned was about layer 2 and layer 3 switching.. and the huge differences between those and layer 1 switches. Mostly I deal with layer 2 switches.  But pretending to be a machine is really an entirely different and lengthy topic, and I won't go there now.  It is relevant to the question about port stealing, since that is in essence where I turned after those realizations, and where I began finding more success.
<blockquote><strong>First thing I realized was that before I could pretend to be a machine, I had to take that machine offline. If you are lucky and its running windows, that is no problem, you can run any number of techniques against a windows box and take it down.</strong>

True, but why just scan whole subnet for MAC &amp; IP and few hours later just use one of these that are offline.</blockquote>
Actually you are right, good point. I guess the point I wanted to make was that attacking the switch directly, and not relying on spoofing another host, is the best way to go and where I found most of my success. It seems theoretically like a very logical way to attack a switch or even another host, but the fact is, when dealing with layer 2 or layer 3 switches, this will not give you any edge and will just waste your time and most likely tip off an admin to your attempts.

Of course, my experience is really pretty limited to switches that are using port security, which includes vlans, but really just basic port security, where each port on the switch is locked down to a particular mac address, and important routes are static.  That is where my experience is at, hacking layer 2 switches with port security ON, and also hacking layer 2 switches with port security ON and VLANs active.

So for easier targets, spoofing another host could work quite well, especially where port security is OFF or the switch is not configured securely or layer 1 switching.  I was referring to <a href="http://ettercap.sourceforge.net/forum/viewtopic.php?t=2329">port security</a>, vlans, trunking, CAM tables, etc.. but mostly just referring to the security mechanisms at play in layer 2 switches vs layer 1.  And even layer 2 switches that are configured securely, vs those that are not.
<h2>Commands to become undetectable on Windows NT/W2K/XP</h2>
<strong>NOTE:</strong> You are at your own risk if you follow these instructions. Editing your registry is <strong>DANGEROUS</strong> and should be done with extreme caution. <strong>Follow these steps at your OWN risk.</strong>
<ol>
	<li>Get your device's hex value. ('snort -W' works for this)</li>
	<li>open Regedt32</li>
	<li>Navigate to: HKEY_LOCAL_MACHINE$backslash$SYSTEM$backslash$CurrentControlSet$backslash$Services$backslash$Tcpip$backslash$Parameters$backslash$
Interfaces$backslash${XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</li>
	<li>Select the network card you wish to setup as the monitoring interface (this will be the {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} value).</li>
	<li>Set IPAddress:REG_MULTI_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK)</li>
	<li>Set SubnetMask:REG_MULTI_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK)</li>
	<li>Set DefaultGateway:REG_MULTI_SZ: to null (Double click on the string, delete data in the Multi-String Editor, then click OK)</li>
	<li>Close the Registry Editor, your changes will be saved automatically.</li>
	<li>In a command prompt, run 'ipconfig' to verify the interface does not have an IP bound to it.</li>
</ol>
<h2>External Links</h2>
<ul>
	<li><a href="http://wiki.wireshark.org/CaptureSetup/Ethernet">Capturing on Ethernet Examples and Diagrams</a></li>
	<li><a href="http://www.snort.org/docs/tap/">Construction and Use of a Passive Ethernet Tap</a></li>
	<li><a href="http://www.linuxjournal.com/article.php?sid=5869">Switch Sniffing Article LJ</a></li>
	<li><a href="http://www.securityfocus.com/print/infocus/1884">Wireless Forensics: Tapping the Air - 2007</a></li>
	<li><a href="http://ettercap.sourceforge.net/forum/viewtopic.php?t=2392&amp;sid=c3bd051ccaac01d54f83223155793cd3">Ettercap :: ARP Poisoning HowTo</a></li>
	<li><a href="http://www.linuxjournal.com/node/6222">Stealthful Sniffing, Intrusion Detection and Logging</a></li>
	<li><a href="http://www.linuxjournal.com/article/5201">In Search of a Sniffer</a></li>
</ul>

<h2>NSA Anonymous Sniffing Techniques</h2>


<blockquote><h3>Statement</h3>
<cite>--Mark Klein, April 6, 2006</cite>


<h4>My Background:</h4>
<blockquote>For 22 and 1/2 years I worked as an AT&amp;T technician, first in New York and then in California.</blockquote>


<h4>What I Observed First-Hand:</h4>
</p>In 2002, when I was working in an AT&amp;T office in San Francisco, the site manager told me to expect a visit from a National Security Agency agent, who was to interview a management-level technician for a special job. The agent came, and by chance I met him and directed him to the appropriate people.</p>

</p>In January 2003, I, along with others, toured the AT&amp;T central office on Folsom Street in San Francisco -- actually three floors of an SBC building. There I saw a new room being built adjacent to the 4ESS switch room where the public's phone calls are routed. I learned that the person whom the NSA interviewed for the secret job was the person working to install equipment in this room. The regular technician work force was not allowed in the room.</p>

</p>In October 2003, the company transferred me to the San Francisco building to oversee the Worldnet Internet room, which included large routers, racks of modems for customers' dial-in services, and other equipment. I was responsible for troubleshooting problems on the fiber optic circuits and installing new circuits.</p>

</p>While doing my job, I learned that fiber optic cables from the secret room were tapping into the Worldnet circuits by splitting off a portion of the light signal. I saw this in a design document available to me, entitled "Study Group 3, LGX/Splitter Wiring, San Francisco" dated Dec. 10, 2002. I also saw design documents dated Jan. 13, 2004 and Jan. 24, 2003, which instructed technicians on connecting some of the already in-service circuits to the "splitter" cabinet, which diverts some of the light signal to the secret room. The circuits listed were the Peering Links, which connect Worldnet with other networks and hence the whole country, as well as the rest of the world.</p>

</p>One of the documents listed the equipment installed in the secret room, and this list included a Narus STA 6400, which is a "Semantic Traffic Analyzer". The Narus STA technology is known to be used particularly by government intelligence agencies because of its ability to sift through large amounts of data looking for preprogrammed targets. The company's advertising boasts that its technology "captures comprehensive customer usage data ... and transforms it into actionable information.... (It) provides complete visibility for all internet applications."</p>

</p>My job required me to connect new circuits to the "splitter" cabinet and get them up and running. While working on a particularly difficult one with a technician back East, I learned that other such "splitter" cabinets were being installed in other cities, including Seattle, San Jose, Los Angeles and San Diego.</p>

<h4>What is the Significance and Why Is It Important to Bring These Facts to Light?</h4>
</p>Based on my understanding of the connections and equipment at issue, it appears the NSA is capable of conducting what amounts to vacuum-cleaner surveillance of all the data crossing the Internet -- whether that be peoples' e-mail, Web surfing or any other data.</p>

</p>Given the public debate about the constitutionality of the Bush administration's spying on U.S. citizens without obtaining a FISA warrant, I think it is critical that this information be brought out into the open, and that the American people be told the truth about the extent of the administration's warrantless surveillance practices, particularly as it relates to the Internet.</p>

<p>Despite what we are hearing, and considering the public track record of this administration, I simply do not believe their claims that the NSA's spying program is really limited to foreign communications or is otherwise consistent with the NSA's charter or with FISA. And unlike the controversy over targeted wiretaps of individuals' phone calls, this potential spying appears to be applied wholesale to all sorts of Internet communications of countless citizens.</p>

Attorney contact information:

<strong>Miles Ehrlich</strong>
Ramsey &amp; Ehrlich LLP

<small>Source: Legal Pad</small></blockquote><p><a href="http://www.askapache.com/hacking/sniffing-ethernet-undetected.html"></a><a href="http://www.askapache.com/hacking/sniffing-ethernet-undetected.html">Undetectable Sniffing On Ethernet</a> originally appeared on <cite>AskApache.com</cite> </p>]]></content:encoded>
			<wfw:commentRss>http://www.askapache.com/hacking/sniffing-ethernet-undetected.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

