<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Captive_portal</id>
	<title>Captive portal - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Captive_portal"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Captive_portal&amp;action=history"/>
	<updated>2026-04-25T21:28:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Captive_portal&amp;diff=17920&amp;oldid=prev</id>
		<title>Onnowpurbo: New page: The &#039;&#039;&#039;captive portal&#039;&#039;&#039; technique forces an HTTP client on a network to see a special web page (usually for authentication purposes) before using the Internet normally. A &#039;&#039;&#039;c...</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Captive_portal&amp;diff=17920&amp;oldid=prev"/>
		<updated>2010-04-07T03:14:21Z</updated>

		<summary type="html">&lt;p&gt;New page: The &amp;#039;&amp;#039;&amp;#039;captive portal&amp;#039;&amp;#039;&amp;#039; technique forces an &lt;a href=&quot;/wiki/index.php?title=HTTP&quot; title=&quot;HTTP&quot;&gt;HTTP&lt;/a&gt; client on a network to see a special web page (usually for &lt;a href=&quot;/wiki/index.php?title=Authentication&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Authentication (page does not exist)&quot;&gt;authentication&lt;/a&gt; purposes) before using the &lt;a href=&quot;/wiki/index.php?title=Internet&quot; title=&quot;Internet&quot;&gt;Internet&lt;/a&gt; normally. A &amp;#039;&amp;#039;&amp;#039;c...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;captive portal&amp;#039;&amp;#039;&amp;#039; technique forces an [[HTTP]] client on a network to see a special web page (usually for [[authentication]] purposes) before using the [[Internet]] normally. A &amp;#039;&amp;#039;&amp;#039;captive portal&amp;#039;&amp;#039;&amp;#039; turns a [[Web browser]] into an authentication device.This is done by intercepting all [[Packet (information technology)|packet]]s, regardless of address or port, until the user opens a browser and tries to access the Internet.  At that time the browser is redirected to a web page which may require authentication and/or [[Payment gateway|payment]], or simply display an [[acceptable use policy]] and require the user to agree.  Captive portals are used at most [[Wi-Fi]] [[Hotspot (Wi-Fi)|hotspots]], and it can be used to control wired access (e.g. apartment houses, hotel rooms, business centers, &amp;quot;open&amp;quot; [[Ethernet]] jacks) as well.&lt;br /&gt;
&lt;br /&gt;
Since the [[Logging (computer security)|login page]] itself must be presented to the client, either that login page is locally stored in the [[Gateway (computer networking)|gateway]], or the [[web server]] hosting that page must be &amp;quot;[[whitelist]]ed&amp;quot; via a [[walled garden (media)|walled garden]] to bypass the authentication process.  Depending on the feature set of the gateway, multiple web servers can be whitelisted (say for [[iframe]]s or [[HTML element#Links and anchors|links]] within the login page).  In addition to whitelisting the [[Uniform Resource Locator|URL]]s of web hosts, some gateways can whitelist [[TCP ports]].   The [[MAC address]] of attached clients can also be set to bypass the login process.&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
&lt;br /&gt;
There is more than one way to implement a captive portal.&lt;br /&gt;
&lt;br /&gt;
===Redirection by HTTP===&lt;br /&gt;
&lt;br /&gt;
If an unauthenticated client requests a website, [[Domain name system|DNS]] is queried by the browser and the appropriate IP resolved as usual. The browser then sends an [[HTTP]] request to that [[IP address]]. This request, however, is intercepted by a [[Firewall (computing)|firewall]] and forwarded to a redirect server. This redirect server responds with a regular HTTP response which contains [[List_of_HTTP_status_codes#3xx_Redirection|HTTP status code 302]] to redirect the client to the Captive Portal. To the client, this process is totally transparent. The client assumes that the website actually responded to the initial request and sent the redirect.&lt;br /&gt;
&lt;br /&gt;
===IP Redirect===&lt;br /&gt;
&lt;br /&gt;
Client traffic can also be redirected using IP redirect on the layer 3 level. This has the disadvantage that content served to the client does not match the URL.&lt;br /&gt;
&lt;br /&gt;
===Redirection by DNS===&lt;br /&gt;
&lt;br /&gt;
When a client requests a website, [[Domain name system|DNS]] is queried by the browser. The firewall will make sure that only the DNS server(s) provided by DHCP can be used by unauthenticated clients (or, alternatively, it will forward all DNS requests by unauthenticated clients to that DNS server). This DNS server will return the IP address of the Captive Portal page as a result of all DNS lookups.&lt;br /&gt;
&lt;br /&gt;
The [[DNS poisoning]] technique used here, when not considering answers with a [[Time_to_live|TTL]] of 0, may negatively affect post-authenticated internet use when the client machine references non-authentic data in its local resolver cache.&lt;br /&gt;
&lt;br /&gt;
Some naive implementations don&amp;#039;t block outgoing DNS requests from clients, and therefore are very easy to bypass; a user simply needs to configure their computer to use another, public, DNS server.  Implementing a firewall or [[Access_control_list|ACL]] that ensures no inside clients can use an outside DNS server is critical.&lt;br /&gt;
&lt;br /&gt;
==Software captive portals==&lt;br /&gt;
*[[AirMarshal|Air Marshal]], software based for [[Linux]] platform (commercial)&lt;br /&gt;
*[http://www.amazingports.com/ AmazingPorts], Linux based, free and commercial - founded 2001.&lt;br /&gt;
*[[ChilliSpot]], open source [[Linux]] daemon [abandoned]&lt;br /&gt;
*[http://coova.org/ CoovaSpot], open source [[Linux]] daemon based on [[ChilliSpot]]&lt;br /&gt;
*[http://patronsoft.com/firstspot FirstSpot], software based for [[Windows]] platform (commercial)&lt;br /&gt;
*[http://www.dnsredirector.com DNS Redirector], software based for [[Windows]] platform (commercial)&lt;br /&gt;
*[http://www.hotspotpa.com HotSpotPA], open source [[Linux]] daemon based on [[OpenWRT]], [[OpenVPN]], and [[ChilliSpot]]&lt;br /&gt;
*[http://pepperspot.sourceforge.net/ PepperSpot], open source [[Linux]] &lt;br /&gt;
*[[m0n0wall]], [[FreeBSD]] based firewall distribution&lt;br /&gt;
*[[PacketFence]], [[Linux]] based [[Network Access Control]] software featuring a captive portal (open source)&lt;br /&gt;
*[[pfSense]], [[FreeBSD]] based firewall software derived from [[m0n0wall]]&lt;br /&gt;
*[http://www.untangle.com/captive-portal Untangle Captive Portal], Firewall featuring Captive Portal&lt;br /&gt;
*[[WiFiDog Captive Portal|WiFiDog Captive Portal Suite]], small C based kernel solution (embeddable)&lt;br /&gt;
*[[Wilmagate]], C++ based and is executable both in [[Linux]] and Windows/Cygwin environments&lt;br /&gt;
*[[Zeroshell]], [[Linux]] based network services distribution&lt;br /&gt;
*[http://talweg.univ-metz.fr/en:start NoTalweg], open source captive portal based on [[netfilter]] queue&lt;br /&gt;
*[http://www.openit.it/index.php?option=com_content&amp;amp;view=section&amp;amp;id=6&amp;amp;Itemid=63&amp;amp;lang=en Kattive], captive portal based on [[Linux]] using [[Shorewall]] &lt;br /&gt;
&lt;br /&gt;
The webpage [http://www.andybev.com/index.php/Using_iptables_and_PHP_to_create_a_captive_portal here] details how to create your own captive portal using [[Linux]] with [[iptables]] and [[PHP]].&lt;br /&gt;
&lt;br /&gt;
Captive portals are gaining increasing use on free open wireless networks where instead of authenticating users, they often display a message from the provider along with the terms of use. Although the legal standing is still unclear (especially in the USA) common thinking is that by forcing users to click through a page that displays terms of use and explicitly releases the provider from any liability, any potential problems are mitigated. They also allow enforcement of payment structures.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
Most of these implementations merely require users to pass an [[Secure Sockets Layer|SSL]] encrypted login page, after which their [[Internet Protocol|IP]] and [[MAC address]] are allowed to pass through the [[Gateway (computer networking)|gateway]].  This has been shown to be exploitable with a simple [[packet sniffer]].  Once the IP and MAC addresses of other connecting computers are found to be authenticated, any machine can spoof the MAC address and IP of the authenticated target, and be allowed a route through the gateway. For this reason some captive portal solutions created extended authentication mechanisms to limit the risk for usurpation.&lt;br /&gt;
&lt;br /&gt;
Captive portals require the use of a browser; this is usually the first application that users start, but users who first use an email client or other will find the connection not working without explanation, and will need to open a browser to validate.&lt;br /&gt;
&lt;br /&gt;
Platforms that have [[Wi-Fi]] and a [[TCP/IP stack]] but do not have a web browser that supports [[HTTPS]] cannot use many captive portals. Such platforms include the [[Nintendo DS]] running a game that uses [[Nintendo Wi-Fi Connection]]. Non browser authentication is possible using [[WISPr]], an [[XML]]-based authentication protocol for this purpose, or MAC-based authentication or authentications based on other protocols. &lt;br /&gt;
&lt;br /&gt;
There also exists the option of the platform vendor entering into a service contract with the operator of a large number of captive portal hotspots to allow free or discounted access to the platform vendor&amp;#039;s servers via the hotspot&amp;#039;s [[Walled garden (media)|walled garden]], such as the deal between Nintendo and [[Wayport, Inc.|Wayport]].  For example, [[Voice over IP|VoIP]] [[Session Initiation Protocol|SIP]] ports could be allowed to bypass the gateway to allow phones to work.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HTTP proxy]]&lt;br /&gt;
* [[Service oriented provisining|Service Oriented Provisioning]]&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>