No. 3. LINUX Basics for Hackers (Network Analysis and Management)

7 July 2023 14 minutes Author: Lady Liberty

Network Master Linux: Analysis and Management of Networks

Analysis of networks and their management is a necessary component of the field of information security and network administration. Linux provides a rich set of tools and resources to accomplish these tasks. It has powerful utilities that allow you to analyze network traffic, detect vulnerabilities, configure network settings, and much more. One of the key aspects of network analysis is the collection and analysis of packets. Linux provides tools such as tcpdump and Wireshark that allow you to capture and analyze network traffic. You will be able to identify potential threats, analyze protocols and determine the cause of network problems. Network management is also an important task for Linux users.

You can configure network settings, configure network interfaces, configure routing, and control access to network resources. Tools such as ifconfig, ip, iptables, and others allow powerful command-line network management. Linux Network Analysis and Management provides comprehensive information on various aspects of Linux network analysis and management. You will learn about networking basics, monitoring tools, traffic analysis tools, configuring network interfaces, configuring routing, and much more. In addition, we provide practical examples and tips for implementing these skills in real-world scenarios. Gain the skills you need to effectively analyze and manage networks in Linux. Network Analysis and Management in Linux is your key to successfully mastering these important skills. Start learning Linux network analysis and management today and become a master in the field.

Network analysis using IFCONFIG

The ifconfig command is one of the most basic tools for studying and interacting with active network interfaces. You can use it to query your active network connections by simply typing ifconfig in a terminal. Try it yourself and you’ll see a result similar to Listing 31.

kali >ifconfig
➊eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f
➋inet addr: ➌Bcast: ➍Mask:
Offers & Deals
Sign Out
➎lo Linkencap:Local Loopback
inet addr: Mask:
➏wlan0 Link encap:EthernetHWaddr 00:c0:ca:3f:ee:02
Listing 3­1: Using ifconfigto get network information

Listing 31: Using ifconfig to get network information

As you can see, the ifconfig command shows some useful information about the active network interfaces on the system. At the top of the output is the name of the first interface detected, eth0 ➊, short for Ethernet0 (Linux starts counting from 0, not 1). This is the first wired connection to the network. If there were more wired Ethernet interfaces, they would appear in the output in the same format (eth1, eth2, etc.).

Next is the type of network used (Ethernet), followed by the HWaddr and address; is a globally unique address stamped on each piece of network equipment—in this case, a network interface card (NIC), commonly referred to as a MAC address.

The second line contains information about the IP address currently assigned to this network interface (in this case, ➋); Bcast ➌, or broadcast address, which is the address used to send information to all IP addresses on the subnet; and finally the netmask (mask ➍), which is used to determine which part of the IP address is connected to the local network. You’ll also find more technical information in this results section, but that’s beyond the scope of this section on Linux networking basics.

The next section of output shows another network connection called lo ➎, which is short for loopback address and is sometimes called localhost. This is a special software address that connects you to your own system. Software and services not running on your system cannot use it. You would use lo to test something on your system, such as your own web server. Localhost is usually represented by the IP address

The third connection is the wlan0 interface ➏. This only appears if you have a wireless interface or adapter like I do here. Note that it also displays the MAC address of that device (HWaddr).

This information from ifconfig allows you to connect to and manipulate local area network (LAN) settings, an essential hacking skill.

Checking wireless network devices using IWCONFIG

If you have a wireless adapter, you can use the iwconfig command  to collect important information for wireless hacking, such as the adapter’s IP address, its MAC address, operating mode, etc. The information you can get from this command is especially important when you use wireless cracking tools like aircrackng.

Using the terminal, let’s look at some wireless devices with iwconfig.

kali >iwconfig
wlan0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not Associated Tx­Power=20 dBm
lo no wireless extensions
eth0 no wireless extensions
Listing 3­2: Using iwconfigto get information on wireless adapters

The output here tells us that the only network interface with wireless extensions is wlan0, which is what we expect. Neither lo nor eth0 have wireless extensions.

For wlan0, we find out what 802.11 IEEE wireless standards our device is capable of: b and g, two early wireless standards. Most wireless devices now also include n (n is the latest standard).

We also learn from iwconfig the wireless extension mode (in this case, Mode:Managed, as opposed to monitor or promiscuous mode). We will need messy mode to crack wireless passwords.

Next, we see that the wireless adapter is not connected (not associated) to the access point (AP) and that its power is 20 dBm, which represents the signal strength. We will spend more time on this information in Chapter 14.

Changing network information

Being able to change your IP address and other network information is a useful skill because it helps you gain access to other networks by appearing as a trusted device on those networks. For example, during a Denial of Service (DoS) attack, you can spoof your IP address to make the attack appear to originate from a different source, helping you avoid the IP address

seizure during forensic analysis. This is a relatively simple task in Linux and is done using the ifconfig command.

Change of IP address

To change your IP address, type ifconfig, the interface you want to reassign, and the new IP address you want to assign to that interface. For example, to assign the IP address to the eth0 interface, you would enter the following:

kali >ifconfig eth0 kali >

When you do it right, Linux will just return the command prompt and say nothing. It’s good! Then, when you check your network connections again with ifconfig, you should see that your IP address has changed to the new IP address you just assigned.

Changing the netmask and broadcast address

You can also change the netmask (netmask) and broadcast address using the ifconfig command. For example, if you want to assign the same eth0 interface with a netmask of and a broadcast address of, you would enter the following:

kali >ifconfig eth0 маска мережі трансляція

Калі >

Again, if you did everything right, Linux responds with a new command line. Now type ifconfig again to make sure each of the parameters have been changed accordingly.

Spoofing your MAC address

You can also use ifconfig to change the MAC address (or HWaddr). A MAC address is globally unique and is often used as a security measure to protect or track hackers from networks. Changing the MAC address to spoof another MAC address is almost trivial and neutralizes these security measures. As such, it is a very useful technique for bypassing network access controls.

To spoof your MAC address, simply use  the down option of the ifconfig command to remove the interface (eth0 in this case). Then enter the ifconfig command followed by the interface name (hw  for hardware, ether for ethernet) and the new fake MAC address.

Finally, refresh the interface using  the up option for the changes to take effect.

Here is an example:

kali >ifconfig eth0 вниз

kali >ifconfig eth0 hw ether 00:11:22:33:44:55 kali >ifconfig eth0 up

Now when you check your settings with ifconfig you should see that the HWaddr has changed to your new spoofed IP address!

Assigning new IP addresses from the DHCP server

Linux has a Dynamic Host Configuration Protocol (DHCP) server that runs a daemon—a process that runs in the background—called dhcpd, or the dhcp daemon. A DHCP server assigns IP addresses to all systems on a subnet and keeps log files of which IP address is assigned to which machine at any given time. This makes it a great resource for forensics analysts to track down hackers after an attack. For this reason, it is useful to understand how a DHCP server works.

Normally, to connect to the Internet from a local network, you must have a DHCP IP assigned to you. Therefore, after setting a static IP address, it is necessary to return and get a new DHCP-assigned IP address. You can always reboot your system to do this, but I’ll show you how to get a new DHCP without having to shut down and reboot your system.

To request an IP address from DHCP, simply call the DHCP server with the dhclient  command followed by the interface to which you want to assign an address. Different Linux distributions use different DHCP clients, but Kali is built on Debian, which uses dhclient.

Therefore, you can assign a new address as follows:

kali > dhclient eth0

The dhclient command sends a DHCPDISCOVER request from the specified network interface (here, eth0). It then receives an offer (DHCPOFFER) from the DHCP server (in this case and confirms the IP assignment to the DHCP server with a dhcp request.

kali >ifconfig

eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f

inet addr: Bcast: Маска:

Depending on the configuration of the DHCP server, the IP address assigned in each case may differ.

Now, when you type ifconfig, you should see that the DHCP server has assigned a new IP address, a new broadcast address, and a new netmask to your eth0 network interface.

Manipulation of the domain name system

Hackers can find a treasure trove of information about a target in their Domain Name System (DNS). DNS is a critical component of the Internet, and while it is designed to translate domain names to IP addresses, a hacker can use it to gather information about a target.

Checking DNS with dig

DNS is a service that translates a domain name, such as, to a corresponding IP address; that way, your system knows how to get to it. Without DNS, we’d all have to remember thousands of IP addresses for our favorite websites—no small task, even for a savant.

One of the most useful commands for a novice hacker is dig, which provides a way to gather DNS information about a target domain. Cached DNS information can be a key piece of early intelligence to obtain before an attack. This information may include the IP address of the target’s name server (the server that translates the target’s name into an IP address), the target audience’s email server, and possibly any subdomains and IP addresses.

For example, type dig and add the ns parameter (short for nameserver).

The name server for appears in the ANSWERS section of listing 33.

kali >dighackers-arise.comns
;hackers­ IN NS
hackers­ 5 IN NS
hackers­ 5 IN NS
Listing 3­3: Using digand its nsoption to get information on a domain nameserver

Also note in the ADDITIONAL section that this  dig query reveals the IP address ( of the DNS server serving

You can also use the dig command to get information about email servers connected to a domain by adding the mx parameter (mx is short for mail server). This information is critical for attacks on email systems.

For example, information about email servers appears in the AUTHORIZATION section of listing 34.

kali >dighackers-arise.commx
;hackers­ IN MX
hackers­ 5 IN SOA 2016052216 10800
3600 604 800 3600
Listing 3­4: Using digand its mxoption to get information on a domain mail exchange

The most common Linux DNS server is Berkeley Internet Name Domain (BIND). In some cases, Linux users will refer to DNS as BIND, but don’t get confused: DNS and BIND map individual domain names to IP addresses.

Changing the DNS server

In some cases, you may need to use a different DNS server. To do this, you will edit an open text file named /etc/resolv.conf on the system. Open this file in a text editor – I use Leafpad. Then, enter the exact name of the editor, the file location, and the file name at the command line.


kali >leafpad /etc/resolv.conf will open the resolv.conf file in the /etc directory in the specified Leafpad graphical text editor.

The file should look something like Figure 31.

Figure 31: A typical resolv.conf file in a text editor

As you can see in line 3, my nameserver is set to the local DNS server at This works fine, but if I want to add or replace this DNS server with, say, Google’s public DNS server at, I would add the following line to the /etc/resolv.conf file to specify the name server:

DNS server

Then I would just need to save the file. However, you can achieve the same result exclusively from the command line by entering the following:

kali >echo “nameserver”> /etc/resolv.conf

This command duplicates the nameserver string and redirects it (>) to the /etc/resolv.conf file, replacing the current contents. Your /etc/resolv.conf file should now look like Figure 32.

Figure 32: Modifying the resolv.conf file to point to Google’s DNS server

If you open the /etc/resolv.conf file now, you’ll see that it directs DNS queries to Google’s DNS server instead of your local DNS server. Your system will now access Google’s public DNS server to resolve domain names to IP addresses. This may mean that it takes a bit longer (probably milliseconds) to resolve domain names. So to keep the speed but still be able to use the public server, you can save

local DNS server in the resolv.conf file and follow it with a public DNS server. The operating system queries each DNS server listed in the order it appears in /etc/resolv.conf, so the system will only refer to the public DNS server if the domain name cannot be found on the local DNS server .

Mapping of own IP addresses

A special file on your system called the hosts file also performs domain name to IP address translation. The hosts file is located at /etc/hosts and, as with DNS, you can use it to determine your own IP address and domain name mapping. In other words, you can determine which IP address your browser goes to when you type (or any other domain) into the browser, rather than letting the DNS server decide. As a hacker, this can be useful for hijacking a TCP connection on your local network to direct traffic to a malicious web server using a tool like dnsspoof.

In the command line, enter the following command (you can replace your preferred text editor with leafpad):

kali >leafpad /etc/hosts

You should now see a hosts file that looks something like Figure 33.

Figure 33: Default Kali Linux hosts file

By default, the hosts file only contains a mapping for your localhost, at, and the hostname of your system (Kali in this case, But you can add any IP address mapped to any domain you want. As an example of how this could be used, you could map to your local website at localhost kali
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6­localhost ip6­loopback
ff02::1 ip6­allnodes
ff02::2 ip6­allrouters

Be sure to press the tab key between the IP address and the domain key, not the spacebar.

As you get more involved in your hacking endeavors and learn about tools like dnsspoof and Ettercap, you can use the hosts file to direct any traffic on your local network that visits to your web server at Pretty easy, right?


Any hacker needs basic Linux networking skills to connect, analyze and manage networks. As you progress, these skills will become increasingly useful for spying, tampering, and connecting to target systems.

We used materials from the book “LINUX BASICS FOR HACKERS” written by William Pollock

Other related articles
Found an error?
If you find an error, take a screenshot and send it to the bot.