1
1

00:00:00,310  -->  00:00:01,760
<v ->Captive portal.</v>
2

2

00:00:01,760  -->  00:00:04,350
In this lesson, we're going to discuss captive portals
3

3

00:00:04,350  -->  00:00:06,920
and some issues you may experience when you're using them.
4

4

00:00:06,920  -->  00:00:09,270
First, what is a captive portal?
5

5

00:00:09,270  -->  00:00:11,110
Well, a captive portal is a webpage
6

6

00:00:11,110  -->  00:00:12,910
that's access from your web browser,
7

7

00:00:12,910  -->  00:00:14,980
and it's going to be displayed to newly connected users
8

8

00:00:14,980  -->  00:00:17,820
of a wireless network before they're granted broader access
9

9

00:00:17,820  -->  00:00:19,420
to network resources.
10

10

00:00:19,420  -->  00:00:21,120
Captive portals are commonly going to be used
11

11

00:00:21,120  -->  00:00:23,390
to present a landing page or a login page,
12

12

00:00:23,390  -->  00:00:25,660
which is going to require authentication, payment
13

13

00:00:25,660  -->  00:00:27,920
or acceptance of an end user license agreement
14

14

00:00:27,920  -->  00:00:29,830
or something like acceptable use policies,
15

15

00:00:29,830  -->  00:00:32,200
survey completion, or some other kind of information
16

16

00:00:32,200  -->  00:00:34,180
we're trying to collect from you before we allow you
17

17

00:00:34,180  -->  00:00:36,480
to get onto our network and our resources.
18

18

00:00:36,480  -->  00:00:38,820
Now, these captive portals are commonly used at places
19

19

00:00:38,820  -->  00:00:41,270
like hotels, restaurants, airports,
20

20

00:00:41,270  -->  00:00:42,870
and other places that give you free
21

21

00:00:42,870  -->  00:00:45,821
or paid wireless networks for you to connect to and use.
22

22

00:00:45,821  -->  00:00:48,110
In general, captive portals are implemented
23

23

00:00:48,110  -->  00:00:51,340
by using an HTTP redirect, an ICMP redirect,
24

24

00:00:51,340  -->  00:00:53,000
or a DNS redirect.
25

25

00:00:53,000  -->  00:00:55,640
We're going to talk about all three of those in this lesson.
26

26

00:00:55,640  -->  00:00:58,200
Now, when a user attempts to log into a wireless network
27

27

00:00:58,200  -->  00:01:00,740
and the captive portal doesn't redirect them properly,
28

28

00:01:00,740  -->  00:01:03,030
it can be a really frustrating experience.
29

29

00:01:03,030  -->  00:01:05,040
I personally had this happen to me a lot,
30

30

00:01:05,040  -->  00:01:07,930
but luckily, I know how to troubleshoot and fix this issue.
31

31

00:01:07,930  -->  00:01:10,220
And after this video, you will too.
32

32

00:01:10,220  -->  00:01:12,260
Now, for example, I was flying home recently
33

33

00:01:12,260  -->  00:01:15,290
on a Delta flight and they use a captive portal system.
34

34

00:01:15,290  -->  00:01:17,740
When you connect to the Delta Wi-Fi network on the plane,
35

35

00:01:17,740  -->  00:01:18,850
it's supposed to redirect you
36

36

00:01:18,850  -->  00:01:20,540
to the captive portals login page
37

37

00:01:20,540  -->  00:01:22,160
so you can enter your account information
38

38

00:01:22,160  -->  00:01:25,020
so you can access the internet if you're a SkyMiles member.
39

39

00:01:25,020  -->  00:01:26,990
Now this didn't work on my MacBook Pro though.
40

40

00:01:26,990  -->  00:01:29,210
So I had to start begin troubleshooting this issue
41

41

00:01:29,210  -->  00:01:31,520
and figure out what was causing the problem.
42

42

00:01:31,520  -->  00:01:33,300
It could have been any of the three redirect methods,
43

43

00:01:33,300  -->  00:01:35,160
cause I didn't know which one they were using.
44

44

00:01:35,160  -->  00:01:37,370
So let's say first I went and tried to see
45

45

00:01:37,370  -->  00:01:39,380
if they used an HTTP redirect.
46

46

00:01:39,380  -->  00:01:41,030
With an HTTP redirect,
47

47

00:01:41,030  -->  00:01:44,130
all traffic is redirected to a web server that they control.
48

48

00:01:44,130  -->  00:01:46,490
And then this web server redirects the clients
49

49

00:01:46,490  -->  00:01:50,990
to the captive portal using an HTTP status code of 302.
50

50

00:01:50,990  -->  00:01:52,680
In the case of this in-flight Wi-Fi,
51

51

00:01:52,680  -->  00:01:54,010
that is not what they were using
52

52

00:01:54,010  -->  00:01:56,630
and so I moved on to my troubleshooting efforts.
53

53

00:01:56,630  -->  00:01:59,780
Second, I looked to see if they were using ICMP packets
54

54

00:01:59,780  -->  00:02:01,830
to redirect me to a captive portal.
55

55

00:02:01,830  -->  00:02:04,150
Now, ICMP is a network protocol that's used
56

56

00:02:04,150  -->  00:02:06,630
to send error messages and operational information
57

57

00:02:06,630  -->  00:02:08,340
indicating the success or failure
58

58

00:02:08,340  -->  00:02:10,760
of communicating with another IP address.
59

59

00:02:10,760  -->  00:02:13,380
With an ICMP redirect, it's not a very common way
60

60

00:02:13,380  -->  00:02:16,100
to do captive portals these days, at least in my experience.
61

61

00:02:16,100  -->  00:02:18,440
And again, I found that they were not using that
62

62

00:02:18,440  -->  00:02:20,310
inside of the in-flight Wi-FI,
63

63

00:02:20,310  -->  00:02:22,500
and so I moved on to step three.
64

64

00:02:22,500  -->  00:02:24,780
Step three is probably your most common type.
65

65

00:02:24,780  -->  00:02:27,610
And this is what's known as a DNS redirection.
66

66

00:02:27,610  -->  00:02:30,110
Now, when the client joins the inflight Wi-Fi
67

67

00:02:30,110  -->  00:02:32,630
on board the aircraft, the client gets an IP address,
68

68

00:02:32,630  -->  00:02:34,340
a subnet mask, a gateway,
69

69

00:02:34,340  -->  00:02:36,830
and a DNS server IP from the network.
70

70

00:02:36,830  -->  00:02:38,440
Now this is all handed out to you
71

71

00:02:38,440  -->  00:02:40,330
from the onboard DHCP server
72

72

00:02:40,330  -->  00:02:42,140
when you connect to the network.
73

73

00:02:42,140  -->  00:02:44,300
Now, when the client opens up a web browser
74

74

00:02:44,300  -->  00:02:47,910
to connect to a website like deontrain.com or google.com,
75

75

00:02:47,910  -->  00:02:49,160
the client is going to be redirected
76

76

00:02:49,160  -->  00:02:50,680
to the onboard DNS server
77

77

00:02:50,680  -->  00:02:53,790
and then redirected to that captive portal page.
78

78

00:02:53,790  -->  00:02:55,610
This is exactly what the in-flight Wi-Fi
79

79

00:02:55,610  -->  00:02:56,730
is attempting to use,
80

80

00:02:56,730  -->  00:02:59,440
but it wasn't working on my MacBook Pro.
81

81

00:02:59,440  -->  00:03:00,890
Now, why is that?
82

82

00:03:00,890  -->  00:03:02,020
Well, the issue was,
83

83

00:03:02,020  -->  00:03:04,450
my client was already configured to use DNS
84

84

00:03:04,450  -->  00:03:06,350
from a static server that I assigned
85

85

00:03:06,350  -->  00:03:09,150
and not the onboard Wi-Fi's DNS server.
86

86

00:03:09,150  -->  00:03:13,080
Instead, I always use my DNS server as 8.8.8.8,
87

87

00:03:13,080  -->  00:03:15,980
which is Google's DNS server because I trust that one.
88

88

00:03:15,980  -->  00:03:18,750
So I was configured to use Google's DNS server,
89

89

00:03:18,750  -->  00:03:20,290
not the onboard DNS server,
90

90

00:03:20,290  -->  00:03:22,050
and therefore it couldn't redirect me
91

91

00:03:22,050  -->  00:03:23,560
to their captive portal.
92

92

00:03:23,560  -->  00:03:26,070
So I quickly disconnected from Wi-Fi,
93

93

00:03:26,070  -->  00:03:29,170
I cleared out my saved DNS setting of 8.8.8.8,
94

94

00:03:29,170  -->  00:03:32,150
and I set it automatically be configured over DHCP.
95

95

00:03:32,150  -->  00:03:34,710
Then I reconnected to the onboard Wi-Fi.
96

96

00:03:34,710  -->  00:03:36,960
Immediately, I was forwarded to the captive portal
97

97

00:03:36,960  -->  00:03:38,970
and I was able to get online and surf the web
98

98

00:03:38,970  -->  00:03:41,610
at 36,000 feet over the Atlantic Ocean.
99

99

00:03:41,610  -->  00:03:44,060
Isn't modern technology just wonderful?
100

100

00:03:44,060  -->  00:03:46,710
So, what are some other common captive portal issues
101

101

00:03:46,710  -->  00:03:48,370
that you might experience?
102

102

00:03:48,370  -->  00:03:49,960
Well, if you're dealing with a smartphone
103

103

00:03:49,960  -->  00:03:51,660
like an Apple or an Android device,
104

104

00:03:51,660  -->  00:03:53,200
especially with Apple devices,
105

105

00:03:53,200  -->  00:03:55,430
sometimes these things don't automatically load up
106

106

00:03:55,430  -->  00:03:58,240
the captive page upon connecting to the wireless network.
107

107

00:03:58,240  -->  00:04:00,840
If this occurs, you should first open up a web browser
108

108

00:04:00,840  -->  00:04:04,180
and try to go to any site like google.com or facebook.com,
109

109

00:04:04,180  -->  00:04:06,490
something you know should always be up and available.
110

110

00:04:06,490  -->  00:04:10,330
This should cause the captive portals HTTP or DNS redirects
111

111

00:04:10,330  -->  00:04:11,770
to take over and then present you
112

112

00:04:11,770  -->  00:04:13,800
with a captive portal login page.
113

113

00:04:13,800  -->  00:04:15,230
Now, if this doesn't work,
114

114

00:04:15,230  -->  00:04:17,330
then you're going to need to check your IP configuration
115

115

00:04:17,330  -->  00:04:20,360
of your smartphone and determine what the default gateway is
116

116

00:04:20,360  -->  00:04:22,390
for that wireless network you're connected to.
117

117

00:04:22,390  -->  00:04:25,880
Then you could type that IP address into your web browser.
118

118

00:04:25,880  -->  00:04:27,460
This will force load the cactus portal
119

119

00:04:27,460  -->  00:04:29,030
in most cases as well.
120

120

00:04:29,030  -->  00:04:31,580
Now, the same thing can happen on your laptops as well.
121

121

00:04:31,580  -->  00:04:33,440
And if it does, I tend to follow
122

122

00:04:33,440  -->  00:04:35,670
the same three-step troubleshooting process.
123

123

00:04:35,670  -->  00:04:37,440
First, I open up a web browser
124

124

00:04:37,440  -->  00:04:38,980
and I try to go to any website
125

125

00:04:38,980  -->  00:04:41,490
like google.com or facebook.com.
126

126

00:04:41,490  -->  00:04:43,310
Second, if that doesn't work,
127

127

00:04:43,310  -->  00:04:44,680
I determine what the default gateway
128

128

00:04:44,680  -->  00:04:48,720
for the wireless network is, and I enter http://
129

129

00:04:48,720  -->  00:04:51,250
and the IP address for that default gateway.
130

130

00:04:51,250  -->  00:04:52,880
Then I hit enter.
131

131

00:04:52,880  -->  00:04:54,530
Third, If that doesn't work,
132

132

00:04:54,530  -->  00:04:56,670
I verify my DNS server IPs.
133

133

00:04:56,670  -->  00:04:58,310
And I make sure that it's not set to something
134

134

00:04:58,310  -->  00:05:02,470
like 8.8.8.8 manually and instead I turn on DHCP
135

135

00:05:02,470  -->  00:05:05,600
for it to allow me to auto configure my DNS on my laptop
136

136

00:05:05,600  -->  00:05:07,460
to connect to their wireless network.
137

137

00:05:07,460  -->  00:05:09,340
Then I reattempt step number one
138

138

00:05:09,340  -->  00:05:12,130
by opening up a web browser and going to any website again.
139

139

00:05:12,130  -->  00:05:13,870
Usually, these three steps will solve
140

140

00:05:13,870  -->  00:05:15,420
most of the issues you're going to come across
141

141

00:05:15,420  -->  00:05:16,593
with captive portals.
