<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ wifi - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ wifi - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 15 Jun 2026 23:30:39 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/wifi/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Install a Wifi Adapter Driver on AML-S905X-CC (Le Potato) ]]>
                </title>
                <description>
                    <![CDATA[ If you're a developer, you might be familiar with Raspberry Pi. But you might not know about the Libre Computer AML-S905X-CC – also called Le Potato.  There was a chip shortage during the pandemic that has resulted in increased Raspberry Pi prices. O... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-install-wifi-adapter-driver-on-aml-s905x-cc-le-potato/</link>
                <guid isPermaLink="false">66ba10c4052fa53219e0a378</guid>
                
                    <category>
                        <![CDATA[ Raspberry Pi ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Arunachalam B ]]>
                </dc:creator>
                <pubDate>Wed, 30 Nov 2022 17:27:33 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/11/How-to-install-driver-for-external-wifi-adapter-in-Le-Potato-3.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're a developer, you might be familiar with Raspberry Pi. But you might not know about the Libre Computer AML-S905X-CC – also called Le Potato. </p>
<p>There was a chip shortage during the pandemic that has resulted in increased Raspberry Pi prices. Other world events have also skyrocketed the price of Raspberry Pis, and the manufacturing of a few models has even been stopped. You can read more about it <a target="_blank" href="https://www.raspberrypi.com/news/supply-chain-shortages-and-our-first-ever-price-increase/">here</a>. </p>
<p>Because of this, I felt that switching to a Raspberry Pi alternative would be a good option for a project I wanted to work on.</p>
<p>Le Potato is similar to Raspberry Pi in terms of appearance, configuration, and so on. It also has the ability to run numerous operating systems such as Ubuntu, Debian, Raspbian, Android, and others. </p>
<p>But unfortunately, it does not come with a pre-installed wifi module, whereas Raspberry Pi has the wifi module pre-installed. </p>
<p>In this article, I'll give you clear step-by-step instructions to install an external wifi adapter driver in Le Potato running <strong>Ubuntu OS</strong>. For those who are running other operating systems, you can try the following steps, but I cannot assure you that it'll definitely work. </p>
<p>Let's have a quick look at my accessories. </p>
<h5 id="heading-heres-my-le-potato-device">Here's my Le Potato device:</h5>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Le-Potato.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Le Potato Device</em></p>
<h5 id="heading-and-heres-my-zebronics-external-wifi-adapter">And here's my Zebronics External Wifi Adapter:</h5>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/Wifi-Device-1.jpeg" alt="Image" width="600" height="400" loading="lazy">
<em>Zebronics External Wifi Adapter</em></p>
<h2 id="heading-trial-and-error-what-didnt-work">Trial and Error – What Didn't Work</h2>
<p>Before I found my final solution and ended up installing the wifi driver and being able to access the internet with my wifi adapter, I tried many approaches. But none of them worked out. </p>
<p>Here's what I tried along the way:</p>
<ol>
<li>I tried to install the driver given on the CD that was delivered along with the wifi adapter. But, I couldn't understand the steps they asked me to follow and finally ended up with a lot of errors.</li>
<li>I downloaded the exact driver for this device from the Zebronics official site. Again that did not pay off well.</li>
<li>I tried to install some open source drivers from GitHub forked by many people from the Realtek source. This also did not work out as expected.</li>
</ol>
<p>Finally, I found an answer from the <a target="_blank" href="https://askubuntu.com/questions/1415466/wireless-usb-apapter-not-show-any-available-networks">Ubuntu Q&amp;A forum</a> and I was able to install it on the first try. Though the steps were not so clear initially, I managed to figure them out. So I'll explain how to do it here. </p>
<h2 id="heading-how-to-install-the-wifi-adapter-driver-for-le-potato-in-ubuntu">How to Install the Wifi Adapter Driver for Le Potato in Ubuntu</h2>
<p>Follow the below steps to install the driver on your device:</p>
<h3 id="heading-install-the-dependencies">Install the dependencies</h3>
<p>The first step is to install the required software. </p>
<p>You need to install <code>git</code>, <code>dkms</code>, <code>build-essential</code>, and <code>linux-headers</code> for your system architecture. </p>
<p>You can install them all together in a single command:</p>
<pre><code class="lang-bash">sudo apt-get install -y build-essential git dkms linux-headers-$(uname -r)
</code></pre>
<p>If you have been prompted (yes/no) while running the above command, just hit <code>y</code> (which is basically agreeing to install the software in your system). </p>
<h3 id="heading-download-the-driver-source">Download the driver source</h3>
<p>Drivers for some devices will not be available in any installable/executable formats. In such cases, you should download, compile, and install the source code on the machine directly. Unfortunately, this driver also falls under this category. </p>
<p>We can download the source of this driver from GitHub. Run the following command in your terminal to download the source code:</p>
<pre><code class="lang-bash">git <span class="hljs-built_in">clone</span> https://github.com/kelebek333/rtl8188fu
</code></pre>
<h3 id="heading-build-and-install-the-driver">Build and install the driver</h3>
<p>Before building and installing the driver, you need to know about the <code>dkms</code> command in Linux. If you know about <code>dkms</code>, you can skip this paragraph and move on to the next paragraph. </p>
<p>DKMS stands for Dynamic Kernel Module Support. It's a program/framework that lets you install the supplementary versions of kernel modules. A package can be compiled and installed into the kernel tree. DKMS is called automatically upon installation of new Ubuntu kernel-image packages, and so modules added to DKMS will be automatically carried across updates. </p>
<p>This is the source package that we downloaded in the previous step. We need to add, compile, and install the source package into our kernel tree. </p>
<p>Run the following commands sequentially to add, compile and install the driver package:</p>
<h4 id="heading-add-source-to-kernel">Add Source to Kernel</h4>
<pre><code class="lang-bash">sudo dkms add ./rtl8188fu
</code></pre>
<h4 id="heading-compile-source-package">Compile source package</h4>
<pre><code class="lang-bash">sudo dkms build rtl8188fu/1.0
</code></pre>
<h4 id="heading-install-the-package-into-the-kernel-tree">Install the package into the kernel tree</h4>
<pre><code class="lang-bash">sudo dkms install rtl8188fu/1.0
</code></pre>
<h4 id="heading-copy-the-firmware">Copy the firmware</h4>
<p>The compiled binary firmware file should then be copied to the default firmware location in Linux, that is <code>/lib/firmware</code> . </p>
<p><strong>Firmware</strong> is software that enables the communication between hardware and software. It gives the machine instructions that make the hardware function. </p>
<p>Run the following command to copy the compiled firmware:</p>
<pre><code class="lang-bash">sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/
</code></pre>
<h3 id="heading-disable-power-saving-and-auto-suspend-modes-on-kernel">Disable power saving and auto suspend modes on kernel</h3>
<p>It is always a good idea to disable power saving and auto suspend modes for wifi drivers. So, you'll need to add this option by default on updating the kernel, too. You can add this configuration in the <code>.conf</code> file in <code>/etc/modprobe.d/</code> directory. </p>
<p>We are creating this conf file in <code>/etc/modprobe.d</code> directory, because we need to load this customized module with the persistent changes. </p>
<p>You use the <code>rtw_power_mgnt</code> flag to control power saving mode:</p>
<ul>
<li>0 - Disables power saving</li>
<li>1 - Power saving on with minPS</li>
<li>2 - Power saving on with maxPS</li>
</ul>
<p>You use the <code>rtw_enusbss</code> flag to control auto-suspend mode:</p>
<ul>
<li>0 - Disables auto suspend</li>
<li>1 - Enables auto suspend</li>
</ul>
<p>Run the following commands to create a <code>.conf</code> file and store the options:</p>
<pre><code class="lang-bash">sudo mkdir -p /etc/modprobe.d/
sudo touch /etc/modprobe.d/rtl8188fu.conf
<span class="hljs-built_in">echo</span> <span class="hljs-string">"options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0"</span> | sudo tee /etc/modprobe.d/rtl8188fu.conf
</code></pre>
<h3 id="heading-blacklist-the-existing-module">Blacklist the existing module</h3>
<p>You have to blacklist the module which you tried to install before. </p>
<p><strong>Note:</strong> Blacklisting a module will not allow it to be loaded automatically, but the module may be loaded if another non-blacklisted module depends on it or if it is loaded manually. </p>
<p>Let's assume you have added a module named <code>rtl8188au</code>. Then, you need to blacklist it by adding the following line at the end of the <code>/etc/modprobe.d/blacklist.conf</code> file. </p>
<pre><code class="lang-bash">blacklist rtl8188au
</code></pre>
<p>If you haven't added any such module, you can ignore the blacklisting part. </p>
<h3 id="heading-reload-the-module">Reload the module</h3>
<p>You need to reload the module to make it start working. </p>
<p>Here's the command to reload the module we added now:</p>
<pre><code class="lang-bash">sudo modprobe -rv rtl8188fu &amp;&amp; sudo modprobe -v rtl8188fu
</code></pre>
<p>And you're done! You should be able to see the wifi enabled on your Le Potato running Ubuntu OS. If you cannot see it, reboot your system and everything should be alright.  </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/image-98.png" alt="Image" width="600" height="400" loading="lazy">
<em>Trying to connect to a network after installing the driver</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/11/image-97.png" alt="Image" width="600" height="400" loading="lazy">
<em>Connected to my wifi network</em></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article, we have gone through the steps to install the driver for our external wifi adapter. </p>
<p>These are the exact (basic) steps you need to follow to add any external module into your kernel. </p>
<p>Subscribe to my <a target="_blank" href="https://5minslearn.gogosoon.com/">newsletter</a> to receive more such insightful articles that get delivered straight to your inbox. </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Wi-Fi Hacking 101 – How to Hack WPA2 and Defend Against These Attacks ]]>
                </title>
                <description>
                    <![CDATA[ Welcome to the world of Wi-Fi hacking, everybody. 💻. In my previous article, we talked about some basic Linux skills and tricks. In this article you are going to learn a basic Wi-Fi hacking procedure using those skills. You'll learn things such as h... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/wi-fi-hacking-101/</link>
                <guid isPermaLink="false">66bb902ccaaeb78feb348949</guid>
                
                    <category>
                        <![CDATA[ Ethical Hacking ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hacking ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #infosec ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Daniel Iwugo ]]>
                </dc:creator>
                <pubDate>Tue, 18 Oct 2022 20:37:37 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/10/image-74-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Welcome to the world of Wi-Fi hacking, everybody. 💻.</p>
<p>In my <a target="_blank" href="https://www.freecodecamp.org/news/linux-basics/">previous article</a>, we talked about some basic Linux skills and tricks. In this article you are going to learn a basic Wi-Fi hacking procedure using those skills.</p>
<p>You'll learn things such as how to:</p>
<ol>
<li>Monitor Wi-Fi networks around you</li>
<li>Perform a DOS attack</li>
<li>Protect yourself against Wi-Fi attacks</li>
</ol>
<p><strong>Disclaimer: This is strictly for educational purposes only (and, of course, for a little fun). Do not under any circumstances, conditions, or influence of unwise friends use the hacks you learn here on organisations, individuals, or your probably annoying neighbour. You would be committing a crime and you'll either be fined, sent to jail, or just get your parents embarrassed.</strong></p>
<p>And now that we have that lovely introduction out of the way, let’s proceed.🙃</p>
<h2 id="heading-what-well-cover">What We'll Cover:</h2>
<p>Here's a basic rundown of what this tutorial contains:</p>
<ol>
<li>Introduction</li>
<li>What is a Packet?</li>
<li>How to Crack WPA2<ul>
<li>Prerequisites</li>
<li>How to put the network card into monitor mode</li>
<li>How to look for the target</li>
<li>How to capture the handshake packets</li>
<li>How to perform a DOS attack</li>
<li>How to obtain the password (hopefully)</li>
</ul>
</li>
<li>Mitigations Against WiFi Attacks</li>
<li>Conclusion</li>
</ol>
<h2 id="heading-introduction">Introduction</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-75.png" alt="A router" width="600" height="400" loading="lazy">
<em>A router ¦ Credit: Unsplash.com</em></p>
<p>Wireless Fidelity (Wi-Fi) is a common technology many of us use in our daily lives. Wether it's at school, home, or simply bingeing Netflix, it’s increasingly rare to see anyone carry out Internet related activities without it. </p>
<p>But have you ever tried to hack Wi-Fi? 🤔 (I’m sure you’ve been tempted 😏).</p>
<p>In order to hack something, you need to know how it works. This means you need to understand how the tech works in the first place. So let’s start from the basics: The Packet.</p>
<h2 id="heading-what-is-a-packet">What is a Packet?</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-76.png" alt="A Basic Packet" width="600" height="400" loading="lazy">
<em>A Basic Packet. Credit: ResearchGate.com</em></p>
<p>A Packet is the basic unit/building block of data in a computer network. When data is transferred from one computer to another, it is broken down and sent in packets. </p>
<p>Think of packets like Lego building blocks. You (the computer) receive the complete set (the complete data) in pieces (packets) from the seller (another computer). You will then assemble the blocks together to build up the figure based on the instructions given in order to enjoy it (or in this case, for the whole data to make sense).</p>
<p>A packet, also known as a datagram, is made up of two basic parts:</p>
<ol>
<li>A Header</li>
<li>The Payload/Data</li>
</ol>
<p>The Header contains information about the packet. This helps the network and the receiving computer know what to do with it, such as the source and destination IP addresses. </p>
<p>The Payload is the main content the packet contains. It’s also worth mentioning that packets can be encrypted so that their data can't be read if gotten by an attacker.</p>
<p>In a network, packets are a requirement for packet switching. Packet switching means breaking down data into packets and sending them to various computers using different routes. When received, the computers can then assemble these packets to make sense of it all. The Internet is the largest known packet switching network on earth.</p>
<p>Now let's see how we can apply this knowledge to wireless networks.</p>
<h2 id="heading-how-to-crack-wpa2">How to Crack WPA2</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-77.png" alt="A bunch of random code" width="600" height="400" loading="lazy">
<em>A bunch of random code. Credit: Unsplash.com</em></p>
<p>Wi-Fi can use a number of various protocols to give you a secure internet connection. From the least to most secure, they are:</p>
<ol>
<li>Open</li>
<li>WEP (Wired Equivalent Privacy)</li>
<li>WPA2 (Wi-Fi Protected Access 2)</li>
<li>WPA3 (Wi-Fi Protected Access 3)</li>
</ol>
<p>An open network is pretty much as the name implies – open. It has no password and practically anyone can connect to it. </p>
<p>WEP is an old protocol, rarely in use and requires a password like its successors.</p>
<p>WPA2 is the most commonly used protocol around the world. WPA3 is a newest and the most secure protocol known till date. But it is rarely used and only available on newer devices.</p>
<h3 id="heading-prerequisites">Prerequisites</h3>
<p>Wi-Fi works by constantly sending packets of data to your authenticated device. In order to hack it, you’ll need:</p>
<ol>
<li>A Linux machine (Preferably Kali Linux)</li>
<li>A wireless adapter</li>
</ol>
<p>To install Kali from scratch, you can follow <a target="_blank" href="https://www.freecodecamp.org/news/how-to-install-kali-linux/">this tutorial</a>. </p>
<p>If you haven’t already, you’ll need to install a tool called Aircrack-ng on your machine. To install it, just type in the command below.</p>
<pre><code>sudo apt install aircrack-ng
</code></pre><h3 id="heading-how-to-put-the-network-card-into-monitor-mode">How to Put the Network Card into Monitor Mode</h3>
<p>You first want to get information about the target. This is what hackers call reconnaissance. </p>
<p>In order to do that you need to first change your wireless card from ‘managed’ mode to ‘monitor’ mode. This will turn it from a mere network card to a wireless network reader.</p>
<p>First you need to find out the name of your wireless card. Plug in your adapter and run the <code>iwconfig</code> command to find out. It’s usually the last one on the list.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-78.png" alt="iwconfig" width="600" height="400" loading="lazy">
<em>iwconfig. Credit: Daniel Iwugo</em></p>
<p>As you can see, mine is <code>wlan1</code>. Now run the following commands:</p>
<pre><code>sudo airmon-ng check rfkillsudo
airmon-ng start &lt;network interface&gt;
</code></pre><p><code>sudo</code> indicates the need for root privileges, <code>check rfkill</code> stops processes that could hinder the card from going into monitor mode, and <code>start</code> tells airmon-ng which network card to execute on. Replace the <code>&lt;network interface&gt;</code> with the name of your wireless card.</p>
<p><code>airmon-ng</code> is a script that instantly changes your card to monitor mode. You actually can do this manually or make a script of your own but I personally prefer something rather simple.</p>
<h3 id="heading-how-to-look-for-the-target">How to Look for the Target</h3>
<p>To see what networks are around you, run the following command:</p>
<pre><code>sudo airodump-ng &lt;network interface&gt;
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-81.png" alt="Airodump" width="600" height="400" loading="lazy">
<em>Airodump. Credit: Daniel Iwugo</em></p>
<p><code>airodump-ng</code> is a part of the <code>aircrack-ng</code> suite that allows a network card to view the wireless traffic around it.</p>
<p>As you can see we get a lot of information. But let's take a quick look at the ESSID (Extended Service Set Identifier) column. Also known as the AP (Access Point) name, this column shows the name of the target network, which in my case will be ‘Asteroid’.</p>
<p>You want to concentrate on the target AP and ignore the rest. To do this, press Ctrl+C to cancel the current scan and this time, append the bssid of the network with the bssid flag as shown below.</p>
<pre><code>sudo airodump-ng &lt;network interface&gt; --bssid &lt;AP&gt;
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-82.png" alt="Airodump in action" width="600" height="400" loading="lazy">
<em>Airodump in action. Credit: Daniel Iwugo</em></p>
<p>The BSSID stands for Basic Service Set Identifier, a fancy name for the MAC address of the device. You use it to identify the device on a network, along with the ESSID (Name of the AP). Technically, you could just use the ESSID flag instead but different APs could have the same name. However, no two APs can ever have the same BSSID.</p>
<p>Below is a code snippet of what you would type to get info about the AP using the ESSID only.</p>
<pre><code>sudo airodump-ng &lt;network interface&gt; --bssid &lt;AP ESSID&gt;
</code></pre><p>Note: If the name has a space, enclose it with quotes. For example, <code>--bssid “Asteroid 1”</code> .</p>
<p>You’ll notice I highlighted the MAC address of a client connected to the AP under the ‘Station’ column. To its left is the MAC address of the AP it is connected to.</p>
<h3 id="heading-how-to-capture-the-handshake-packets">How to Capture the Handshake Packets</h3>
<p>The next step is to capture the handshake packets (Remember packets? 👀). Handshake packets are the first four packets sent from the AP when an authenticated device connects to an AP. </p>
<p>This means we have two options:</p>
<ol>
<li>Wait for a device to connect to the AP</li>
<li>De-authenticate the device and then let it connect to the AP</li>
</ol>
<p>The second one sounds a lot more fun so let’s go for it.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-83.png" alt="An LED keyboard" width="600" height="400" loading="lazy">
<em>An LED keyboard. Credit: Unsplash.com</em></p>
<h3 id="heading-how-to-perform-a-dos-attack">How to Perform a DOS Attack</h3>
<p>You can use <code>aireplay-ng</code> or <code>mdk4</code> to disconnect devices from APs for a time. This is called a de-authentication attack or a wireless DOS (Denial-Of-Service) attack.</p>
<p>Now here’s the game plan:</p>
<ol>
<li>Setup airodump-ng to capture packets and save them</li>
<li>De-authenticate the device for some time while airodump-ng is running</li>
<li>Capture the handshake</li>
</ol>
<p>Got all that? Good. Let’s roll. 👨‍💻👩‍💻</p>
<p>First, run the command to capture and save packets:</p>
<pre><code>sudo airodump-ng -c &lt;channel number&gt; --bssid &lt;AP BSSID&gt; &lt;network interface&gt; -w &lt;path for saved packets file&gt;
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-84.png" alt="Airodump capturing packets" width="600" height="400" loading="lazy">
<em>Airodump capturing packets. Credit: Daniel Iwugo</em></p>
<p>Here, we're using the <code>-c</code> flag to specify the channel to search, the <code>--bssid</code> flag for the MAC address of the AP, and the <code>-w</code> flag to give a path you want to save the captured packets to.</p>
<p>Quick lesson: Channels reduce the chances of APs interfering with each other. When running <code>airodump-ng</code>, you can identify the channel number under the CH column.</p>
<p>While that is running, you’re going to run your de-authentication attack against the device connected to it using the command:</p>
<pre><code>sudo aireplay-ng -a &lt;BSSID <span class="hljs-keyword">of</span> the AP&gt; --deauth &lt;time&gt; <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">network</span> <span class="hljs-attr">interface</span>&gt;</span></span>
</code></pre><p>The <code>-a</code> flag specifies the MAC address of the AP, <code>--deauth</code> specifies how long you want the attack to run in seconds, followed up by the network card.</p>
<p>A de-authentication attack involves using your own network card to send packets to interrupt communication between the AP and the client. It’s not perfect and sometimes the client may connect back, but only for a short time. </p>
<p>If your Wi-Fi is acting crazy and you seem to be disconnecting and connecting randomly back to it, you may be experiencing a de-authentication attack.</p>
<p>In the command above, you’re targeting the AP and running the attack. Note that you can instead attack any device connected to the AP and you should get the same result. All you need to do is to change the <code>-a</code> flag to the MAC address of any device connected.</p>
<p>While the DOS attack is underway, check on your airodump scan. You should see at the right top : <code>WPA handshake: &lt;mac address&gt;</code>. Once you have verified that, you can stop the replay attack and the <code>airodump-ng</code> scan.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-85.png" alt="Carrying out the replay attack to get the handshake" width="600" height="400" loading="lazy">
<em>Carrying out the replay attack to get the handshake. Credit: Daniel Iwugo</em></p>
<h3 id="heading-how-to-obtain-the-password-hopefully">How to Obtain the Password (Hopefully)</h3>
<p>In the final steps, you are going to run a bunch of generated Pairwise Master Keys (PMKs) against the captured packets to get the password. Let me break it down.</p>
<p>A PMK is basically an algorithmic combination of a word and the APs name. Our intention is to continuously generate PMKs using a wordlist against the handshake. If the PMK is valid, the word used to generate it is the <strong>password</strong>. If the PMK is not valid, it skips to the next word on the list.</p>
<p>I’m going to use the rockyou wordlist located in the <code>/usr/share/wordlists</code> directory. I think this is only found in Kali so if you have a different OS, you might make one of your own manually or generate one using <code>crunch</code>. </p>
<p>If it isn’t already extracted, just run the command:</p>
<pre><code>sudo gunzip /usr/share/wordlists/rockyou.txt.gz
</code></pre><p>Quick history lesson: The rockyou wordlist is a bunch of passwords gotten from one of the most infamous cybersecurity data breaches that affected a company of the same name. It contains approximately 14 million unique passwords that were used in over 32 million accounts and as such, is one of the most dependable wordlists on the planet.</p>
<p>Now run the command:</p>
<pre><code>sudo aircrack-ng &lt;captured file <span class="hljs-keyword">with</span> .cap&gt; -w &lt;path to wordlist&gt;
</code></pre><p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-86.png" alt="Image" width="600" height="400" loading="lazy">
<em>Password cracking. Credit: Mercury</em></p>
<p>Alright, everyone – mission accomplished 😎.</p>
<p>The password was, well… ‘password’. Pretty disappointing from a security perspective, but I set this network up just for fun for the purposes of this tutorial. In reality, this could take minutes to hours depending on the length and strength of the password.</p>
<p>To clean up, simply remove the file captures, close your terminals, and run the command <code>service NetworkManager restart</code> to change your network card back to managed mode so you can connect to the Wi-Fi.</p>
<h2 id="heading-mitigations-against-wifi-attacks">Mitigations Against WiFi Attacks</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/10/image-87.png" alt="Image" width="600" height="400" loading="lazy">
<em>A basic personal workspace setup ¦ Credit: Wallpaperflare.com</em></p>
<p>Basic Wi-Fi security should cover this attack from a defensive perspective. Using WPA3 which is a newer protocol is your best bet against such an attack. To mitigate against de-authentication attacks, use an ethernet connection if possible.</p>
<p>Assuming that option is not on the table, you can use a strong passphrase (not a password) to minimise the attackers chances of getting it. A passphrase is a string of words simply used as a password. Passphrases tend to be longer than passwords, easier to remember, and are a rarer practice. Therefore, they will hardly be found in wordlists.</p>
<p>For example, ‘mercury’ is more likely to be found in a wordlist than ‘mercurylovespluto’. The later is a 15-character passphrase and as simple as it is, it would be hard for an attacker to find, guess, or generate.</p>
<p>Another mitigation would be to disable WPS (Wi-Fi Protected Setup) and avoid under any circumstance using a router that uses the WEP protocol. You’d just be asking for unwanted attention as it’s a lot easier to hack both of these than WPA2.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Let’s summarise what you’ve learned:</p>
<ol>
<li>Change the wireless adaptor to monitor mode using airmon-ng</li>
<li>Scan for the target AP using airodump-ng and capture the packets</li>
<li>Perform a DOS attack on the AP to get the handshake packets</li>
<li>End the DOS once you have verified you captured the necessary packet</li>
<li>Use aircrack-ng to generate PMKs to run against the handshake packets</li>
</ol>
<p>Sometimes, the password may not be in the wordlist. In that case, there are many other ways to get the password such as an Evil Twin Attack or variations of what you have learned here. I also encourage you to practice this and many other attacks you discover out there, as this helps make you a master hacker.</p>
<p>Remember, this is <strong>strictly for educational purposes</strong>. Only perform this on others with their consent, or on your own devices.</p>
<p>And with that, we have come to the end of this article. Hope you enjoyed it. And as I always say, Happy hacking! 🙃</p>
<h3 id="heading-resources">Resources</h3>
<ol>
<li><a target="_blank" href="https://www.javatpoint.com/handshake-theory">A little more explanation on the handshake theory</a></li>
<li><a target="_blank" href="https://www.cloudflare.com/learning/network-layer/what-is-a-packet/">More details on packets</a></li>
<li><a target="_blank" href="https://www.diffen.com/difference/WPA2_vs_WPA3">WPA2 vs WPA3</a></li>
</ol>
<h3 id="heading-acknowledgements">Acknowledgements</h3>
<p>Thanks to <a target="_blank" href="https://twitter.com/Anuoluwap__o?t=4Cv6VR2c2_wK5HLXwbvXCQ&amp;s=09">Anuoluwapo Victor</a>, <a target="_blank" href="https://www.linkedin.com/in/chinaza-nwukwa-22a256230/">Chinaza Nwukwa</a>, <a target="_blank" href="https://www.linkedin.com/in/mercy-holumidey-88a542232/">Holumidey Mercy</a>, <a target="_blank" href="https://www.linkedin.com/in/favour-ojo-906883199/">Favour Ojo</a>, <a target="_blank" href="https://www.linkedin.com/in/georgina-awani-254974233/">Georgina Awani</a>, and my family for the inspiration, support and knowledge used to put this post together. You’re my unsung heroes.</p>
<p>Cover photo credit: Lego Gentlemen working on a router from Wallpaperflare.com</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why Won't My Computer Connect to My Hotspot? [Fixed on Windows 10 PC WiFi] ]]>
                </title>
                <description>
                    <![CDATA[ A mobile hotspot is a quick and efficient way to share an internet connection with other devices like computers, iPads, or other mobile phones.  A hotspot is also a good alternative to WiFi – especially if the WiFi in your area is unbearably slow or ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/why-wont-my-computer-connect-to-my-hotspot-fixed-on-windows-10-pc-wifi/</link>
                <guid isPermaLink="false">66adf2876f5e63db3fc43652</guid>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Windows 10 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Wed, 24 Nov 2021 18:44:39 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/11/wifi-1633666.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A mobile hotspot is a quick and efficient way to share an internet connection with other devices like computers, iPads, or other mobile phones. </p>
<p>A hotspot is also a good alternative to WiFi – especially if the WiFi in your area is unbearably slow or won't connect.</p>
<p>Sometimes, you might experience problems connecting a device to your hotspot. This is almost always due to errors in the mobile network and internet settings, and faulty or outdated drivers on your computer.</p>
<p>In this guide, I will show 4 ways you can fix any error associated with a hotspot connection. </p>
<p>The first fix works on your Windows 10 PC, while the rest solve the problem right on your Android mobile phone.</p>
<h2 id="heading-how-to-fix-a-hotspot-connection-error-by-updating-your-wireless-network-driver">How to Fix a Hotspot Connection Error by Updating Your Wireless Network Driver</h2>
<p>Every device on your computer is controlled by a certain driver software. So a wireless network has a driver that controls it. If this driver is outdated or corrupt, then your hotspot and WiFi might be negatively affected.</p>
<p>So, updating your wireless network driver can help your computer connect to your hotspot again.</p>
<p><strong>Follow the steps below to update your wireless network driver</strong></p>
<p><strong>Step 1</strong>: Right-click on Start and select Device Manager.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-1-13.jpg" alt="ss-1-13" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2:</strong> Expand Network Adapters.</p>
<p><strong>Step 3</strong>: Right-click on your wireless device and select "Update driver".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-1-2.png" alt="ss-1-2" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4:</strong> Choose "Search automatically for updated driver software".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-2-11.jpg" alt="ss-2-11" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-fix-a-hotspot-connection-error-by-using-an-open-network">How to Fix a Hotspot Connection Error by Using an Open Network</h2>
<p>Using a password-protected hotspot is undoubtedly secure, but it could cause issues with your connection sometimes. So switching to an open Network can give your computer a seamless connection. Just be aware of how secure it might or might not be.</p>
<p><strong>Step 1:</strong> Open Settings.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132412.png" alt="Screenshot_20211124-132412" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Tap Network and Internet.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132643.png" alt="Screenshot_20211124-132643" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: Select Hotspot and Tethering.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132718.png" alt="Screenshot_20211124-132718" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4:</strong> Tap Security.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132842.png" alt="Screenshot_20211124-132842" width="600" height="400" loading="lazy"></p>
<p><strong>Step 5:</strong> Select "None".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132937.png" alt="Screenshot_20211124-132937" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-fix-a-hotspot-connection-error-by-changing-your-access-point-band-to-24-ghz">How to Fix a Hotspot Connection Error by Changing your Access Point Band to 2.4 GHz</h2>
<p>There are 2 AP Bands usually made available on Android devices – 5GHz and 2.4Ghz. 5GHz is faster, but some devices may not support it. 2.4GHz is widely supported, so you should make sure your hotspot AP Band is set to 2.4GHz. </p>
<p>Some Android devices have their default AP bands as 2.4GHz and it remains unchangeable, but yours could be 5GHz – which is always changeable.</p>
<p><strong>Step 1</strong>: Open Settings.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132412.png" alt="Screenshot_20211124-132412" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Tap Network and Internet.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132643.png" alt="Screenshot_20211124-132643" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: Select Hotspot and Tethering.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132718.png" alt="Screenshot_20211124-132718" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4:</strong> Scroll down to AP Band and make sure it is set to 2.4GHz. If it is set to 5GHz, tap it and change it to 2.4GHz.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-131044.png" alt="Screenshot_20211124-131044" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-fix-a-hotspot-connection-error-by-resetting-out-of-box-configuration-oob">How to Fix a Hotspot Connection Error by Resetting Out of Box Configuration (OOB)</h2>
<p>This will change your hotspot configuration to factory settings – which could bring things back to normal for you.</p>
<p><strong>Step 1</strong>: Open Settings.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132412.png" alt="Screenshot_20211124-132412" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Tap Network and Internet.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132643.png" alt="Screenshot_20211124-132643" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3:</strong> Select Hotspot and Tethering.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-132718.png" alt="Screenshot_20211124-132718" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4:</strong> Scroll down and tap "Reset OOB".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-133246.png" alt="Screenshot_20211124-133246" width="600" height="400" loading="lazy"></p>
<p><strong>Step 5:</strong> Choose "Reset OOB".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/Screenshot_20211124-133916.png" alt="Screenshot_20211124-133916" width="600" height="400" loading="lazy"></p>
<h2 id="heading-final-words">Final Words</h2>
<p>This guide takes you through 3 different ways you can fix mobile hotspot connection errors on a Windows 10 PC and an Android phone. </p>
<p>Apart from the fixes discussed you should also make sure:</p>
<ul>
<li><p>the password you entered on the receiving device is correct</p>
</li>
<li><p>your internet connection is turned on correctly on the device you're sharing from</p>
</li>
<li><p>you have not exceeded a data limit you might have set</p>
</li>
</ul>
<p>Thank you for reading this article. If you find it helpful, please share it with your friends and family.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why Does my WiFi Keep Disconnecting? [Solved on Windows 10 PC] ]]>
                </title>
                <description>
                    <![CDATA[ When you're using your Windows machine, your WiFi might unexpectedly disconnect.  This might be caused by various problems such as an outdated network adapter driver, outdated router software, and optimized power management in Windows 10. If your WiF... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/why-does-my-wifi-keep-disconnecting-solved-on-windows-10-pc/</link>
                <guid isPermaLink="false">66adf285db5636c0b30cbaa6</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Windows 10 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Fri, 12 Nov 2021 17:47:24 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/11/wifi.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>When you're using your Windows machine, your WiFi might unexpectedly disconnect. </p>
<p>This might be caused by various problems such as an outdated network adapter driver, outdated router software, and optimized power management in Windows 10.</p>
<p>If your WiFi keeps disconnecting and you're looking for a solution, you've come to the right place. In this article, I'm going to show you 3 ways you can fix your Wifi connection.</p>
<h2 id="heading-how-to-stop-wifi-from-disconnecting-by-updating-your-network-adapter-driver">How to Stop WiFi from Disconnecting by Updating your Network Adapter Driver</h2>
<p>It's important that you have an up-to-date driver so that your hardware performs properly, including external hardware. So if you update your WiFi adapter this might stop your WiFi from disconnecting.</p>
<p>Go through the following steps to update your network adapter driver:</p>
<p><strong>Step 1</strong>: Click on Start (Windows logo) and search for "device manager". Click on the "Device Manager" search result.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-1-7.jpg" alt="ss-1-7" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Expand the "Network Adapters" option.</p>
<p><strong>Step 3</strong>: Look for your current adapter, right-click on it, and select "update driver".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-2-6.jpg" alt="ss-2-6" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4</strong>: Select "Search automatically for drivers". Windows will now search the internet for an updated driver and install it for you.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-3-6.jpg" alt="ss-3-6" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-stop-your-wifi-from-disconnecting-by-updating-your-router-software">How to Stop your WiFi from Disconnecting by Updating your Router Software</h2>
<p>Every router has software that powers it and makes it work properly. </p>
<p>Different manufacturers have different UIs which you can always get to by typing your IP address into the address bar of your browser.</p>
<p>When you successfully log in, check if there's an update available for your router and install it.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-4.png" alt="ss-4" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-stop-your-wifi-from-disconnecting-by-checking-your-network-adapter-power-management-options">How to Stop your WiFi from Disconnecting by Checking your Network Adapter Power Management Options</h2>
<p>Windows 10 is optimized to save battery power. An internet connection increases power consumption, so sometimes your device might be automatically set to disconnect from time to time in order to save power.</p>
<p>You can check if your network adapter is configured to disconnect with the steps below:</p>
<p><strong>Step 1</strong>: Right-click on Start and select "Device Manager".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-5-5.jpg" alt="ss-5-5" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Expand Network Adapters.</p>
<p><strong>Step 3</strong>: Right-click on the adapter you're experiencing the issue with and select "Properties".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-6-6.jpg" alt="ss-6-6" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4</strong>: Click on the "Power Management" tab. Uncheck "Allow the computer to turn off this device to save power".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-7-2.jpg" alt="ss-7-2" width="600" height="400" loading="lazy"></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>This article focused on 3 ways to fix your WiFi if it keeps disconnecting.</p>
<p>Apart from these solutions, you can also try other minor ones such as:</p>
<ul>
<li>Not staying too far away from your router</li>
<li>Limiting connected devices</li>
<li>Contacting your network service provider</li>
<li>Avoiding radio interference from phones, Bluetooth devices, and others.</li>
</ul>
<p>Thank you for reading this article. If you find the article helpful, please share it with your friends and family.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is my IP Address for my Router? How to Find your Wifi Address ]]>
                </title>
                <description>
                    <![CDATA[ Sometimes you might need to know your router’s IP address. This will give you access to the setup page so you can make configuration changes like changing passwords, kicking out unwanted users, limiting users, and so on. In this article, I will show ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-my-ip-address-for-my-router-how-to-find-your-wifi-address/</link>
                <guid isPermaLink="false">66adf27b7550d4f37c2019dd</guid>
                
                    <category>
                        <![CDATA[ internet ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Wed, 20 Oct 2021 19:36:40 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/10/router-image.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Sometimes you might need to know your router’s IP address. This will give you access to the setup page so you can make configuration changes like changing passwords, kicking out unwanted users, limiting users, and so on.</p>
<p>In this article, I will show you how to find out what your router IP address is on a Windows machine and Android smartphone.</p>
<h2 id="heading-what-is-an-ip-address">What is an IP Address?</h2>
<p>But before we jump in, let's clarify – what is an IP address?</p>
<p>The abbreviation IP stands for “internet protocol”. The internet protocol is a set of rules governing how computers, phones, and other devices share data over the internet or local networks. </p>
<p>An IP address is a special numerical identifier that allows information to be sent between various devices on a network. </p>
<h2 id="heading-how-to-find-your-wifi-address-on-a-windows-computer">How to Find your Wifi Address on a Windows Computer</h2>
<p>To find out what the IP address of your router is (or of any other device on which you have access to its Wifi), you can either use the command prompt or gain access to it through the control panel.</p>
<h3 id="heading-how-to-find-your-wifi-address-on-a-windows-computer-through-the-command-prompt">How to Find your Wifi Address on a Windows Computer through the Command Prompt</h3>
<p><strong>Step 1</strong>: Click on Start (Windows logo) or press the <code>WIN</code> on your keyboard.
<strong>Step 2</strong>: Search for “cmd” and hit <code>ENTER</code> to launch the command prompt.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-1-6.jpg" alt="ss-1-6" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: Right inside the command prompt, type in “ipconfig” and hit Enter. 
The number assigned to “Default Gateway” is your router’s IP address. 
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-2-7.jpg" alt="ss-2-7" width="600" height="400" loading="lazy"> </p>
<h3 id="heading-how-to-find-your-wifi-address-on-a-windows-computer-through-the-control-panel">How to Find your Wifi Address on a Windows Computer through the Control Panel</h3>
<p><strong>Step 1</strong>: Click on Start and search for “Control Panel”, then click on the first search result or hit <code>ENTER</code> to launch the Control Panel.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-3-5.jpg" alt="ss-3-5" width="600" height="400" loading="lazy"> </p>
<p><strong>Step 2</strong>: Under “Network and Internet”, click on “View network status and tasks”.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-4-6.jpg" alt="ss-4-6" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: You will see your router name on the right. Click on it and a small window will pop up.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-5-2.jpg" alt="ss-5-2" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4</strong>: In the pop-up box, click on “Details”.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-6-4.jpg" alt="ss-6-4" width="600" height="400" loading="lazy"></p>
<p>After clicking on the “Details” button, another small window will pop up showing various information about your router. The value assigned to IPv4 is your router's IP address.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-7-2.jpg" alt="ss-7-2" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-find-your-wifi-address-on-an-android-smartphone">How to Find your Wifi Address on an Android Smartphone</h2>
<p>Android devices do not have a built-in option to check the router’s addresses out of the box. But you can use a third-party app like Wifi Analyzer.</p>
<p>If you have Wifi Analyzer installed on your Android smartphone, launch the app.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/InkedScreenshot_20211020-105514-2.jpg" alt="InkedScreenshot_20211020-105514-2" width="600" height="400" loading="lazy"></p>
<p>You will see the channel graph tab immediately.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/InkedScreenshot_20211020-105529.jpg" alt="InkedScreenshot_20211020-105529" width="600" height="400" loading="lazy"></p>
<p>Swipe to the Access Points tab and you will see the IP address of your router.
<img src="https://www.freecodecamp.org/news/content/images/2021/10/InkedScreenshot_20211020-105543.jpg" alt="InkedScreenshot_20211020-105543" width="600" height="400" loading="lazy"></p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article, you learned how to find the IP address of your router on a Windows computer and Android smartphone. </p>
<p>You can use your router without knowing what the IP address is, but knowing it gives you more control over it and you can personalize it.</p>
<p>Thank you for reading. If you find this article helpful, please share it with your friends and family.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ WPA Key, WPA2, WPA3, and WEP Key: Wi-Fi Security Explained ]]>
                </title>
                <description>
                    <![CDATA[ Setting up new Wi-Fi? Picking the type of password you need can seem like an arbitrary choice. After all, WEP, WPA, WPA2, and WPA3 all have mostly the same letters in them. A password is a password, so what’s the difference? About 60 seconds to billi... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/wifi-security-explained/</link>
                <guid isPermaLink="false">66bd8f9f621c718d60a3103d</guid>
                
                    <category>
                        <![CDATA[ Application Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Victoria Drake ]]>
                </dc:creator>
                <pubDate>Wed, 21 Oct 2020 00:43:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/10/cover-4.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Setting up new Wi-Fi? Picking the type of password you need can seem like an arbitrary choice. After all, WEP, WPA, WPA2, and WPA3 all have mostly the same letters in them.</p>
<p>A password is a password, so what’s the difference? About 60 seconds to billions of years, as it turns out.</p>
<p>All Wi-Fi encryption is not created equal. Let’s explore what makes these four acronyms so different, and how you can best protect your home and organization Wi-Fi.</p>
<h2 id="heading-wired-equivalent-privacy-wep">Wired Equivalent Privacy (WEP)</h2>
<p>In the beginning, there was WEP.</p>
<p><img src="https://victoria.dev/blog/wpa-key-wpa2-wpa3-and-wep-key-wi-fi-security-explained/wep.png" alt="WEP illustration" width="600" height="400" loading="lazy"></p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Wired_Equivalent_Privacy">Wired Equivalent Privacy</a> is a deprecated security algorithm from 1997 that was intended to provide equivalent security to a wired connection. “Deprecated” means, “Let’s not do that anymore.”</p>
<p>Even when it was first introduced, it was known not to be as strong as it could have been, for two reasons:</p>
<ul>
<li>its underlying encryption mechanism, and </li>
<li>World War II.</li>
</ul>
<p>During World War II, the impact of code breaking (or cryptanalysis) was <a target="_blank" href="https://en.wikipedia.org/wiki/History_of_cryptography#World_War_II_cryptography">huge</a>. Governments reacted by attempting to keep their best secret-sauce recipes at home. </p>
<p>Around the time of WEP, <a target="_blank" href="https://en.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States">U.S. Government restrictions on the export of cryptographic technology</a> caused access point manufacturers to limit their devices to 64-bit encryption. Though this was later lifted to 128-bit, even this form of encryption offered a very limited possible <a target="_blank" href="https://en.wikipedia.org/wiki/Key_size">key size</a>.</p>
<p>This proved problematic for WEP. The small key size resulted in being easier to <a target="_blank" href="https://en.wikipedia.org/wiki/Brute-force_attack">brute-force</a>, especially when that key doesn’t often change.</p>
<p>WEP’s underlying encryption mechanism is the <a target="_blank" href="https://en.wikipedia.org/wiki/RC4">RC4 stream cipher</a>. This cipher gained popularity due to its speed and simplicity, but that came at a cost. </p>
<p>It’s not the most robust algorithm. WEP employs a single shared key among its users that must be manually entered on an access point device. (When’s the last time you changed your Wi-Fi  password? Right.) </p>
<p>WEP didn’t help matters either by simply concatenating the key with the initialization vector – which is to say, it sort of mashed its secret-sauce bits together and hoped for the best.</p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Initialization_vector">Initialization Vector (IV)</a>: fixed-size input to a <a target="_blank" href="https://en.wikipedia.org/wiki/Cryptographic_primitive">low-level cryptographic algorithm</a>, usually random.</p>
<p>Combined with the use of RC4, this left WEP particularly susceptible to <a target="_blank" href="https://en.wikipedia.org/wiki/Related-key_attack">related-key attack</a>. In the case of 128-bit WEP, your Wi-Fi password can be cracked by publicly-available tools in a matter of around <a target="_blank" href="https://shawnhogan.com/2006/08/how-to-crack-128-bit-wireless-networks.html">60 seconds</a> to <a target="_blank" href="https://www.networkcomputing.com/wireless-infrastructure/fbi-teaches-lesson-how-break-wi-fi-networks">three minutes</a>.</p>
<p>While some devices came to offer 152-bit or 256-bit WEP variants, this failed to solve the fundamental problems of WEP’s underlying encryption mechanism.</p>
<p>So, yeah. Let’s not do that anymore.</p>
<h2 id="heading-wi-fi-protected-access-wpa">Wi-Fi Protected Access (WPA)</h2>
<p><img src="https://victoria.dev/blog/wpa-key-wpa2-wpa3-and-wep-key-wi-fi-security-explained/wpa.png" alt="WPA illustration" width="600" height="400" loading="lazy"></p>
<p>A new, interim standard sought to temporarily “patch” the problem of WEP’s (lack of) security. The name <a target="_blank" href="https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access">Wi-Fi Protected Access (WPA)</a> certainly <em>sounds</em> more secure, so that’s a good start. However, WPA first started out with another, more descriptive name.</p>
<p>Ratified in a <a target="_blank" href="https://en.wikipedia.org/wiki/IEEE_802.11i-2004">2004 IEEE standard</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Temporal_Key_Integrity_Protocol#Beck-Tews_attack">Temporal Key Integrity Protocol (TKIP)</a> uses a dynamically-generated, per-packet key. Each packet sent has a unique temporal 128-bit key, (See? Descriptive!) that solves the susceptibility to related-key attacks brought on by WEP’s shared key mashing.</p>
<p>TKIP also implements other measures, such as a <a target="_blank" href="https://en.wikipedia.org/wiki/Message_authentication_code">message authentication code (MAC)</a>. Sometimes known as a checksum, a MAC provides a cryptographic way to verify that messages haven’t been changed. </p>
<p>In TKIP, an invalid MAC can also trigger rekeying of the session key. If the access point receives an invalid MAC twice within a minute, the attempted intrusion can be countered by changing the key an attacker is trying to crack.</p>
<p>Unfortunately, in order to preserve compatibility with the existing hardware that WPA was meant to “patch,” TKIP retained the use of the same underlying encryption mechanism as WEP – the RC4 stream cipher. </p>
<p>While it certainly improved on the weaknesses of WEP, TKIP eventually proved vulnerable to new attacks that <a target="_blank" href="https://en.wikipedia.org/wiki/Temporal_Key_Integrity_Protocol#Security">extended previous attacks on WEP</a>. </p>
<p>These attacks take a little longer to execute by comparison: for example, <a target="_blank" href="http://dl.aircrack-ng.org/breakingwepandwpa.pdf">twelve minutes</a> in the case of one, and <a target="_blank" href="https://www.rc4nomore.com/">52 hours</a> in another. This is more than sufficient, however, to deem TKIP no longer secure.</p>
<p>WPA, or TKIP, has since been deprecated as well. So let’s also not do that anymore.</p>
<p>Which brings us to…</p>
<h2 id="heading-wi-fi-protected-access-ii-wpa2">Wi-Fi Protected Access II (WPA2)</h2>
<p><img src="https://victoria.dev/blog/wpa-key-wpa2-wpa3-and-wep-key-wi-fi-security-explained/wpa2.png" alt="WPA2 illustration" width="600" height="400" loading="lazy"></p>
<p>Rather than spend the effort to come up with an entirely new name, the improved <a target="_blank" href="https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access#WPA2">Wi-Fi Protected Access II (WPA2)</a> standard instead focuses on using a new underlying cipher. </p>
<p>Instead of  the RC4 stream cipher, WPA2 employs a block cipher called <a target="_blank" href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">Advanced Encryption Standard (AES)</a> to form the basis of its encryption protocol. </p>
<p>The protocol itself, abbreviated <a target="_blank" href="https://en.wikipedia.org/wiki/CCMP_(cryptography)">CCMP</a>, draws most of its security from the length of its rather long name (I’m kidding): Counter Mode Cipher Block Chaining Message Authentication Code Protocol, which shortens to Counter Mode CBC-MAC Protocol, or CCM mode Protocol, or CCMP. ?</p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/CCM_mode">CCM mode</a> is essentially a combination of a few good ideas. It provides data confidentiality through <a target="_blank" href="https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29">CTR mode, or counter mode</a>. To vastly oversimplify, this adds complexity to plaintext data by encrypting the successive values of a count sequence that does not repeat. </p>
<p>CCM also integrates <a target="_blank" href="https://en.wikipedia.org/wiki/CBC-MAC">CBC-MAC</a>, a block cipher method for constructing a MAC.</p>
<p>AES itself is on good footing. The AES specification was established in 2001 by the U.S. National Institute of Standards and Technology (NIST). They made their choice after a five-year competitive selection process during which fifteen proposals for algorithm designs were evaluated. </p>
<p>As a result of this process, a family of ciphers called Rijndael (Dutch) was selected, and a subset of these became AES. </p>
<p>For the better part of two decades, AES has been used to protect every-day Internet traffic as well as <a target="_blank" href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Security">certain levels of classified information in the U.S. Government</a>.</p>
<p>While <a target="_blank" href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks">possible attacks on AES</a> have been described, none have yet been proven to be practical in real-world use. The fastest <a target="_blank" href="https://web.archive.org/web/20141230025103/http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf">attack on AES</a> in public knowledge is a <a target="_blank" href="https://en.wikipedia.org/wiki/Key-recovery_attack">key-recovery attack</a> that improved on brute-forcing AES by a factor of about four. How long would it take? Some <a target="_blank" href="https://web.archive.org/web/20150108165723/https://blog.agilebits.com/2011/08/18/aes-encryption-isnt-cracked/">billions of years</a>.</p>
<h2 id="heading-wi-fi-protected-access-iii-wpa3">Wi-Fi Protected Access III (WPA3)</h2>
<p><img src="https://victoria.dev/blog/wpa-key-wpa2-wpa3-and-wep-key-wi-fi-security-explained/wpa3.png" alt="WPA3 illustration" width="600" height="400" loading="lazy"></p>
<p>The next installment of the WPA trilogy has been <a target="_blank" href="https://www.wi-fi.org/download.php?file=/sites/default/files/private/Certification_Overview_v5.2_0.pdf">required for new devices</a> since July 1, 2020. Expected to further enhance the security of WPA2, the <a target="_blank" href="https://www.wi-fi.org/news-events/newsroom/wi-fi-alliance-introduces-wi-fi-certified-wpa3-security">WPA3 standard</a> seeks to improve password security by being more resilient to word list or <a target="_blank" href="https://en.wikipedia.org/wiki/Dictionary_attack">dictionary attacks</a>.</p>
<p>Unlike its predecessors, WPA3 will also offer <a target="_blank" href="https://en.wikipedia.org/wiki/Forward_secrecy">forward secrecy</a>. This adds the considerable benefit of protecting previously exchanged information even if a long-term secret key is compromised. </p>
<p>Forward secrecy is already provided by protocols like TLS by using asymmetric keys to establish shared keys. You can learn <a target="_blank" href="https://www.freecodecamp.org/news/what-is-tls-transport-layer-security-encryption-explained-in-plain-english/">more about TLS in this post</a>.</p>
<p>As WPA2 has not been deprecated, so both WPA2 and WPA3 remain your top choices for Wi-Fi security.</p>
<h2 id="heading-if-the-other-ones-are-no-good-why-are-they-still-around">If the other ones are no good, why are they still around?</h2>
<p>You may be wondering why your access point even allows you to choose an option other than WPA2 or WPA3. The likely reason is that you’re using legacy hardware, which is what tech people call your mom’s router.</p>
<p>Since the deprecation of WEP and WPA occurred rather recently, it’s possible in large organizations as well as your parent’s house to find older hardware that still uses these protocols. Even newer hardware may have a business need to support these older protocols.</p>
<p>While I may be able to convince you to invest in a shiny new top-of-the-line Wi-Fi appliance, most organizations are a different story. Unfortunately, many just aren’t yet cognizant of the important role cybersecurity plays in meeting customer needs and boosting that bottom line. </p>
<p>Additionally, switching to newer protocols may require new internal hardware or firmware upgrades. Especially on complex systems in large organizations, upgrading devices can be financially or strategically difficult.</p>
<h2 id="heading-boost-your-wi-fi-security">Boost your Wi-Fi security</h2>
<p>If it’s an option, choose WPA2 or WPA3. Cybersecurity is a field that evolves by the day, and getting stuck in the past can have dire consequences.</p>
<p>If you can’t use WPA2 or WPA3, do the best you can to take additional security measures. </p>
<p>The best bang for your buck is to use a Virtual Private Network (VPN). Using a VPN is a good idea no matter which type of Wi-Fi encryption you have. On open Wi-Fi (coffee shops) and using WEP, it’s plain irresponsible to go without a VPN. </p>
<p>It's kind of like shouting out your bank details as you order your second cappuccino.</p>
<p><img src="https://victoria.dev/blog/wpa-key-wpa2-wpa3-and-wep-key-wi-fi-security-explained/cafewifi.png" alt="A cartoon of shouting out your bank details at a coffeeshop." width="600" height="400" loading="lazy"></p>
<p>Choose a VPN provider that offers a feature like a kill switch that blocks your network traffic if your VPN becomes disconnected. This prevents you from accidentally transmitting information on an insecure connection like open Wi-Fi or WEP. I wrote more about my top three considerations for <a target="_blank" href="https://victoria.dev/blog/vpn">choosing my VPN in this post</a>.</p>
<p>When possible, ensure you only connect to known networks that you or your organization control. </p>
<p>Many cybersecurity attacks are executed when victims connect to an imitation public Wi-Fi access point, also called an evil twin attack, or Wi-Fi phishing. </p>
<p>These fake hotspots are easily created using publicly accessible programs and tools. A VPN can help mitigate damage from these attacks as well, but it’s always better not to take the risk. </p>
<p>If you travel often, consider purchasing a portable hotspot that uses a cellular data plan, or using data SIM cards for all your devices.</p>
<h2 id="heading-much-more-than-just-acronyms">Much more than just acronyms</h2>
<p>WEP, WPA, WPA2, and WPA3 mean a lot more than a bunch of similar letters – in some cases, it’s a difference of billions of years minus about 60 seconds.</p>
<p>On more of a now-ish timescale, I hope I’ve taught you something new about the security of your Wi-Fi and how you can improve it!</p>
<p>If you enjoyed this post, I'd love to know. Join the thousands of people who learn along with me on <a target="_blank" href="https://victoria.dev/">victoria.dev</a>! Visit or <a target="_blank" href="https://victoria.dev/index.xml">subscribe via RSS</a> for more programming, cybersecurity, and cartoon dad jokes.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ WiFi Hacking 101 – How to Secure Your Wifi Networks With Aircrack-NG ]]>
                </title>
                <description>
                    <![CDATA[ Imagine a world without WiFi. We would still be using long wires of ethernet cables to connect to the internet. There is no debate about how much easier WiFi has made our lives. Now we can connect to the internet at coffee shops, subway stations, and... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/wifi-hacking-securing-wifi-networks-with-aircrack-ng/</link>
                <guid isPermaLink="false">66d03638ba54db009200dc96</guid>
                
                    <category>
                        <![CDATA[ cybersecurity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ information security ]]>
                    </category>
                
                    <category>
                        <![CDATA[ #infosec ]]>
                    </category>
                
                    <category>
                        <![CDATA[ penetration testing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Manish Shivanandhan ]]>
                </dc:creator>
                <pubDate>Fri, 18 Sep 2020 18:14:51 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/09/wall.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Imagine a world without WiFi. We would still be using long wires of ethernet cables to connect to the internet.</p>
<p>There is no debate about how much easier WiFi has made our lives. Now we can connect to the internet at coffee shops, subway stations, and almost anywhere we go.</p>
<p>However, WiFi is also a vulnerable network compared to the ethernet. Unless it is properly secured, it's easy to perform man-in-the-middle attacks using <a target="_blank" href="https://medium.com/manishmshiva/wireshark-a-walkthrough-of-the-best-packet-analyzer-in-the-world-9af0358ed9a1">tools like Wireshark</a>.</p>
<p>For example, if you are connected to a Starbucks network, anyone connected to that network can look at every other person’s network traffic. </p>
<p>Unless you use a <a target="_blank" href="https://us.norton.com/internetsecurity-privacy-what-is-a-vpn.html">VPN</a> or the website uses HTTPS, your data (including passwords and credit card details) will be visible to the entire network.</p>
<p>If you are working for a company, chances are they use a WiFi network, too. Have you wondered how secure it is? Do you know if someone in the parking lot is connected to your network and capturing your company’s confidential data?</p>
<p>With tools like Wireshark and Aircrack, you can perform security audits of your WiFi networks. While Wireshark can help you watch what is happening on your network, Aircrack is more of an offensive tool that lets you attack and gain access to WiFi networks.</p>
<p>Thinking like an attacker has always been the best way to defend against a network. By learning how to work with Aircrack, you will be able to understand the exact steps an attacker would take to gain access to your network. You can then perform security audits of your own network to make sure it is not vulnerable. </p>
<blockquote>
<p><strong><em>A quick sidenote: I am in no way encouraging the use of illegal offensive tools. This tutorial is purely educational and is meant to help you defend your networks better.</em></strong></p>
</blockquote>
<p>Before we look at Aircrack in detail, here are a few terms you should know.</p>
<ul>
<li><strong>Access Point</strong> — The WiFi network that you want to connect to.</li>
<li><strong>SSID</strong> — The name of the access point. For example, “Starbucks”.</li>
<li><strong>Pcap file</strong> — Packet capture file. Contains captured packets on a network. The common format for tools including Wireshark and Nessus.</li>
<li><strong>Wired Equivalent Privacy (WEP)</strong> — Security algorithm for wireless networks.</li>
<li><strong>Wi-Fi Protected Access (WPA &amp; WPA2)</strong> — Stronger security algorithm compared to WEP.</li>
<li><strong>IEEE 802.11</strong> — <a target="_blank" href="https://en.wikipedia.org/wiki/IEEE_802.11">Wireless Local Area Network (LAN) protocol</a>.</li>
<li><strong>Monitor mode</strong> — Capturing the network packets in the air without connecting to a router or access point.</li>
</ul>
<p><a target="_blank" href="https://medium.com/manishmshiva/penetration-testing-100-terms-you-need-to-know-a723c38cd8c8">I recently wrote a post on the top 100 terms you should know as a penetration tester</a>. You can check it out if you are interested.</p>
<h2 id="heading-what-is-aircrack-ng">What is Aircrack-NG?</h2>
<p>Aircrack is a software suite that helps you attack and defend wireless networks. </p>
<p>Aircrack is not a single tool, but a whole collection of tools, each of which performs a specific function. These tools include a detector, packet sniffer, WEP/WPA cracker, and so on.</p>
<p>The main purpose of Aircrack is to capture the packets and read the hashes out of them in order to crack the passwords. Aircrack supports almost all the latest wireless interfaces.</p>
<p>Aircrack is open-source, and can work on Linux, FreeBSD, macOS, OpenBSD, and Windows platforms.</p>
<p>The ‘NG’ in Aircrack-ng stands for “new generation”. Aircrack-ng is an updated version of an older tool called Aircrack. <a target="_blank" href="https://tools.kali.org/wireless-attacks/aircrack-ng">Aircrack also comes pre-installed in Kali Linux</a>.</p>
<h3 id="heading-wifi-adapter">WiFi Adapter</h3>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/1.jpeg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Before we start working with Aircrack, you will need a WiFi adapter. Aircrack only works with a wireless network interface controller whose driver supports raw monitoring mode and can sniff 802.11a, 802.11b, and 802.11g traffic.</p>
<p>Typical wifi adapters (usually built-in with your computer) don't have the ability to monitor traffic from other networks. You can only use them to connect to a WiFi access point.</p>
<p>With an Aircrack compatible wifi adapter, you can enable the ‘monitor mode’ with which you can sniff traffic from networks you are not connected to. You can then use that captured data to crack the password of that network.</p>
<p><a target="_blank" href="https://www.kalilinux.in/2020/07/wifi-adapter-kali-linux-2020.html">Check out the list of WiFi adapters that are compatible with Kali Linux here</a>.</p>
<h2 id="heading-aircrack-tools">Aircrack Tools</h2>
<p>Now that you know what you can do with Aircrack, let’s look at each of its tools.</p>
<h3 id="heading-airmon-ng">Airmon-ng</h3>
<p>Airmon-ng is a script that puts your network interface card into monitor mode. Once this is enabled, you should be able to capture network packets without needing to connect or authenticate with an access point.</p>
<p>You can use the command <code>airmon-ng</code> to list the network interfaces and <code>airmon-ng start &lt;interface name&gt;</code> to start an interface in monitor mode.</p>
<pre><code># airmon-ng start wlan0

  PID Name
  <span class="hljs-number">718</span> NetworkManager
  <span class="hljs-number">870</span> dhclient
 <span class="hljs-number">1104</span> avahi-daemon
 <span class="hljs-number">1105</span> avahi-daemon
 <span class="hljs-number">1115</span> wpa_supplicant

PHY    Interface    Driver        Chipset

phy0    wlan0        ath9k_htc    Atheros Communications, Inc. AR9271 <span class="hljs-number">802.11n</span>
        (mac80211 monitor mode vif enabled <span class="hljs-keyword">for</span> [phy0]wlan0 on [phy0]wlan0mon)
        (mac80211 station mode vif disabled <span class="hljs-keyword">for</span> [phy0]wlan0
</code></pre><p>In the above example, you can see that the network interface <code>wlan0</code> has been turned into <code>wlan0mon</code> — meaning the monitor mode has been enabled for it.</p>
<h3 id="heading-airodump-ng">Airodump-ng</h3>
<p>Airodump-ng is a packet capture utility that captures and saves raw data packets for further analysis. If you have a GPS receiver connected to your computer, airodump-ng can fetch the coordinates of the access points as well.</p>
<p>After enabling monitor mode using airmon-ng, you can start capturing packets using airodump. Running the command <code>airodump-ng</code> will list the available access points. The ESSID (or SSID) is the name of the wireless network. </p>
<pre><code># airodump-ng
CH  <span class="hljs-number">9</span> ][ Elapsed: <span class="hljs-number">1</span> min ][ <span class="hljs-number">2007</span><span class="hljs-number">-04</span><span class="hljs-number">-26</span> <span class="hljs-number">17</span>:<span class="hljs-number">41</span> ][ WPA handshake: <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>E:<span class="hljs-number">40</span>:<span class="hljs-number">80</span>

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 <span class="hljs-number">00</span>:<span class="hljs-number">09</span>:<span class="hljs-number">5</span>B:<span class="hljs-number">1</span>C:AA:<span class="hljs-number">1</span>D   <span class="hljs-number">11</span>  <span class="hljs-number">16</span>       <span class="hljs-number">10</span>        <span class="hljs-number">0</span>    <span class="hljs-number">0</span>  <span class="hljs-number">11</span>  <span class="hljs-number">54.</span>  OPN              NETGEAR                         
 <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>A:<span class="hljs-number">41</span>:<span class="hljs-number">81</span>   <span class="hljs-number">34</span> <span class="hljs-number">100</span>       <span class="hljs-number">57</span>       <span class="hljs-number">14</span>    <span class="hljs-number">1</span>   <span class="hljs-number">9</span>  <span class="hljs-number">11</span>e  WEP  WEP         bigbear 
 <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>E:<span class="hljs-number">40</span>:<span class="hljs-number">80</span>   <span class="hljs-number">32</span> <span class="hljs-number">100</span>      <span class="hljs-number">752</span>       <span class="hljs-number">73</span>    <span class="hljs-number">2</span>   <span class="hljs-number">9</span>  <span class="hljs-number">54</span>   WPA  TKIP   PSK  teddy                             

 BSSID              STATION            PWR   Rate   Lost  Packets  Notes  Probes

 <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>A:<span class="hljs-number">41</span>:<span class="hljs-number">81</span>  <span class="hljs-number">00</span>:<span class="hljs-number">0</span>F:B5:<span class="hljs-number">32</span>:<span class="hljs-number">31</span>:<span class="hljs-number">31</span>   <span class="hljs-number">51</span>   <span class="hljs-number">36</span><span class="hljs-number">-24</span>    <span class="hljs-number">2</span>       <span class="hljs-number">14</span>
 (not associated)   <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:A4:<span class="hljs-number">3</span>F:<span class="hljs-number">8</span>D:<span class="hljs-number">13</span>   <span class="hljs-number">19</span>    <span class="hljs-number">0</span><span class="hljs-number">-0</span>     <span class="hljs-number">0</span>        <span class="hljs-number">4</span>           mossy 
 <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>A:<span class="hljs-number">41</span>:<span class="hljs-number">81</span>  <span class="hljs-number">00</span>:<span class="hljs-number">0</span>C:<span class="hljs-number">41</span>:<span class="hljs-number">52</span>:D1:D1   <span class="hljs-number">-1</span>   <span class="hljs-number">36</span><span class="hljs-number">-36</span>    <span class="hljs-number">0</span>        <span class="hljs-number">5</span>
 <span class="hljs-number">00</span>:<span class="hljs-number">14</span>:<span class="hljs-number">6</span>C:<span class="hljs-number">7</span>E:<span class="hljs-number">40</span>:<span class="hljs-number">80</span>  <span class="hljs-number">00</span>:<span class="hljs-number">0</span>F:B5:FD:FB:C2   <span class="hljs-number">35</span>   <span class="hljs-number">54</span><span class="hljs-number">-54</span>    <span class="hljs-number">0</span>       <span class="hljs-number">99</span>           teddy
</code></pre><h3 id="heading-aircrack-ng">Aircrack-ng</h3>
<p>Once you have captured enough packets using airodump-ng, you can crack the key using aircrack-ng. Aircrack uses statistical, brute force, and dictionary attacks to break the WEP / WPA key.</p>
<pre><code>Aircrack-ng <span class="hljs-number">1.4</span>


                 [<span class="hljs-number">00</span>:<span class="hljs-number">00</span>:<span class="hljs-number">03</span>] <span class="hljs-number">230</span> keys tested (<span class="hljs-number">73.41</span> k/s)


                         KEY FOUND! [ biscotte ]


    Master Key     : CD D7 <span class="hljs-number">9</span>A <span class="hljs-number">5</span>A CF B0 <span class="hljs-number">70</span> C7 E9 D1 <span class="hljs-number">02</span> <span class="hljs-number">3</span>B <span class="hljs-number">87</span> <span class="hljs-number">02</span> <span class="hljs-number">85</span> D6 
                     <span class="hljs-number">39</span> E4 <span class="hljs-number">30</span> B3 <span class="hljs-number">2</span>F <span class="hljs-number">31</span> AA <span class="hljs-number">37</span> AC <span class="hljs-number">82</span> <span class="hljs-number">5</span>A <span class="hljs-number">55</span> B5 <span class="hljs-number">55</span> <span class="hljs-number">24</span> EE 

    Transcient Key : <span class="hljs-number">33</span> <span class="hljs-number">55</span> <span class="hljs-number">0</span>B FC <span class="hljs-number">4</span>F <span class="hljs-number">24</span> <span class="hljs-number">84</span> F4 <span class="hljs-number">9</span>A <span class="hljs-number">38</span> B3 D0 <span class="hljs-number">89</span> <span class="hljs-number">83</span> D2 <span class="hljs-number">49</span> 
                     <span class="hljs-number">73</span> F9 DE <span class="hljs-number">89</span> <span class="hljs-number">67</span> A6 <span class="hljs-number">6</span>D <span class="hljs-number">2</span>B <span class="hljs-number">8</span>E <span class="hljs-number">46</span> <span class="hljs-number">2</span>C <span class="hljs-number">07</span> <span class="hljs-number">47</span> <span class="hljs-number">6</span>A CE <span class="hljs-number">08</span> 
                     AD FB <span class="hljs-number">65</span> D6 <span class="hljs-number">13</span> A9 <span class="hljs-number">9</span>F <span class="hljs-number">2</span>C <span class="hljs-number">65</span> E4 A6 <span class="hljs-number">08</span> F2 <span class="hljs-number">5</span>A <span class="hljs-number">67</span> <span class="hljs-number">97</span> 
                     D9 <span class="hljs-number">6</span>F <span class="hljs-number">76</span> <span class="hljs-number">5</span>B <span class="hljs-number">8</span>C D3 DF <span class="hljs-number">13</span> <span class="hljs-number">2</span>F BC DA <span class="hljs-number">6</span>A <span class="hljs-number">6</span>E D9 <span class="hljs-number">62</span> CD 

    EAPOL HMAC     : <span class="hljs-number">52</span> <span class="hljs-number">27</span> B8 <span class="hljs-number">3</span>F <span class="hljs-number">73</span> <span class="hljs-number">7</span>C <span class="hljs-number">45</span> A0 <span class="hljs-number">05</span> <span class="hljs-number">97</span> <span class="hljs-number">69</span> <span class="hljs-number">5</span>C <span class="hljs-number">30</span> <span class="hljs-number">78</span> <span class="hljs-number">60</span> BD
</code></pre><p>It is important to note that you need enough packets in order to crack the key. Also, aircrack-ng uses sophisticated algorithms to crack the keys from the network packets. </p>
<p>If you are interested in learning more about how Aircrack does this, <a target="_blank" href="https://www.aircrack-ng.org/doku.php?id=aircrack-ng">this would be a good starting point</a>.</p>
<h3 id="heading-aireplay-ng">Aireplay-ng</h3>
<p>Aireplay-ng is used to create artificial traffic on a wireless network. Aireplay can either capture traffic from a live network or use the packets from an existing Pcap file to inject it into a network.</p>
<p>With aireplay-ng, you can perform attacks such as fake authentication, packet injection, caffe-latte attack, and so on.</p>
<p>The Cafe Latte attack allows you to obtain a WEP key from a client device. You can do this by capturing an <a target="_blank" href="https://erg.abdn.ac.uk/users/gorry/course/inet-pages/arp.html">ARP packet</a> from the client, manipulating it, and then sending it back to the client.</p>
<p>The client will then generate a packet that can be captured by airodump-ng. Finally, aircrack-ng can be used to crack the WEP key form that modified packet.</p>
<h3 id="heading-airbase-ng">Airbase-ng</h3>
<p>Airbase-ng is used to convert an attacker’s computer into a rogue access point for others to connect to. </p>
<p>Using Airbase, you can pretend to be a legitimate access point and perform man-in-the-middle attacks on devices that connect to your system.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>This attack is also called the “<strong>Evil Twin Attack</strong>”. Assuming you are in Starbucks trying to connect to their Wifi, an attacker can create another access point with the same name (usually with better signal strength) making you think that the access point belongs to Starbucks.</p>
<p>It is hard for regular users to differentiate between a legitimate access point and a rogue access point. So the evil twin attack remains one of the most dangerous wireless attacks we encounter today.</p>
<p>In addition to these, there are a few more tools for you to use in the Aircrack arsenal.</p>
<ul>
<li><strong>Packetforge-ng</strong> — Used to create encrypted packets for injection.</li>
<li><strong>Airdecap-ng —</strong>  Decrypts WEP/WPA encrypted capture files after you crack the key with aircrack-ng. This will give you access to usernames, passwords, and other sensitive data.</li>
<li><strong>Airolib-ng —</strong>  Stores pre-computed WPA/WPA2 passphrases in a database. Used with aircrack-ng while cracking passwords.</li>
<li><strong>Airtun-ng —</strong>  Creates virtual tunnel interfaces.</li>
</ul>
<h2 id="heading-summary">Summary</h2>
<p>The world is a more connected place, thanks to WiFi. We enjoy the benefits of WiFi almost every single day. With all its benefits, it is also a vulnerable network capable of exposing our private information, if we are not careful.</p>
<p>Hope this article helped you understand WiFi security and Aircrack in detail. To learn more about Aircrack, <a target="_blank" href="https://www.aircrack-ng.org/doku.php">check out their official wiki</a>.</p>
<p><em>Loved this article?</em> <a target="_blank" href="http://tinyletter.com/manishmshiva"><strong><em>Join my Newsletter</em></strong></a> <em>and get a summary of my articles and videos sent to your email every Monday. You can also <a target="_blank" href="https://medium.com/manishmshiva"><strong>find my blog here</strong></a>.</em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to get started with FreeRTOS and ESP8266 ]]>
                </title>
                <description>
                    <![CDATA[ By Denis Nuțiu Recently, I purchased a NodeMCU from AliExpress for about $4. The reason I did this was to find out what all the fuss is about with ESP8266. NodeMCU is an open source IoT platform. It includes firmware which runs on the ESP8266 Wi-Fi S... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-get-started-with-freertos-and-esp8266-7a16035ddd71/</link>
                <guid isPermaLink="false">66c35249bc39b1419091be4b</guid>
                
                    <category>
                        <![CDATA[ Electronics ]]>
                    </category>
                
                    <category>
                        <![CDATA[ ESP8266 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ wifi ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 03 Feb 2018 15:57:54 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*2fa1eXR1ZEeWUA54bbY3Ag.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Denis Nuțiu</p>
<p>Recently, I purchased a NodeMCU from AliExpress for about $4. The reason I did this was to find out what all the fuss is about with ESP8266.</p>
<p>NodeMCU is an open source IoT platform. It includes firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which is based on the ESP-12 module.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/WWQgoFxzsaqMPtrLF33j93TOcM5hBstHKqON" alt="Image" width="800" height="414" loading="lazy">
<em>Source: ESP8266 Datasheet</em></p>
<p>Compared to the Arduino UNO, my ESP8266 totally knocks it out of the park when it comes to CPU power and price.</p>
<p>The ESP8266 is 500% faster and 82% cheaper than the Arduino. The ESP8266 also has WiFi connectivity.</p>
<p>I was very surprised when I visited the <a target="_blank" href="https://www.espressif.com/en/products/hardware/esp8266ex/overview">Espressif website</a> for the ESP8266. There’s lots of documentation and resources that you can use. For example, there’s an Android application which tells your ESP8266 to connect to your WiFi. The app sends the SSID and password as packets, the ESP8266 sniffs them, and then it connects to your WiFi. This is called SmartConfig, and was invented by Texas Instruments.</p>
<p>In this article, I will guide you to setup and run the Smart Config example from the Espressif RTOS SDK.</p>
<h4 id="heading-heres-the-things-youll-need">Here’s the things you’ll need:</h4>
<ul>
<li>A modern computer.</li>
<li>A NodeMCU board with ESP12-E</li>
<li>VirtualBox (<a target="_blank" href="https://www.virtualbox.org/wiki/Downloads">https://www.virtualbox.org/wiki/Downloads</a>)</li>
<li>Ubuntu Server LTS (<a target="_blank" href="https://www.ubuntu.com/download/server">https://www.ubuntu.com/download/server</a>)</li>
</ul>
<h3 id="heading-configuring-virtualbox-for-development">Configuring VirtualBox for development</h3>
<ol>
<li>Download VirtualBox and install Ubuntu Server. This should be easy to do, but if you don’t know how, Google it or have a look at this graphic <a target="_blank" href="https://dalanzg.github.io/tips-tutorials/ubuntu/2016/04/15/install-ubuntu-server-on-virtualbox/">step by step guide</a>. Installing an OS is a nice skill to have. <em>(Tip: When VirtualBox prompts you to select the disk, make it dynamically allocated and at least 50GB in size. This will save you some headaches further down the line.)</em></li>
<li>Make sure that you can access the internet from within the virtual machine and configure the DNS server:</li>
</ol>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1VXQI9xykHzqgT9nDFIjTeUU5M0GasTMjVkS" alt="Image" width="800" height="562" loading="lazy">
<em>Right click the machine then Settings -&gt; Network</em></p>
<p>To configure the DNS server, have a look at this <a target="_blank" href="https://askubuntu.com/questions/346838/how-do-i-configure-my-dns-settings-in-ubuntu-server">example</a>.</p>
<blockquote>
<p>Example: <code>dns-nameservers 8.8.8.8 8.8.4.4</code> If you can ping Google, then you’re good to go!</p>
</blockquote>
<ol start="3">
<li><p>(Optional) Install <a target="_blank" href="https://help.ubuntu.com/lts/serverguide/openssh-server.html">OpenSSH</a> and <a target="_blank" href="https://help.ubuntu.com/lts/serverguide/samba-fileserver.html">Samba</a> server. This will make your life much easier.</p>
</li>
<li><p><strong>(Optional)</strong> Enable port forwarding. In order to SSH directly into your virtual machine, you need to enable port forwarding. For example, to map the <strong>port 2222</strong> on your <strong>host machine</strong> to the <strong>port 22</strong> of your <strong>virtual machine</strong>.</p>
</li>
</ol>
<p><img src="https://cdn-media-1.freecodecamp.org/images/vxD8ttK0h7T3Rqr9-wsA0dEXaizQ84Zdc9CX" alt="Image" width="800" height="621" loading="lazy">
<em>Enable Port forwarding: Settings -&gt; Network <strong>-&gt; Port Forw</strong>arding</em></p>
<p>If you have enabled port forwarding, you can now SSH into your virtual machine from your Host machine as in the figure below.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/iZh3PIg0ZdEnaSqoCvfa8us076gknELpRYRX" alt="Image" width="800" height="631" loading="lazy">
<em>FIG1: ssh -p 2020 denis@localhost</em></p>
<p>Note: If you’re on Windows, you need <strong>Putty</strong> in order to SSH into the virtual machine.</p>
<ol start="5">
<li>Plug in your NodeMCU and execute the following command:</li>
</ol>
<p><code>tail -f /var/log/kern.log</code></p>
<p>This should reveal to you that the device has been identified as /dev/ttyUSB0. If nothing happens, then you need to add the USB to the virtual machine. After adding the USB, unplug and plug your device in again.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/rBbsqsBd84y-dgnFeS6phDTXlM-tOCaXyPiU" alt="Image" width="800" height="583" loading="lazy">
<em>Adding USB: Settings -&gt; Ports -&gt; USB</em></p>
<p>If you’ve reached this point and every thing is working, <strong>congratulations</strong>! You’re now ready to compile the SDK and run the SmartConfig example. You can even shoot me a tweet at <a target="_blank" href="https://twitter.com/metonymyqt">https://twitter.com/metonymyqt</a></p>
<h3 id="heading-compiling-the-sdk-and-flashing-the-board"><strong>Compiling the SDK and flashing the board</strong></h3>
<ol>
<li>Install the required packages (as below). This info is also available on the SDK’s readme.md.</li>
</ol>
<pre><code>sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial sed git unzip bash help2man wget bzip2 libtool-bin
</code></pre><ol start="2">
<li><p>Create a new folder and navigate into it: <code>mkdir Development &amp;&amp; cd Development</code></p>
</li>
<li><p>Clone the Open SDK: <a target="_blank" href="https://github.com/pfalcon/esp-open-sdk">https://github.com/pfalcon/esp-open-sdk</a></p>
</li>
</ol>
<p><code>git clone --recursive https://github.com/pfalcon/esp-open-sdk.git</code></p>
<ol start="3">
<li>Run make: <code>make</code></li>
</ol>
<p><strong>Warning: This step will take a while to finish so please be patient.</strong> On my virtual machine it completed after 50 minutes. On yours it might take more or less, but before you run, make make sure that you’re <strong>connected to the internet</strong> and <strong>DNS is properly configured</strong>. The best way to check this is to execute a ping to Google or some other site if Google is blocked in your region.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/rqBC76LdfeK2PStc1YiC1RCFArzHF4IjXXdi" alt="Image" width="800" height="637" loading="lazy">
<em>Successful ping command: $ ping medium.com</em></p>
<p>If your ping is successful, you can minimize the windows and watch an episode of your favorite TV show. Come back after about 40 minutes (but make sure your computer doesn’t go to sleep).</p>
<p>After the SDK has been built successfully, you’ll see a message telling you to put something in your path. To do so, execute the following:</p>
<pre><code>echo <span class="hljs-string">'export PATH=/home/denis/Development/esp-open-sdk/xtensa-lx106-elf/bin:$PATH'</span> &gt;&gt; ~/.profile
</code></pre><p>The command will append the string to the <strong>~/.profile</strong> file. Now please run the following command:</p>
<p><code>xtensa-lx106-elf-gcc --version</code></p>
<p>If the command executes successfully, then you’re good to go!</p>
<ol start="4">
<li>Test your board</li>
</ol>
<p>Plug your NodeMCU and run <strong>lsusb</strong> to verify that your device is connected. After that, run <strong>esptool.py chip_id</strong>. You should now see the board’s chip id.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/lf0BJC2bys9XbFPVEzc0B9LsUGtw6dbJtoOl" alt="Image" width="800" height="467" loading="lazy">
_esptool.py chip<em>id</em></p>
<ol start="5">
<li>Clone <a target="_blank" href="https://github.com/espressif/ESP8266_RTOS_SDK">ESP8266_RTOS_SDK</a></li>
</ol>
<pre><code>git clone https:<span class="hljs-comment">//github.com/espressif/ESP8266_RTOS_SDK.git</span>
</code></pre><ol start="6">
<li>Export the SDK path and SDK/BIN path using the commands below.</li>
</ol>
<pre><code>echo <span class="hljs-string">'export SDK_PATH=/home/denis/Development/ESP8266_RTOS_SDK'</span> &gt;&gt; ~/.profile
</code></pre><pre><code>echo <span class="hljs-string">'export BIN_PATH=/home/denis/Development/ESP8266_RTOS_SDK/bin'</span> &gt;&gt; ~/.profile
</code></pre><ol start="7">
<li>Compile the SmartConfig example</li>
</ol>
<pre><code>cd /home/denis/Development/ESP8266_RTOS_SDK/examples/smart_config/
</code></pre><pre><code>chmod +x ./gen_misc.sh
</code></pre><pre><code>./gen_misc.sh
</code></pre><p>Now accept the default values until you’re asked for <strong>SPI_SIZE_MAP.</strong> This is where you select <strong>4</strong> because the NodeMCU has a flash size of 32Mbit and this translates to 4MB. _You can also select SPI<em>SPEED 3=80Mhz</em></p>
<p>You’ll see something like this:</p>
<pre><code>!!!SDK_PATH: <span class="hljs-regexp">/home/</span>denis/Development/ESP8266_RTOS_SDKBIN_PATH: <span class="hljs-regexp">/home/</span>denis/Development/ESP8266_RTOS_SDK/bin
</code></pre><pre><code>No boot needed.Generate eagle.flash.bin and eagle.irom0text.bin successully <span class="hljs-keyword">in</span> BIN_PATHeagle.flash.bin — — — →<span class="hljs-number">0x00000ea</span>gle.irom0text.bin — →<span class="hljs-number">0x20000</span>!!!
</code></pre><ol start="8">
<li>Flash the board</li>
</ol>
<pre><code>cd $BIN_PATH
</code></pre><pre><code>esptool.py erase_flash
</code></pre><pre><code>esptool.py write_flash <span class="hljs-number">0x00000</span> $BIN_PATH/eagle.flash.bin <span class="hljs-number">0x20000</span> $BIN_PATH/eagle.irom0text.bin <span class="hljs-number">0x3FC000</span> $BIN_PATH/esp_init_data_default.bin
</code></pre><p>Now, if you reset the board, you should see no LED blinking.</p>
<ol start="9">
<li><p>Use the Phone Application</p>
</li>
<li><p><a target="_blank" href="https://play.google.com/store/apps/details?id=com.cmmakerclub.iot.esptouch&amp;hl=en">Android Application</a></p>
</li>
<li><a target="_blank" href="https://itunes.apple.com/us/app/ti-wifi-smartconfig/id580969322?mt=8">iPhone Application</a></li>
</ol>
<p><img src="https://cdn-media-1.freecodecamp.org/images/xoDqT7zXJ7toeEl8Jm-ymdZQvmg7YnzeGwBM" alt="Image" width="800" height="1422" loading="lazy">
<em>ScreenShot from my Android Device</em></p>
<p>Open the Application, make sure that you’re connected to a WiFi AP, enter your password, and press confirm. After a few seconds the ESP8266 should connect to your AP. That’s it. Congratulations for reaching the end!</p>
<p>If you want to develop more using the ESP8266-RTOS-SDK, please visit the official websites. You’ll find a lot of resources and documentation there. Also, please take a look at the other examples found in the SDK folder.</p>
<p>Thank you very much for your time reading this. If you want to reach out to me, you can do so on Twitter: <a target="_blank" href="https://twitter.com/metonymyqt">MetonymyQT</a></p>
<h4 id="heading-resources">Resources</h4>
<ul>
<li><a target="_blank" href="https://www.espressif.com/en/products/hardware/esp8266ex/overview">ESP8266 Overview</a></li>
<li><a target="_blank" href="https://www.espressif.com/en/products/hardware/esp8266ex/resources">ESP8266 Resources</a></li>
<li><a target="_blank" href="https://www.freertos.org/">FreeRTOS Website</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
