Kali Linux

Kali Linux is a Debian-derived Linux distribution designed for digital forensics and penetration testing. It is maintained and funded by Offensive Security.

Basic Networking Part 2 — What Is Data Packets?


It turns out that packets are involved in everything you do on the Internet. Packet is a basic unit of communication over Computer Network. Every Web page you receive, every e-mail you write is also made up of packets. Packet switched networks are networks that transport data in small packets.

what is data packets

What is a Packet?

On the Internet, an e-mail message is broken down into bytes of a specified size. These are the individual packages. Each packet contains information that will assist it in reaching its destination, such as the sender’s IP address, the intended receiver’s IP address, and a number that tells the network how many packets this e-mail message has been broken into. The data is carried in packets by the Internet’s protocols, Transmission Control Protocol/Internet Protocol (TCP/IP). Each packet contains a portion of your message’s body. Typically, a packet has 1,000 to 1,500 bytes.

Each packet is subsequently sent to its destination through the best available route, which may or may not be shared by all other packets in the message. This improves the network’s efficiency. First, the network can millisecond-by-millisecond balance the load across several pieces of equipment. Second, if a piece of network equipment fails while a message is being sent, packets can be routed around the fault, ensuring that the complete message is delivered.

Data Packet Structure

Most network packets are split into three parts:

Header – The header contains information about the data that the packet will carry. These instructions may contain the following:

  • The length of the packet (some networks have fixed-length packets, while others rely on the header to contain this information).
  • Synchronization (a few bits that help the packet match up to the network).
  • Packet number (which packet this is in a sequence of packets).
  • Protocol (on networks that carry multiple types of information, the protocol defines what type of packet is being transmitted: e-mail, Web page, streaming video etc.)
  • Destination address (where the packet is going).
  • Originating address (where the packet came from).
  • Other technical data.

Payload – Also known as a packet’s body or data. This is the data that the packet is sending to its intended destination. If the payload of a packet is fixed-length, it may be padded with blank data to make it the proper size.

Trailer – The trailer, also known as the footer, usually contains a handful of bits that inform the receiving device that the packet has ended. It may also include some form of error detection. Cyclic Redundancy Check is the most prevalent type of error checking employed in packets (CRC).

CRC is a really cool program. In some computer networks, this is how it works: It puts together the sum of all the 1s in the payload. The result is saved in the trailer as a hexadecimal value. The receiving device adds up the 1s in the payload and compares the result to the trailer’s value. The packet is valid if the values match. However, if the values do not match, the receiving party will be notified.


Consider how an e-mail message might be divided into packets as an example. Assume you’re sending an e-mail to a friend. The size of the e-mail is approximately 3,500 bits (3.5 kilobits). You’re sending it across a network that employs 1,024-bit fixed-length packets (1 kilobit). Each packet contains a 96-bit header and a 32-bit trailer, leaving 896 bits for the content. Four packets are required to separate the 3,500 bits of message into packets (divide 3,500 by 896). The payload will be 896 bits in three packets and 812 bits in the fourth. The contents of one of the four packages would be as follows:

The proper protocols, as well as the originating address, will be included in the header of each packet.

Basic Networking Part 1– How Do Computer Systems Communicate?


Human communication and computer communication are very similar. Many parts of computer science are, in fact, comparable to human behavior. If you’re interested in learning how these machines communicate with one another and how data flows through a network, this article is for you. If computers appear to be a fascinating subject for your thinking, computer communication may pique your interest.

How Do Computer Systems Communicate

Before we go into computer communications, let’s have a look at the article’s structure. The first few paragraphs give an overview of computer systems. Following that, we’ll go over more technical topics like computer networking and network protocols.

Computers Connect with One Another using Their Own Network

On a daily basis, we use the internet. This essentially indicates that we’re all part of the same network. The Internet is a global network that connects all of the world’s users, allowing them to communicate with one another at any time and from any location because they are all members of the same network. A network is a collection of interconnected devices. It can also be a collection of smaller networks. A computer network is made up of two or more computers connected through a network media. Users on the same network can share the same hardware (a printer) and software (apps) and send various types of data such as text, video, and audio. Hardware is employed to connect them, such as the

There are two different sorts of networks. Local area networks and wide area networks are the two types. The key distinction is the network’s range of connectivity. Let’s start with a basic definition of what a local network is.
Because it is established locally, the LAN (Local Area Network) may connect a smaller number of computers, as its name suggests.

You could conceive of a local network as a system that connects people who share a common interest, such as computers in a classroom to allow students and staff to communicate, or computers in a business. The LAN can be a secure network that only they can access and use. As a result, the LAN now has authorized users who use their IP addresses as indicated below.

The network’s identification of the sender and recipient is also detailed below.
Let’s have a look at the wide area network now. The Wide Area Network (WAN) can be used to construct a larger network than the LAN as the number of users grows. The WAN is a network that links networks over wide geographical areas. Assume that the company has expanded its offices to other countries or locations and that they still wish to connect with one another. The Wide Area Network (WAN) is used to carry data over great distances or between networks that are connected to a larger one. Because of the number of users and complexity, WAN speeds can be slower than LAN speeds, however this is dependent on the settings.

What method does the network use to determine which computer is the intended recipient?

We’ve already established a LAN. We can join all of the machines in the same network with a single Ethernet connection. When computer A (or a user) wants to send a message to computer B, the message travels over the cable and is received by all computers in the network because they all share the same medium.

But how does the network know who the message is intended for?

The message is destined for a reader who is eager to read it and is likely to wish to exchange information in return. The router utilizes the MAC address of each machine to resolve this issue. This address ensures that the physical address of the machine is unique.

The Internet Protocol facilitates data transmission within a network. Network packets are used to send the data. A static IP address and a public IP address are assigned to each computer.

Your machine has its own private IP address. Your gadget is given an address by your ISP (Internet Service Provider). The router saves this IP address. A routing table is stored on the router and contains all of the private IP addresses (mobile, laptop, etc.) that are connected to this network.


The principles of computer communications are covered in this article. You now understand how data is transferred from a wire as a signal to another computer in readable form, going through several levels and protocols. When you press the Send button, the data (signal) becomes 01010101, which passes through the OSI model’s multiple layers

Network Security Testing – What Should You know ?

Regular cyber-attacks and the misuse of stolen data have become the norm, forcing people and by extension, companies that use the data to invest significantly in network security and data management. Many data breaches and network outages occur daily due to software vulnerabilities or cyber-attacks. The trend of network compromises and data thefts has increased exponentially over the years.
According to the United Nations, cybercrime has increased 600% during COVID-19. An IBM report estimates the worldwide average cost of a data breach at $3.86 million per breach.
computer, technology, social, internet, communication, security, website, social media, media, police, facebook, multimedia, screenshot, www, communicate, social networking, social network, internet page, networking, networks, Free Images In PxHere
Let’s get a better understanding of the importance of cyber security testing in securing networks and preventing data breaches.

What is security testing?

Security experts perform real-world attacks on your network during penetration testing to identify vulnerabilities and assess the overall risk to your network’s security. The concept behind penetration testing is that cybersecurity experts (whether given information about your security or not) use the same methods as cybercriminals to find network vulnerabilities, exploit them, and move throughout the system. It goes beyond a simple vulnerability report because it involves the good guys pretending to be the bad guys to expose your network security flaws and employee training weaknesses.
Posing as a hacker enables the company to identify security risks, remove false positives, and add a manual component to the test. These tests have a tremendous impact on an organization, from compliance and risk assessments to increased security awareness.

Penetration testing stages

Penetration testing can be broken into 9 stages. Here is the overview of each stage:
Stage 1: Information gathering
In this stage, the test engineer learns everything about your company and its employees from the external world through research. The team uses the same resources a bad guy would use to attack your networks, such as your company website, applications and workers’ social media.
Stage 2: Enumeration & identification
The testers, in this stage, examine your network for vulnerable, open ports, services and applications.
Stage 3: Vulnerability scanning
It is the final stage in the research and preparation process, during which they test both manually and automatically to identify network vulnerabilities.
Stage 4: Attack surface analysis
At this stage, the tester compiles all their preparation and determines the best attack method, including exploiting network vulnerabilities, leading to the creation of an attack plan. 
Stage 5: Penetration & exploitation
The plan is put into action in this stage, to compromise and exploit the vulnerabilities in the network. 
Stage 6: Privilege escalation
The next step is to gain domain admin access. The team will search the network for ways to gain administrative access.
Stage 7: Create persistence
This stage’s goal is to ensure the network’s long-term persistence. Typically, the test engineer may establish a backup, personal login with admin access to the system.
Stage 8: Pivot
After establishing persistence and moving throughout the network to access, the tester would need new data. It helps the tester find the information hackers need to achieve their goals.
Stage 9: End goal
After all the preparation and network movement, the QA experts finally reach the goal to breach an intellectual property, sensitive information or financial accounts.

How to conduct network penetration testing?

Network penetration testing is executed through three common methods mentioned below:
Black box
Black box testing is leveraged with no previous knowledge of the network’s operation or technical characteristics. As a result, the test works by performing a targeted attack after thoroughly exploring the given network.
Businesses that manage sensitive data and wish to keep an eye on all potential security holes can use this realistic cyber-attack version.
Gray box
A ‘gray box’ test has the same function as a black-and-white test. Stolen login knowledge enables unauthorized access to internal information such as user privileges and technical documents in an average system.
It is one of the most common network pentests which is done for highly targeted attacks framed to understand the attack direction of an average hacker.
White box
Network specialists gather data about the system, identify potential weaknesses, and target the specific infrastructure to evoke a response. If black is realistic and gray is moderately intrusive, the ‘white box’ test is like an audit that checks the impacts of increased security.
Finally, companies employ this kind of a last run-through to ensure that their system is impenetrable to even the most hardcore hacker.

Types of Penetration Testing

Majorly, there are two types of penetration testing:
Network testing
Finding security flaws and vulnerabilities in a network’s infrastructure is the primary goal of a pen test. After conducting extensive research, a tester performs several network tests. It’s critical to conduct these network tests locally and remotely to gather as much data as possible.
Social engineering
Cyber ciminal’s psychological tricks often lead to successful breaches (95% of successful attacks are spear phishing). A pen test should therefore use similar strategies. This form of pen test entails the testing of company employees.
Types of social engineering
Social engineering can be classified into following types:
Remote testing
Testers use electronic means, such as spear-phishing, to trick an employee into compromising network information or credentials.
Physical testing
Test engineers leverage direct employee contact to find and retrieve sensitive data. Many testers may impersonate people over the phone or in-person to find unlocked computers or potential security flaws. 
Client-side tests
This includes testing of web browsers, content creation software, and other applications. These tests find application security flaws locally. For example, a cyber criminal can easily exploit a missing application update or patch to further their attack.
Web application
This test looks for web-based application security flaws beyond the client network and devices. This type of test is extremely complex to perform correctly, and it can take a long time to test each web application in use thoroughly.
Wireless network
A wireless network test examines a company’s wireless devices. It involves accessing devices like smartphones, tablets, and laptops to look for vulnerabilities. It also searches for flaws in the wireless access points and wireless protocol, looking for ways to exploit the devices and the overall network.


In today’s interconnected world, it is critical to protect your network. However, what if your team lacks the resources or expertise to conduct network security testing effectively? In such a scenario, you can take the help of quality assurance services that can help you to implement network vulnerability analysis and eliminate your external network’s security weaknesses systematically.

Kali Linux File System

In our this guide we are going to talk about file system of Kali Linux this is very crucial for a user using Kali Linux. For the new comers who comes to Linux from Windows it is very important to understand the file system. For those who comes from another Linux distribution (Like, Ubuntu, Linux Mint etc) with a basic Linux knowledge can easily get this.

Kali Linux File system

The directory structure of Kali Linux system is based on the Unix File system Hierarchy Standard (FHS), and that’s how the directories are structured inside Kali Linux. In our Windows system, the root directory is C: , but in Kali Linux, it’s a forward slash (/). Please do not confuse the term “root directory” with the “root user’s home directory” (which is /root), because they are two different things. the latter is the home is the home directory (/root) for the root user.

Talking about root user, root user is the super user, for an example it can be consider as Administrative user on Windows system, previously Kali Linux comes with root user by default but after 2020.1 update Kali Linux comes with non-root user by default, that means we need to run sudo if we want to execute high-privileged commands. New user should be careful using sudo because wrong command could destroy our system.

To understand the file system of Kali Linux we need to open our terminal window and execute the command cd / , here cd stands for change directory, and / is our root directory. That means we are changing the directory to the root directory. Then we need to run ls (list) command to see all the files/folders here. As we can see in the following screenshot:

root directory files

In the above screenshot we can see some contents on our root directory. We need to know about them to understand the file system.

  • /bin (binaries): This directory contains Linux binaries like the cd and ls command that we executed earlier.
  • /sbin (system binaries): This directory holds system binary files that serve as administrative commands (like fdisk).
  • /boot: This directory contains the Linux bootloader files.
  • /dev (devices): This directory contains the device configuration files (like /dev/null ).
  • /sys: This is similar to /dev, which contains configurations about devices and drivers.
  • /etc (etcetera): This directory contains all the administration system files (like /etc/passwd shows all the system users in Kali Linux).
  • /lib (libraries): This directory hods the shared libraries for the binaries inside /bin and /sbin.
  • /proc (processes): This directory contains the processes and kernel information files.
  • /lost+found: As in the name, this directory contains the files that have been recovered.
  • /mnt (mount): This directory contains the mounted directories (example, a remote file share).
  • /media: This directory holds the removable media mounted directories (like DVD).
  • /opt (option): This directory is used for add‐on software package installation. It is also used when installing software by users (example, hacking tools that you download from GitHub).
  • /tmp (temporary): This is a temporary folder used temporarily, the holdings are wiped after each reboot. The tmp folder is a good place to download our tools for privilege escalation once we got a limited shell.
  • /usr (user): This directory contains many sub-directories. In fact, /usr/share/ is a folder that we need to memorize because most of the tools that we use in Kali Linux (like Nmap, Metasploit, etc.) are stored there, and it also contains the wordlist dictionary files (/usr/share/wordlists).
  • /home: This is the home for Kali Linux users (example /home/kali/).
  • /root: Home directory for root user.
  • /srv (serve): This folder contains some data related to system server functionalities (like data for FTP servers).
  • /var (variable): This folder contains variable data for databases, logs, and websites. For an example, /var/www/html/ contains the files for the Apache2 web server.
  • /run (runtime): This directory holds runtime system data (like currently logged‐in users).

We need to check about these file systems. This is much different from our familiar Windows File system but it’s not hard. In our personal opinion Linux File systems are quite easy to understand then Windows File system.

We just need to some practice and continue using it to get familiar with Kali Linux file system. Either from file manager or from the terminal. We will say to use terminal, then our practice on terminal will be better.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

DNSX — Run Multiple DNS Queries

During penetration testing of a website or web application we must need to gather information as much as we can about our target. Gathering DNS information is also must be do for a security expert.

dnsx on Kali Linux

In today’s article we are going to cover dnsX, it’s a tool created by projectdiscovery. It is a fast and multi-purpose DNS toolkit allow to run multiple DNS queries of our choice with a list of user-supplied resolvers. It also supports DNS wildcard filtering like shuffledns. We will learn about installing dnsX on our Kali Linux system and use it.

Key Features of dnsX

  • Simple and Handy utility to query DNS records.
  • A, AAAA, CNAME, PTR, NS, MX, TXT, SOA query support.
  • DNS Resolution / Brute-force support.
  • Custom resolver input support.
  • Multiple resolver format (TCP/UDP/DOH/DOT) support.
  • stdin and stdout support.
  • Automatic wildcard handling support.

Installing dnsX on Kali Linux

After 2022.1 update of Kali Linux dnsX is added to Kali Linux repository, so the  installation will be hassle-free, we just need to run the following one liner command on our terminal:

sudo apt install dnsx -y

In the following screenshot we can see the output of the above command:

dnsx installing on kali linux

Done! dnsX is successfully installed on our Kali Linux system.

Using dnsX on Kali Linux

Let’s start with the help section of dnsX tool. To check the options we run the following command:

dnsx -h

In the following screenshot we can see the help options of dnsX tool:

dnsx help options on kali linux

Now let’s start using it with an example, here we have a list of subdomains we can run the following command to check for active subdomains:

dnsx -l path/to/subdomains.txt
dnsx on Kali Linux

let’s suppose we found some subdomains using Subfinder, now we can easily check for active subdomains from the list of passive subdomains we got from various sources. Following command will be an example:

subfinder -silent -d hackthissite.org | dnsx -silent

In the above command we used -silent flag to keep our terminal clean. The command will take some time to collect all the data. We can see the output of the above command in the following screenshot:

dnsx with subfinder

Also dnsX can be used to print A records, for an example:

subfinder -silent -d hackthissite.org | dnsx -silent -a -cname -resp

In the following screenshot we can see the A records with the subdomains:

dnsx printing a records

Also it can extract only the A records. To do so we run the following command:

subfinder -silent -d hackthissite.org | dnsx -silent -a -resp-only

Now it will extract A records only, as we can see in the following screenshot:

dnsx a records only

dnsX can be used to extract CNAME records, for an example:

subfinder -silent -d hackthissite.org | dnsx -silent -cname -resp

We can see the output in the following screenshot:

cnames found by dnsx

We can see the dns status codes by using dnsX tool, as we did in the following command:

subfinder -silent -d hackthissite.org | dnsx -silent -rcode noerror,servfail,refused

Following screenshots shows the output of the applied command:

dnsx dns status codes

This dnsX tool also can perform bruteforce subdomains for given domain or list of domains using -d and -w flag, for example we can check this.

Extra Talks

  1. By default, dnsx checks for A record.
  2. By default, dnsx uses Google, Cloudflare, Quad9 resolver.
  3. Custom resolver list can be used using -r flag.
  4. Domain name (-wd) input is mandatory for wildcard elimination.
  5. DNS record flag can not be used when using wildcard filtering.
  6. DNS resolution (-l) and DNS Bruteforcing (-w) can’t be used together.

This is how we can use dnsX tool on Kali Linux, and collect DNS information for security testing.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

[Fixed] No WiFi Adapter Found on Kali Linux

When we install Kali Linux on Desktop or Laptop we didn’t connect it with Wi-Fi.
Sometimes internal WiFi adapter not found in our Kali Linux system. In this detailed post we learn how we can install Wi-Fi in Kali Linux.
If we have Desktop computer then we should use the Wi-Fi adopters. This usually doesn’t need to install drive, if need then we should go the manufacturer’s website searching for drives in Linux. Have a Laptop then try following.
Laptop PC’s comes with on board Wi-Fi. Now it becomes hard to install Wi-Fi drivers and use onboard Wi-Fi chipset when we have direct install (not in Virtual Machines). So usually beginners use the LAN cable for internet or the external Wi-Fi adapter (like Alfa card) . Those methods works finely but decrees the portability of a laptop computer.

Install wifi in Kali Linux
Install WiFi in Kali Linux

Now we are going to install Wi-Fi driver in our Laptop. First of all we need a network connection with decent speed, it may be from LAN cable or from the mobile using USB tethering.
Then we open a Terminal window and update our Kali Linux by using apt update command:

sudo apt-get update

It require the root password to continue. After updating we use git clone command to clone Broadcom Installer.
Usually most of the laptop works with Broadcom Wi-Fi drivers and our command will be following:

git clone https://github.com/mehedishakeel/BroadcomInstaller2017

After cloning it we go to the folder using cd command:-

cd BroadcomInstaller2017

Then before run the automated bash script we give it permissions to run by using following command:

sudo chmod +x Broadcom.sh

Then we run the bash script by applying following command:

sudo bash Broadcom.sh

Now it will show us some options. Here we choose (1) Install WiFi driver to automatically install and setup everything for us.

install wifi in kali linux

This will take some time depending on our system performance and internet speed. Sit back and take a coffee, because it might take some time.
After finishing the installation this script will restart our PC. So don’t panic if it’s restarts automatically. After boot up again it will show us the Wi-Fi connectivity in the top right corner, and now we can connect our PC with Wi-Fi network with password

Wifi in Kali Linux
Installed Wi-Fi on Kali Linux

If don’t have the password of the Wi-Fi then we can follow this tutorial. Playing with WiFi ? Fern and WiFi Pumpkin will help us to do more fun.

In this tutorial we learned how we can install Wi-Fi driver in Kali Linux, specially on primary install in Laptop.
Using Kali Linux in daily basis? Then follow some special tips about it by reading our this article.
Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

Naabu – Simple, Fast and Reliable Port Scanner

Port scanning is a very crucial part of gathering information about a web service. Previously we had talked about Nmap, Masscan, Amap port scanners. But in today’s article we are going to cover about Naabu. We install and use naabu on our Kali Linux system.

Naabu port scanner on Kali Linux

Naabu is a port scanning tool written in Go that allows us to enumerate valid ports for hosts in a fast and reliable process. It is actually a very simple tool that does fast SYN/CONNECT scans on the host or list of hosts and lists all ports that return a reply. Isn’t it sounds cool?

Key features of Naabu

  • Fast And Simple SYN/CONNECT probe based scanning.
  • Optimized for ease of use and lightweight on resources.
  • Automatic handling of duplicate hosts between multiple subdomains.
  • NMAP Integration for service discovery.
  • Piped input / output support for integrating in workflows.
  • Multiple Output formats supported (JSON, File, Stdout).
  • Multiple input support including HOST/IP/CIDR notation.

Installing Naabu on Kali Linux

Installing naabu on Kali Linux is very easy. We just need to run a single command to install it. The command is following:

sudo apt install naabu -y

In the following screenshot we can see the output of the above command using that naabu is installed on our system.

installing naabu on kali linux

Now we can use naabu on our Kali Linux.

Using Naabu on Kali Linux

As always, we start with the man page (help options) of naabu. To check it’s uses we need to run following command:

naabu -h

In the following screenshot we can see the output of the above command:

naabu help options

Now we are going to test it against a target host. Here for just an example we are going to test it on hackthissite.org, so we need to run following command:

naabu -host hackthissite.org

In the following screenshot we can see the output of our applied command:

naabu is running on Kali Linux

We can see that naabu found two open ports on our target website. If we are looking for a specified port number then we can specify the port number with -p flag.

naabu -p 80,21 -host hackthissite.org

In the following screenshot we can see that naabu is just look for our specified ports only and skips 443 port:

naabu specified ports

If we didn’t specify the port numbers then by default naabu will check nmap’s Top 100 ports. We can also use some per-configured port ranges:

  • -top-ports 100 : Scans for top 100 nmap ports.
  • -top-ports 1000 : Scans for top 1000 nmap ports.
  • -p – : Scans for all the ports from 1 to 65535.

We can also specify which ports we don’t wanna check. If we don’t like to check port 21 and 80 on our target then we need to run following command:

naabu -p - -exclude-ports 21,80 -host hackthissite.org

In the following screenshot we can see the output of the above command:

naabu uncommon port scanning

If we need to run naabu against a list of target hosts, we need to have a text file of hosts (one host on a single line), then run following command on our terminal:

naabu -list hosts.txt

In the following screenshot we can see the output of the above command:

naabu host list port scanning

We can see in the above picture that we scanned all the target hosts ports. We can use -json flag at the end to get the output in JSON lines format. We can use -o flag to save the results on a file. Also we can just use -silent flag to see the result only on the output.

Integration with Nmap

We can use together Naabu and Nmap, Nmap will be very useful for discover services running on the port. Here we have nmap installed on our system and we have to use nmap-cli to perform this. So our example command will be like following:

echo hackthissite.org | naabu -nmap-cli 'nmap -sV -oX nmap-output'

In the following screenshot we can see that Naabu is working perfectly working with nmap:

naabu integration with nmap

So here in this this article we learned about Naabu, a simple, fast and reliable port scanner on our Kali Linux system. Naabu is quite easy to use and simple. It is also very fast.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.


Free Port Forwarding without Router

Previously, in our some articles like, SSH port forwarding and Portmap we discussed that how we can use port forwarding without router, and access our localhost site on the internet. In our this article we are going to cover another method to forward port without router.

Why we need this? specially when we have router and we use static IP or using NO-IP services.

This is a very good question. Well, we are in cybersecurity field where anonymity matters a lot. In real world during penetration testing smart attackers didn’t use routers and static IP. It increase chances to get traced. Port forwarding using SSH or tunnels also might be traces (not fully anonymous) but it will be a little bit tough. So we can use VPN, proxychains and TOR to get anonymous.

Free Port Forwarding without Router Kali Linux

Now coming to the article, in this tutorial we are going to use localtunnel service. Using this service is very easy, we don’t need to mess with DNS and firewall settings.

Installing localtunnel on Kali Linux

We can easily install localtunnel using Node Package Manager. So, we need to install Node Package Manager (npm) on our Kali Linux or any other Debian based Linux distribution. We use following command to do this:

sudo apt install npm

Because localtunnel uses Node JS that because we need to install npm. This will install some packages and complete the process in couple of minutes, dependig on our system performance and internet speed.

installing npm on kali linux

After installing npm we use this package manager to install localtunnel. We use following command to install localtunnel:

sudo npm install -g localtunnel

In the following screenshot we can see that localtunnel installed on our system in some seconds.

installing localtunnel using node package manager

Port Forwarding using LocalTunnel

We have installed localtunnel on our system. Now we just need to forward our localhost on the internet.

Here we have a localhost service running on our localhost using apache2. This is a simple webpage for showing an example.

sample webpage on running on localhost
sample webpage on running on localhost

This is running on our port 80, so we need to forward our port 8- using localtunnel to access our localhost on the internet.

A very tiny command will do this,

lt --port 80

We just put lt for localtunnel then specify our –port number (in our case it is 80). After applying the above command we get a URL.

localtunnel port forwarded URL

By opening this URL we can access our localhost from anywhere in the internet. Before that we got a warning page (first time only) to prevent spamming or misusing the service.

localtunnel warning

In the above screenshot we can see the warning page for first time when we open the localtunnel link. When we click on “Click to Continue” we reach to our localhost page, as we can see it in the following screenshot:

localhost page on internet

We can open this page from any device or network until the localtunnel connection open. We also have open this link on our phone and reach to that web page, shown in the following screenshot:

localtunnel on phone

Localtunnel will be not very much useful for phishing etc for the warning page. But this is a very easy method for port forwarding without router. This might be very handy to show a project to client remotely. We can easily forward port by using this on our Kali Linux or any other Debian based Linux distribution.

Warning:- This tutorial is written for pure educational purpose only. If anyone do any illegal activity then we are not responsible for that.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

Manage Files using Terminal

In our previous short article we learned about the File system of Linux. In this article we are going to learn about how we can deal with files directly from our terminal window.

But did we must have to learn this? Because Kali Linux and other most popular Linux distributions comes with good graphical user interface (GUI), so why we need to learn how to something with a file from command line where we can do it just like we do on Windows system?

manage files from terminal

Well in our opinion when we are reading this on this website then we have interest on cybersecurity field. When we are dealing with an remote system (read compromising a system) we have to do it on terminal. We need to break the privileges and get into it. There are lots of things with file we need to do here (from modifying system file data to uploading shells). So we need to have at-least a basic idea to dealing with files from terminal.

Creating a File using Terminal

First we will learn how we can create a file on Linux terminal. We will going to use touch command. We just need to run touch filename command to create a file. As shown in the following screenshot:

creating files on Linux

Copy Files using Terminal

We can copy files/directory from a directory to another one by using terminal window. To do that we need to use cp command. Suppose we have a file on our /home/kali/desktop directory. We need to copy this file to /home/kali/new_folder directory. We use following command for that:

cp full/path/file destination/path

As we can see in the following screenshot:

copy files uding linux terminal

In the following screenshot we can see that our file is copied to our destination directory. We did this for a file only we can do the same for a folder/directory.

Moving Files using Terminal

We can move a file from a directory to another directory to other directory by using mv command. This is very similar like cp command. mv full/path/of/file destination/path as we can see in the following screenshot:

moving files using terminal
Our file is moved from source directory

Renaming Files using Terminal

Basically we move a file/directory on the same directory and change the name. That is what renaming do. The mv command to change the name of a file without moving it to another directory.

renaming files on terminal
We can see that we renamed the file

Deleting Files using Terminal

We also can delete a file directly from terminal by simply using rm command. We just need to rm filename command to delete any file. To delete a file forcefully we need to use -f flag -r flag used to remove contents recursively.

deleting file using terminal
Deleting files using Terminal

Editing Files using Terminal

Let we have take look at file editing in terminal. As we told that this is too much important to have Linux skill, especially during the pen-testing if we need access to a Linux or UNIX based OS or server.

There are some cool text editors like gedit, leafpad and mousepad, they may looks far better than command line text editors for their graphical user interface, but we will focus on terminal based text editors. Everyone might have their own favorite text editors, but here we are going to cover two most common options, Nano and Vi.


Nano is the most user friendly and simplest text editors. To open a file and start editing we simply run nano <file name>.

nano filename.txt

After the file opened we can start editing the text as we can do on any graphical user interface using keyboard. As we can see in the following screenshot:

editing text using nano text editor on terminal
Editing text using nano text editor on terminal

If we see in the bottom of following screenshot, we can see the command menu there. We need to memorize some widely used keyboard shortcuts like:

  • CTRL+O – Write changes to the file.
  • CTRL+K – Cut to Current Line.
  • CTRL+U – Uncut a line, and paste it at the cursor location.
  • CTRL+W – Search
  • CTRL+X – Exit

To know more about nano, we need to see it’s official documentation.


vi is very powerful text editor with it’s lightning speed, especially  when it comes to automated repetitive tasks. However, it has a relatively sleep learning curve and is nowhere near as simple to use as Nano. It is so much complex so we cover the basis only. Similar to nano, to edit a we need to run vi filename command.

After the file is opened, we need to enable the insert-text mode to begin typing. To do this, we need to press I key and start typing and editing file.

To disable insert-text mode and go back to command mode, we need to press Esc key. In command mode we can use following command to use it.

  • dd    – Delete the current line.
  • yy    – Copy the current line.
  • p     – Paste from clipboard.
  • x     – Delete the current character.
  • :w    – Write the current file to disk and stay in vi.
  • :q!    – Quit without saving.
  • :wq   – Save and Quit.
vi text editor

Frankly speaking, vi is very absurd to use, many users avoid it. However as a penetration tester’s point of view learning vi is very good so, have some time to exploring it. vi is installed on every POSIX-complaint system. vi lovers considered as ultra-pro Linux user in the community.

vi is extremely powerful, Want to explore vi ? The following sources have very good manual to learn vi.

  1. Learning the vi Editor
  2. vi Debian Manual

Comparing Files using Terminal

Comparing files may seems irrelevant for normal users, but system admins, network engineers, penetration testes and other IT related professionals rely on this skill widely.

In this section, we’ll take a look at a couple of tool that can easily help us during file comparing.


The comm utility compares between two text files then displays the lines that are unique to each one, also shows the lines they have in common. comm outputs three space-offset columns. The first column will be the output unique lines of the first file. The second column will contain unique lines of the second file, and the third column contains lines that are shared by both files.

For an example here we have two files “file1” and “file2“, these files contains some words, as we can see in the following screenshot:

two similar files

Now we are going to compare these two files using comm command. So we are going use following command:

comm file1 file2

The output of the above command shown in the following screenshot:

comparing two files

In the above screenshot, we can see that it compares both files.


The vimdiff command opens with multiple files, on in each window. It also shows the differences between files by highlighting them. Which makes easier to find the differences between files. So we run the command as following:

vimdiff file1 file2

We can see the output in the following screenshot:

vimdiff comparing files
We can notice the differences easily for highlighted area.

We can use some shortcuts which will be helpful for us, those are following:

  • do: Get changes from the other window to current window.
  • dp: Sends the changes from current window to another window.
  • ]c: Jumps to the next difference.
  • [c: Jumps to the previous difference.
  • CTRL+W: Switches to the other split window.

Downloading Files using Terminal

Now we are going to take a look on downloading files using terminal. For downloading files we are going to use wget and curl.


The wget command, which we will use extensively, downloads files using the HTTP/HTTPS and FTP protocols. We can use wget url/of/file to download a file.

wget file download

In the above screenshot we had download a file using wget and -o flag to make a copy of the downloaded file our chosen name.


curl is a tool for transferring data to a server or from a server using host protocols including IMAP/S, POP3, SCP, SFTP, SMB/S, SMTP/S, TELNET, TFTP and others. A penetration tester can use curl to upload things (read payload) on server, or download things from server, and build complex requests. Basic use of curl is very similar to wget.

curl download using terminal


axel is a download accelerator that transfers a file from a FTP or HTTP server through multiple connections. axel has a vast array of features, but the most common feature is almost similar to wget and curl. We also can use -n flag, which is used to specify the number of multiple connections to use.

axel download files

This is how we can manage files directly from Linux terminal. In this article, we learnt how we can copy, move, rename, delete, edit, compare and download files on Linux or UNIX like system. We don’t need GUI for this. Learning these things are very important for cybersecurity students.

Love our articles? Make sure to follow us on Twitter and GitHub, we post article updates there. To join our KaliLinuxIn family, join our Telegram Group. We are trying to build a community for Linux and Cybersecurity. For anything we always happy to help everyone on the comment section. As we know our comment section is always open to everyone. We read each and every comment and we always reply.

Best USB WiFi Adapter For Kali Linux 2022 [Updated April]

Best WiFi Adapter for Kali Linux

The all new Kali Linux 2022.1 was rolling out and we can simply use it as our primary operating system because of the non-root user. The main benefit of using Kali Linux as primary OS is we got the hardware support. Yes, we can do our all penetration testing jobs with this Kali Linux 2021, but to play with wireless networks or WiFi we need some special USB WiFi adapters in Kali.
Best WiFi Adapter for Kali Linux

Here we have listed some best USB Wireless adapters Kali Linux in 2021. These WiFi adapters are 100% compatible with Kali Linux and supports monitor mode and packet injection, which will help a lot in WiFi penetration testing.

Best WiFi Adapter for Kali Linux

Sl No.
WiFi Adapter
Best for
Good Old Friend
Single Band for Beginners
Best in Budget
RT 3070
Best in it’s Price Range
RT 3070
Compact and Portable
RT 5572
Stylish for the Beginners
Smart Look & Advanced
Powerful & Premium
Chip, Single Band

Alfa AWUS036NH

We are using this USB WiFi adapter from the BackTrack days (before releasing Kali Linux) and still we consider it as one of the best. For it’s long range signals we can do our penetration testing jobs from a long distance.

Alfa AWUS036NHA Kali Linux WiFi Adapter 2020

Alfa AWUS036NH is plug and play and compatible with any brand 802.11g or 802.11n router using 2.4 GHz wavelength and supports multi-stream & MIMO (multiple input multiple output) with high speed transfer TX data rate up to 150 MBPS. It also comes with a clip which can be used to attach this adapter on a laptop lid.

    1. Chipset: Atheros AR 9271.
    2. Compatible with any brand 802.11b, 802.11g or 802.11n router using 2.4 Ghz wave-length.
    3. Includes a 5 dBi omni directional antenna as well as a 7 dbi panel antenna.
    4. Supports security protocols: 64/128-bit WEP, WPA, WPA2, TKIP, AES.
    5. Compatible with Kali Linux RPi with monitor mode and packet injection.
    6. High transmitter power of 28 dBm – for long-rang and high gain WiFi.
      TP-Link WN722N was very popular WiFi adapter for cybersecurity students. But after relesing the version 2 and 3, it is not so popular now, because it doesn’t support monitor mode and packet injection directly. But in it’s price range it is easy buy. This WiFi adapter have a detachable antenna which makes it very portable.
      tp link wn722n wifi adapter

      TP-LinkWN722N have AR9002U chipset on it’s version 1 and RTL8188EUS chipset on version 2/3 We have an article to use TP-Link WN722N Version 2 and 3 for monitor mode and packet injection on Kali Linux.

      1. Chipset: AR9002U/RTL8188EUS.
      2. Compatible with 2.4 Ghz band only.
      3. 3 dBi onmi directional & detachable antenna.

      We need to remember one thing that this adapter’s version 2 and 3 didn’t support Monitor Mode and Packet Injection directly we need a tweaking on it as we discussed on this article.


      TP-Link AC600/T2U Plus

      Here comes the real budget king. This TP-Link AC600 or T2U Plus has really proven itself with monitor mode, packet injection and soft AP support. This WiFi adapter is not plug and play on Kali Linux. We just need to set the driver for TP-Lnik AC600 on Kali Linux.

      tplink ac 600tplink t2u plus wifi adapter on kali linux

      It comes with a fixed 5dBi antenna which can be 180° rotatable. In this price segment it supports monitor mode on both 2.4 Ghz and 5 Ghz networks. It can be the best choice for ethical hacking students. It has lots of features in this budget.

      1. Chipset: RTL8821AU.
      2. Dual band monitor mode support.
      3. Fixed Antenna

      It also require a very little bit of tweaking to make it work on Kali Linux. All about it we had already discussed on our previous article. In our opinion go with this WiFi adapter when have a tight budget, because it’s build quality is not like the Alfa Cards.


      Alfa AWUS036NHA

      Alfa again. Alfa provides the best WiFi adapters for Kali Linux. This adapter is the older version of Alfa AWUS036NH with Ralink RT3070 chipset. AWUS036NHA is the IEEE 802.11b/g/n Wireless USB adapter with 150 Mbps speed This is also compatible with IEEE 802.11b/g wireless devices at 54 Mbps.

      Alfa AWUS036NH Kali Linux WiFi Adapter 2020

      This plug and play WiFi adapter supports monitor mode and packet injection in any Linux distribution and Kali Linux. Alfa AWUS036NHA comes with a 4 inch 5 dBi screw-on swivel rubber antenna that can be removed and upgrade up to 9 dBi.

        1. Chipset: Ralink RT 3070.
        2. Comes with a 5 dBi omni directional antenna as well as a 7 dBi panel antenna.
        3. Supports security protocols: 64/128-bit wep, wpa, wpa2, tkip, aes
        4. Compatible with Kali Linux (Also in Raspberry Pi) with monitor mode and packet injection.

          Alfa AWUS036NEH

          This Alfa WiFi Adapter is compact and tiny, but it has a good range. It supports plug and play so connect it with Kali Linux machine and start playing with WiFi security. The antenna is detachable and makes it very portable. We have used this to build our portable hacking machine with Raspberry Pi and Kali Linux.

          Alfa AWUS036NEH Kali Linux WiFi Adpater 2020

          Alfa AWUS036NEH is the ultimate solution for going out and red teaming attacks. The long high gain WiFi antenna will give us enough range to capture even low signal wireless networks. This adapter is slim and doesn’t require a USB cable to use.

            1. Chipset: Ralink RT 3070.
            2. Supports monitor mode and packet injection on Kali Linux and Parrot Security on RPi.
            3. Compact and portable.

              Panda PAU09 N600

              Besides Alfa, Panda is also a good brand for WiFi adapters with monitor mode. Panda PAU09 is a good WiFi adapter to buy in 2020. This dual-band plug & play adapter is able to attack both 2.4 GHz as well as 5 GHz 802.11 ac/b/g/n WiFi networks.

              Panda PAU09 WiFi adapter for monitor mode

              This adapter comes with a USB docker and dual antennas, which looks really cool. It is also detachable into smaller parts. This adapter is reliable even on USB 3 and works great and fully supports both monitor mode and injection which is rare on a dual band wireless card out of the box.

                1. Chipset: Ralink RT5572.
                2. Supports monitor mode and packet injection on Kali Linux, Parrot Security even in RPi.
                3. 2 x 5dBi antenna.
                4. It comes with a USB stand with a 5 feet cable.
                5. Little bit of heating issue (not so much).

                  Alfa AWUS036ACH / AC1200

                  In Kali Linux 2017.1 update Kali Linux was released a significant update – support for RTL8812AU wireless chipset. Now Alfa AWUS036ACH is a BEAST. This is a premium WiFi adapter used by hackers and penetration testers. It comes with dual antennas and dual band technology (2.4 GHz 300 Mbps/5 GHz 867 Mbps) supports 802.11ac and a, b, g, n.

                  Alfa AWUS036ACH WiFi adapter for Kali Linux

                  These antennas are removable and if we require higher range, then we can connect an antenna with greater dbi value and use it as a long range WiFi link which makes this one of the best WiFi adapters. Also this adapter has an awesome look.

                  If budget is not an issue then this adapter is highly recommended.

                    1. Chipset: RealTek RTL8812AU.
                    2. Dual-band: 2.4 GHz and 5 GHz.
                    3. Supports both monitor mode & packet injection on dual band.
                    4. Premium quality with high price tag.

                      Alfa AWUS1900 / AC1900

                      Now this is the beast, then why is it at last? It is last because of its high price range. But the price is totally worth it for this USB WiFi adapter. If the previous adapter was a beast then it is a monster. Alfa AWUS1900 has high-gain quad antenna that covers a really long range (500 ft in an open area).
                      This is a dual band WiFi adapter with high speed capability 2.4GHz [up to 600Mbps] & 5GHz [up to 1300Mbps]. It also has a USB 3.0 interface.

                      Alfa AWUS036ACH The best wifi adapter for hacking in Kali Linux

                      Monitor mode and packet injection supported with both bands and it will be very useful for serious penetration testers. We also can attach this on our laptop display with it’s screen clip provided with the box.

                      What we got in the box?

                      • 1 x AWUS1900 Wi-Fi Adapter
                      • 4 x Dual-band antennas
                      • 1 x USB 3.0 cable
                      • 1 x Screen clip
                      • 1 x Installation DVD-Rom (doesn’t require on Kali Linux. Plug&Play)
                      • A consistent solution for network congestion!
                        1. Chipset: RealTek RTL8814AU.
                        2. Dual-band: 2.4 GHz and 5 GHz.
                        3. Supports both monitor mode & packet injection on dual band.
                        4. Premium quality with high price tag.
                        5. Very long range.

                          Panda PAU 06

                          Yes, This low cost Panda PAU 06 WiFi adapter supports Monitor Mode and Packet Injections. But we really don’t suggest to buy this adapter if budget is not an issue.
                          panda pau 06 wifi adapter for Kali Linux
                          The main reason is this WiFi adapter doesn’t supports dual-band frequency (only supports 2.4GHz), it doesn’t supports 5GHz frequency.
                          This WiFi adapter comes with Ralink RT5372 chipset inside it. 802.11n standards supports 300MB per second maximum speed.
                          This adapter takes less power from computer, but other adapters doesn’t took too much power from system (this point is negligible).
                          panda pau 06 order on amazon


                          There are some more WiFi adapters that we did not cover because we didn’t test them on our hands. These WiFi adapters were owned by us and some of our friends so we got a chance to test these products.Be Careful to choose from unofficial sellers, because sometimes they sell exactly same model with a cheaper chipset which surely not support monitor mode neighter packet injection. As per our own experience Alfa cards are the best in the case of WiFi Hacking.

                          How to Choose Best Wireless Adapter for Kali Linux 2020

                          Before going through WiFi adapter brands let’s talk something about what kind of WiFi adapter is best for Kali Linux. There are some requirements to be a WiFi penetration testing wireless adapter.

                          • Should support Monitor mode.
                          • The ability to inject packets and capture packets simultaneously.

                          Here are the list of WiFi motherboards supports Monitor mode and Packet injection.

                          • Atheros AR9271 (only supports 2.4 GHz).
                          • Ralink RT3070.
                          • Ralink RT3572.
                          • Ralink RT5370N
                          • Ralink RT5372.
                          • Ralink RT5572.
                          • RealTek 8187L.
                          • RealTek RTL8812AU (RTL8812BU & Realtek8811AU doesn’t support monitor mode).
                          • RealTek RTL8814AU
                          • RTL8188EUS (requires modified driver)
                          • RTL8821AU (require some installations)

                          So we need to choose WiFi Adapter for Kali Linux carefully. For an Example, on the Internet lots of old and misleading articles that describe TP Link N150 TL-WN722N is good for WiFi security testing. But it is not totally true. Actually it was.The TP Link N150 TL-WN722N’s previous versions support monitor mode. The version 1 comes with Atheros AR9002U chipset and supports monitor mode. Version 2 and 3 has the Realtek RTL8188EUS chipset and requires some modification on it’s driver then we can use it. TP Link N150 TL-WN722N version 1 is not available in the market right now. So clear these things and don’t get trapped.

                          Which WiFi adapter you like the most for Kali Linux?


                          WiFi Hacking in Kali Linux

                          Kali Linux is the most widely used penetration testing operating system of all time. It comes with lots of tools pre-installed for cyber security experts and ethical hackers. We can perform web application penetration testing, network attack as well as wireless auditing or WiFi hacking. We have already posted some lots of tutorials on our website and some good WiFi auditing tutorials like AirCrack-Ng.

                          Why Do We Use External USB WiFi Adapters in Kali Linux?

                          A WiFi adapter is a device that can be connected to our system and allows us to communicate with other devices over a wireless network. It is the WiFi chipset that allows our mobile phone laptop or other devices which allows us to connect to our WiFi network and access the internet or nearby devices.
                          But most of the Laptops and mobile phones come with inbuilt WiFi chipset so why do we need to connect an external WiFi adapter on our system ? Well the simple answer is our in-built WiFi hardware is not much capable to perform security testing in WiFi networks.Usually inbuilt WiFi adapters are low budget and not made for WiFi hacking, they don’t support monitor mode or packet injection.
                          If we are running Kali Linux on Virtual Machine then also the inbuilt WiFi Adapter doesn’t work for us. Not even in bridge mode. In that case we also need an external WiFi adapter to play with WiFi networks. A good external WiFi adapter is a must have tool for everyone who has interest in the cyber security field.

                          WSL2 installation of Kali Linux will not support any kind (Inbuilt or External) of Wi-Fi adapters.

                          Kali Linux Supported WiFi Adapters

                          Technically almost every WiFi adapter supports Kali Linux, but those are useless on WiFi hacking if they don’t support monitor mode and packet injection. Suppose, we buy a cheap WiFi adapter under $15 and use it to connect WiFi on Kali Linux. That will work for connecting to wireless networks but we can’t play with networks.
                          It doesn’t make sense, when we are using Kali Linux then we are penetration testers so a basic WiFi adapter can’t fulfill our requirements. That’s why we should have a special WiFi adapter that supports monitor mode and packet injection. So in this tutorial Kali Linux supported means not only supported it means the chipset has ability to support monitor mode and packet injection.

                          What is Monitor Mode

                          Network adapters, whether it is wired or wireless, are designed to only capture and process packets that are sent to them. When we want to sniff a wired connection and pick up all packets going over the wire, we put our wired network card in “promiscuous” mode.
                          In wireless technology, the equivalent is monitor mode. This enables us to see and manipulate all wireless traffic passing through the air around us. Without this ability, we are limited to using our WiFi adapter to only connect to wireless Access Points (APs) that accept and authenticate us. That is not what we are willing to settle for.
                          In the Aircrack-ng suite, we need to be able to use airodump-ng to collect or sniff data packets.

                          What is Packet Injection

                          Most WiFi attacks require that we are able to inject packets into the AP while, at the same time, capturing packets going over the air. Only a few WiFi adapters are capable of doing this.
                          WiFi adapter manufacturers are not looking to add extra features to their standard wireless adapters to suit penetration testers needs. Most wireless adapters built into your laptop are designed so that people can connect to WiFi and browse the web and send mails. We need something much more powerful and versatile than that.
                          If we can’t inject packets into the Access Point (in Aircrack-ng, this is the function of Aireplay-ng), then it really limits what we do.
                          If we are using Kali Linux and want to be a security tester or ethical hacker then a special WiFi adapter is a must have tool in our backpack. As per our own experience listed Alfa cards in this list are best USB wireless adapter for Kali Linux, going with them may be costly but they are really worth it. For more assistance comment below we reply each and every comment.

                          We are also in Twitter join us there. Our Telegram group also can help to choose the best WiFi adapter for hacking and Kali Linux.
                          Open Whatsapp chat
                          Whatsapp Us
                          Chat with us for faster replies.