Networking

# Network

A network is a system of interconnected devices (such as computers, servers, routers, and other hardware) that communicate and share resources using established protocols over wired or wireless connections.

Types of Networks -
  • Local Area Network : Covers a small area like an office or home.
  • Wide Area Network : Spans large geographical areas, like the internet.
  • Metropolitan Area Network : Connects multiple LANs within a city or large campus.
  • Personal Area Network : Small-scale network for personal devices like smartphones and laptops.
Network Segment :

A network segment is a subdivision of a computer network where all devices share the same communication medium and can directly communicate without passing through a router or other layer-3 device. It is typically bounded by networking equipment such as switches, routers, or firewalls, and includes a group of computers or devices connected through a shared medium like an Ethernet switch or Wi-Fi access point. Network segmentation helps organize and control traffic within a network, improving performance and enhancing security.

Subnet :

A subnet (short for subnetwork) is a logically defined smaller network within a larger IP network, created to organize, manage, and secure network traffic more efficiently. It consists of a range of IP addresses grouped together using a subnet mask, allowing devices within the subnet to communicate directly without routing traffic externally. While a network segment typically refers to a physical grouping of devices on the same medium (like an Ethernet switch), a subnet represents a logical grouping that may span one or more network segments, all configured to use the same router for communication beyond the subnet.

Internet :

The internet is a global public network of interconnected computers and devices that use standardized communication protocols to exchange data and information. For effective communication and organization on a network, devices need to have clear identification and be recognizable by others, which typically occurs through unique identifiers assigned to each device, such as IP addresses or MAC addresses. These identifiers enable devices to send and receive data, facilitating communication and maintaining order within the network.

Intranet :

An intranet is a private network used within an organization to facilitate communication, share information, and enable collaboration among employees. It operates like the internet but is confined to a specific group or organization, and access is restricted to authorized users only. Key features of an intranet include internal communication, file sharing and storage, collaboration, security, and centralized resources.

Extranet :

An extranet is a private network that allows controlled access to external users, typically business partners, vendors, or customers, while maintaining a level of security. It extends a company's internal network (intranet) to authorized users outside the organization. Through an extranet, businesses can securely share information and collaborate with external parties while keeping the main network protected from unauthorized access. It typically involves the use of secure connections, such as virtual private networks (VPNs), to ensure the safety of the data being exchanged.

# Networking Nodes

A node in a network is a point where data can be received, sent, created, or stored. It needs identification like an IP address for access and can be any device that processes and shares information with other nodes.

  • Repeater :
    • The repeater regenerates the signal over the same network as the signal becomes weak or corrupted when sent over a long distance.
    • Layer 1 device - Physical layer
    • Has no memory
    • Half duplex mode
    • Two port (input and output)
  • Hub :
    • Hubs are essentially multi-port repeaters used to setup LANs.
    • Layer 1 device - Physical layer
    • Has no memory
    • Half duplex mode
    • Has muliple ports
    • Supports only broadcasting, thus flooding the network.
  • Bridge :
    • Repeater + Functionality of Reading MAC Address, Used for Interconnecting Two LANs on the Same Protocol.
    • Layer 2 device - Data link layer
    • Has memory - stores MAC address table
    • Full duplex mode
    • Multi-port device
    • Supports unicasting, multicasting and broadcasting.
    • Uses MAC address to communicate.
  • Switch :
    • Used to connect devices together on a network to establish a LAN (switching is deciding the best route for data transmission).
    • Layer 2 device - Data link layer
    • Has memory - stores MAC address table
    • Full duplex mode
    • Multi-port device
    • Supports unicasting, multicasting and broadcasting.
    • Uses MAC address to communicate.
  • Router :
    • Use to connect two or more different LANs using different protocols (forwarding data packets between computer networks).
    • Layer 3 device - Network layer
    • Has memory - stores routing table
    • Full duplex mode
    • Multi-port device
    • Supports unicasting, multicasting and broadcasting.
    • Uses IP address to communicate.

# MAC Address

A MAC (Media Access Control) address is a unique identifier assigned to a network interface controller (NIC) for communication at the data link layer of a network segment.

  • It is called a physical address.
  • It serves as a hardware address that distinguishes one device from another on a local network or physical hardware.
  • The MAC address is a twelve-character hexadecimal number split into two's and separated by a colon. The first six characters represent the vendor/company that made the network interface, and the last six is a unique number.
  • MAC addresses can be faked or spoofed in a process known as spoofing. This spoofing occurs when a networked device pretends to identify another using its MAC address.
  • The Network Interface Card (NIC) Card’s manufacturer provides the MAC address.
Address Resolution Protocol (ARP) :

Address Resolution Protocol (ARP) is a protocol used to map IP addresses to MAC addresses on a local network. This is necessary because while IP addresses are used for routing packets across networks, MAC addresses are needed to deliver the packets to the correct device within a local network.

# IP Address

An Internet Protocol (IP) address is a unique numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.

  • It is called a logical address.
  • It serves two main purposes: identifying the host or network interface and providing the location of the device in the network.
  • It is calculated through a technique known as IP addressing & subnetting.
  • A device's IP address can be changed, but two devices cannot have the same IP address within the same network.
  • The Internet Assigned Numbers Authority (IANA) manages the global pool of unique IP addresses and delegates them to Regional Internet Registries (RIRs), which distribute them to organizations in their regions. Internet Service Providers (ISPs) obtain IP addresses from RIRs and assign them to customers like businesses and home users.
Type of IP Address -
  • IPv4 : Internet Protocol Version 4 (IPv4) is a 32-bit address and written as four decimal numbers separated by dots. The first octet of 127 is reserved for a computer's loopback address. Usally, the address 127.0.0.1 is used. The loopback address provides mechanisms for self-diagnosis and troubleshooting at the machine level. (e.g., 192.168.1.1)
  • IPv6 : Internet Protocol Version 6 (IPv6) is a 128-bit address and written as eight groups of hexadecimal numbers (of 4 digits) separated by colons. ::1 is the local loopback address in IPv6. (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
Categories of IP Address -
  • Public : A public address is used to identify the device on the Internet.
  • Private : A private address is used to identify a device amongst other devices on a local network.

# Port Address

A port address is a logical identifier (numeric value) for a specific process or service used to uniquely identify different communication endpoints in a network.

  • A port allows a single IP address to support multiple simultaneous communications, each using a different port number.
  • In a node, multiple processes are running, and data that is sent or received must reach the right process.
  • Every process in the node is uniquely identified using a port number, which is used to route data packets to the correct destination. This allows a device to distinguish between multiple running processes and applications when communicating.
  • Port numbers are assigned and managed by the Internet Assigned Numbers Authority (IANA).
  • Port numbers range from 0 to 65535.

# DNS

The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like google.com. Web browsers interact through IP addresses. DNS translates domain names to IP addresses so browsers can load Internet resources. DNS servers eliminate the need for humans to memorize IP addresses such as 192.168.1.1 (in IPv4).

  • Domain Name Resolution : When a domain name is entered into a web browser, the device first checks its local DNS cache to see if the corresponding IP address exists. If not, it sends a request to a DNS server.
  • DNS Server Lookup : The device sends a query to a DNS server, provided by the Internet Service Provider (ISP). If the DNS server has the requested information in its cache, it returns the IP address to the device. If not, it queries other DNS servers until it finds the information or determines that it doesn't exist.
  • Response : Once the DNS server has the IP address corresponding to the requested domain name, it sends that information back to the device. The device can then connect to the server hosting the requested website and access the website.
  • Domain Hierarchy : Domain Hierarchy refers to the structure and organization of domain names within the Domain Name System (DNS).

    page.example.com
    • Top-Level Domain (.com)
    • Second-Level Domain (example)
    • Subdomain (page)
  • DNS Records : DNS records are entries in a DNS database that map a domain name to specific data. These records provide information about how the internet should route traffic for a domain, such as how to find a website, where to send emails, and more. Each DNS record has a specific type and serves a unique purpose. DNS records ensure that DNS queries are directed to the correct server based on the domain name.

    Record Types -
    • Address Record (A) : Maps a domain to an IPv4 address.
    • IPv6 Address Record (AAAA) : Maps a domain to an IPv6 address.
    • Canonical Name Record (CNAME) : Aliases one domain name to another.
    • Mail Exchange Record (MX) : Directs email traffic to a mail server for a domain.
    • Name Server Record (NS) : Specifies the authoritative name servers for the domain.
    • Service Record (SRV) : Specifies services available for a domain, including protocol and port number.
    • Pointer Record (PTR) : Maps an IP address to a domain name, typically used for reverse DNS lookups.
    • Text Record (TXT) : Used to store arbitrary text, often for verification purposes (like SPF, DKIM, or other services).

# URL

A URL (or Uniform Resource Locator) is predominantly an instruction on how to access a resource on the internet.

Ex :
http://user:password@example.com:80/view?id=1#task2
  • Scheme (http) : This instructs on what protocol to use for accessing the resource such as HTTP, HTTPS, FTP.
  • User (user:password) : Some services require authentication to log in; put a username and password into the URL to log in.
  • Host (example.com) : The domain name or IP address of the server to access.
  • Port (80) : The port that the client is going to connect to, usually 80 for HTTP and 443 for HTTPS.
  • Path (/view) : The file name or location of the resource that is to be accessed.
  • Query String (/view?id=1) : Extra bits of information that can be sent to the requested path.
  • Fragment (#task2) : This is a reference to a location on the actual page requested.

# OSI Model

The Open Systems Interconnection (OSI) model is a reference model from the International Organization for Standardization (ISO) that provides a common basis for the coordination of standards development for the purpose of systems interconnection. In the OSI reference model, the communications between systems are split into seven different abstraction layers that computer systems use to communicate over a network. The modern Internet is not based on OSI but on the simpler TCP/IP model.

  • Application Layer :

    The application layer is used by end-user software such as web browsers and email clients. It provides protocols that allow software to send and receive information and present meaningful data to users. A few examples of application layer protocols are HTTP, FTP, POP, SMTP, and DNS.

  • Presentation Layer :

    The presentation layer prepares data for the application layer. It defines how two devices should encode, encrypt, and compress data so it is received correctly on the other end. The presentation layer takes any data transmitted by the application layer and prepares it for transmission over the session layer.

  • Session Layer :

    The session layer creates communication channels, called sessions, between devices. It is responsible for opening sessions, ensuring they remain open and functional while data is being transferred, and closing them when communication ends.

  • Transport Layer :

    The transport layer takes data transferred in the session layer and breaks it into “segments” on the transmitting end. It is responsible for reassembling the segments on the receiving end, turning it back into data that can be used by the session layer.

  • Network Layer :

    The network layer has two main functions. One is breaking up segments into network packets, and reassembling the packets on the receiving end. The other is routing packets by discovering the best path across a physical network. The network layer uses network addresses (typically Internet Protocol addresses) to route packets to a destination node.

  • Data Link Layer :

    The data link layer establishes and terminates a connection between two physically-connected nodes on a network. It breaks up packets into frames and sends them from source to destination.

  • Physical Layer :

    The physical layer is responsible for the physical cable or wireless connection between network nodes. It defines the connector, the electrical cable or wireless technology connecting the devices, and is responsible for the transmission of the raw data.

# TCP/IP Model

The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), and the Internet Protocol (IP). The Internet protocol suite provides end-to-end data communication specifying how data should be packetized, addressed, transmitted, routed, and received. This functionality is organized into four abstraction layers, which classify all related protocols according to each protocol's scope of networking.

  • Application Layer :

    The application layer is the top layer and provides applications with standardized data exchange. Its protocols include HTTP, FTP, POP3, SMTP, DNS, DHCP and SNMP. At the application layer, the payload is the actual application data.

  • Transport Layer :

    The transport layer is responsible for maintaining end-to-end communications across the network. TCP handles communications between hosts and provides flow control, multiplexing and reliability. The transport protocols include TCP and UDP.

  • Internet Layer :

    The internet layer, also called the network layer, deals with packets and connects independent networks to transport the packets across network boundaries. The network layer protocols are IP and Internet Control Message Protocol (ICMP), which are used for error reporting.

  • Network Access Layer :

    The network Access layer, also known as the network interface layer or data link layer, consists of protocols that operate only on a link -- the network component that interconnects nodes or hosts in the network. The protocols in this lowest layer include Ethernet for local area networks and Address Resolution Protocol (ARP).

# Protocols

In computer networking, protocols are a set of rules or conventions that govern how data is transmitted between devices on a network.
There are numerous protocols at different layers of the networking stack, such as -

  • Internet Protocol (IP) :

    Fundamental protocol responsible for addressing and routing packets of data so they can travel across networks and reach their intended destinations.

  • Transmission Control Protocol (TCP) :

    TCP is a protocol that operates at a higher level than IP and is responsible for establishing and maintaining connections between devices, ensuring reliable and ordered delivery of data. If data is lost or corrupted during transmission, TCP detects this and retransmits the lost or corrupted packets. TCP is connection-oriented, meaning a connection is established and maintained until the application programs at each end have finished exchanging messages. This connection's establishment and termination involve a handshake process. TCP is used in web browsers (in HTTP), email, file transfer, and instant/realtime messaging.

  • User Datagram Protocol (UDP) :

    UDP is a connectionless protocol, which means it doesn't establish a connection before sending data and doesn't guarantee delivery of packets or the order of packets. Each UDP packet is independent of the others. UDP offers lower latency compared to TCP due to its connectionless nature, no handshake, minimal overhead, and no retransmissions. It is often used for time-sensitive applications where speed is prioritized over reliability. UDP is commonly used in VoIP applications, video streaming, online gaming, DNS, and DHCP.

  • Hypertext Transfer Protocol (HTTP) :

    The HTTP (Hypertext Transfer Protocol) is an application layer protocol used for transferring hypermedia documents, such as HTML files, on the World Wide Web. It is the foundation of data communication on the web, and HTTP uses a client-server model, where clients initiate requests and servers respond with the requested resources. HTTP operates over TCP/IP, which ensures reliable delivery of data packets over networks. The protocol is stateless, meaning each request from a client is independent and not dependent on previous requests.

  • Hypertext Transfer Protocol Secure (HTTPS) :

    HTTPS (Hypertext Transfer Protocol Secure) is an extension of HTTP used for secure communication over a computer network, particularly the internet. It encrypts the data sent and received between a user's browser and the website server, ensuring that the information remains confidential and protected from interception or tampering by unauthorized parties. HTTPS uses SSL/TLS (Secure Sockets Layer/Transport Layer Security) protocols to establish an encrypted connection between the client and the server.

  • Simple Mail Transfer Protocol (SMTP) :

    SMTP, or Simple Mail Transfer Protocol, is a communication protocol used for transmitting electronic mail (email) between computers over a network. It defines how email messages should be formatted and transmitted.

  • File Transfer Protocol (FTP) :

    FTP, or File Transfer Protocol, is a standard network protocol used for transferring files between a client and a server on a computer network. It specifies how files should be transferred and accessed.

  • Secure Shell Protocol (SSH) :

    SSH, or Secure Shell, is a cryptographic network protocol used to securely access and manage remote servers or systems over an unsecured network. It provides a secure channel over which users can perform various tasks, such as logging into remote machines, executing commands, transferring files, managing network services, and tunneling or port forwarding.

  • Dynamic Host Configuration Protocol (DHCP) :

    It is a network management protocol used to automatically assign IP addresses and other network configuration information to devices on a network. DHCP eliminates the need for manual configuration of network settings.

  • Network Time Protocol (NTP) :

    NTP is a protocol used to synchronize the clocks of computers and other devices over a network. It ensures that systems maintain accurate time by synchronizing with a reference time source, typically an atomic clock or GPS time.

  • Ethernet :

    Ethernet is a family of protocols that specify how devices on the same network segment format and transmit data over a physical medium. It is the standard way to connect devices in a wired network using cables and hubs.

  • BitTorrent :

    BitTorrent is a peer-to-peer (P2P) file-sharing protocol that allows users to distribute files efficiently across the internet. Instead of downloading a file from a single source, BitTorrent splits the file into smaller pieces and downloads them simultaneously from multiple sources (peers).

Common Port for Protocols :
Protocol Default Port
FTP 21
SFTP 22
SSH 22
Telnet 23
SMTP 25
SMTP with TLS 587
DNS 53
DNS over TLS (DoT) 853
DHCP Server 67
DHCP Client 68
HTTP 80
HTTPS 443
Kerberos 88
POP3 110
NTP 123
NetBIOS 139
IMAP 143
SNMP 161
LDAP 389
SMB 445
Microsoft SQL Server 1433
Oracle DB 1521
MySQL 3306
RDP 3389
PostgreSQL 5432
VNC 5900

# BitTorrent

BitTorrent is a peer-to-peer (P2P) file-sharing protocol used for distributing large amounts of data over the internet. Instead of downloading a file from a single server, BitTorrent breaks the file into smaller pieces and distributes them across a network of computers (peers) that share parts of the file. These peers download and upload pieces of the file to each other, enabling faster and more efficient transfers. It is used to efficiently share large files, reduce server load, enable faster downloads, and improve scalability and fault tolerance.

Key Concepts :
  • Peers : The individual computers or devices connected to the BitTorrent network that share files with one another.
  • Seeders : Peers that have the complete file and share it with others.
  • Leechers : Peers that are downloading the file but haven’t completed downloading it yet. They usually also upload parts of the file they've downloaded.
  • Torrent File : A small file with the .torrent extension that contains metadata about the files to be shared (such as file names, sizes, and structure) and the addresses of tracker servers.
  • Trackers : Servers that help manage communication between peers. They don’t host the file but help peers find each other to facilitate data sharing.
  • Swarm : The group of all peers (seeders and leechers) sharing a specific file in the BitTorrent network.
  • Pieces and Blocks : Files are divided into smaller pieces, which are further subdivided into blocks. This allows users to download parts of a file from multiple peers simultaneously, making downloads faster and more efficient.

# HTTP Protocol

The HTTP (Hypertext Transfer Protocol) is an application layer protocol used for transferring hypermedia documents, such as HTML files, on the World Wide Web.

HTTP Methods :

HTTP methods are a way for the client to show their intended action when making an HTTP request.

  • GET Request : This is used for getting information from a web server.
  • POST Request : This is used for submitting data to the web server and potentially creating new records.
  • PUT Request : This is used for submitting data to a web server to update information.
  • DELETE Request : This is used for deleting information or records from a web server.
HTTP Status Code :

HTTP status codes are responses provided by a server to indicate the outcome of a client's request to access a particular resource.

Status Code Info
1xx Information Response
2xx Success
3xx Redirection
4xx Client Errors
5xx Server Errors
Common Status Codes :
Status Code Info
200 Ok
201 Created
202 Accepted
301 Moved Permanently
307 Temporary Redirect
308 Permanent Redirect
400 Bad Request
401 Unauthorized
403 Forbidden
404 Page Not Found
405 Method Not Allowed
408 Request Timeout
409 Conflict
500 Internal Service Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
HTTP Headers :

Headers are additional bits of data that are sent to the web server when making requests. Although no headers are strictly required when making an HTTP request, if they are not sent, it is difficult to view a website properly.

  • Common Request Headers :
    • Host : Some web servers host multiple websites, so by providing the host headers, the client instructs the server which one is required; otherwise, it receives the default website for the server.
    • User-Agent : This is the browser software and its version number, which tells the web server which browser is being used, helping it format the website properly for that specific browser. Additionally, some elements of HTML, JavaScript, and CSS are only supported in certain browser versions.
    • Content-Length : When sending data to a web server, such as in a form, the content length tells the web server how much data to expect in the web request. This way, the server can ensure it isn't missing any data.
    • Accept-Encoding : Tells the web server what types of compression methods the browser supports so the data can be made smaller for transmitting over the internet.
    • Cookie : It is data that is sent to the server to help remember users information.
  • Common Response Headers :
    • Set-Cookie : Information to store as cookie, which gets sent back to the web server on each request.
    • Cache-Control : How long should it take to store the content of the response in the browser's cache before it requests it again.
    • Content-Type : This tells the client what type of data is being returned, i.e., HTML, CSS, JavaScript, images, PDF, video, etc. Using the content-type header, the browser then knows how to process the data.
    • Content-Encoding : What method has been used to compress the data to make it smaller when sending it over the internet.
Cookies :

A cookie is a small piece of data that is stored on a user's computer by a web browser. Cookies are set by the "Set-Cookie" header received from a web server. Cookies are used for session management, tracking and analytics, advertising, etc.

# Web Socket

A Web Socket is a communication protocol that provides full-duplex communication and persistent connection channels over a single TCP connection between a client (a web browser) and a server.

  • WebSocket begins with an HTTP handshake that upgrades the connection from HTTP to WebSocket, using the Upgrade header. This allows WebSocket to leverage existing HTTP infrastructure and proxy.
  • Unlike traditional HTTP communication, which is request-response based, Websockets provide full-duplex communication, persistent connections, low latency, bi-directional connectivity, and security.
  • WebSocket provides real-time communication and data transfer.
  • It is used in real-time applications like social media apps, online gaming and live streaming, and collaborative tools like Google Docs.

# SSL/TLS

SSL (Secure Sockets Layer) and TLS (Transport Layer Security) are cryptographic protocols that provide secure communication over a computer network. They are commonly used to ensure data confidentiality, integrity, and authentication between clients (like web browsers) and servers (web servers, email servers, etc.).

  • Encryption: SSL/TLS use cryptographic techniques to encrypt data sent between the client and server. This ensures that even if intercepted, the data is unintelligible without the decryption keys.
  • Authentication: SSL/TLS protocols use digital certificates to authenticate the identity of parties involved in the communication. Certificates are issued by trusted Certificate Authorities (CAs) and verify that the server (and sometimes the client) is who they claim to be.
  • Integrity: SSL/TLS ensure data integrity by using cryptographic hashing algorithms. This prevents data from being altered or corrupted during transmission without detection.
  • TLS is the successor to SSL.
  • TLS has been designed with more robust security features and improvements based on the weaknesses found in SSL.

# Handshake

Handshake is a process of establishing communication between two devices or systems to ensure they are ready to exchange data. It involves the exchange of control messages to agree on connection parameters, protocols, or synchronization details.

Types of Handshakes -
TCP Handshake (Three-Way Handshake) :

The TCP handshake, or three-way handshake, is a process used in the TCP Protocol to establish a reliable connection between a client and a server before data is transmitted. It ensures both parties are synchronized and ready for communication.

  • SYN (Synchronize) : The client sends a SYN message to the server, requesting to establish a connection and specifying an initial sequence number.
  • SYN-ACK (Synchronize-Acknowledge) : The server responds with a SYN-ACK message, acknowledging the client's request and providing its own sequence number.
  • ACK (Acknowledge) : The client sends an ACK message back to the server, confirming receipt of the server's response. The connection is now established.
TLS/SSL Handshake :

The TLS/SSL handshake is a process used to establish a secure, encrypted connection between a client (e.g., a web browser) and a server (e.g., a website). This handshake is a crucial part of the TLS (Transport Layer Security) or SSL (Secure Sockets Layer) protocols, which protect data in transit over a network.

# VPN

VPN, or Virtual Private Network, is a technique used to create a secure and encrypted connection over the internet between two or more devices or networks. VPN works by routing a device's internet connection through a secure, encrypted server that hides the IP address and location. VPNs use encryption and tunneling protocols to ensure that data transmitted over the internet is secure and protected from unauthorized access.

  • VPNs are commonly used in organizations to improve network security and enable remote access to network resources.
  • VPN is used for secure connections, privacy and anonymity (masking IP addresses), access, and bypassing censorship and restrictions.

# Proxy

A proxy or proxy server acts as an intermediary between a client and the server. It forwards client requests to the destination server and returns the server's responses to the client. A proxy provides anonymity, content filtering, caching, and access control. Proxies can block or filter certain content based on predefined rules, policies, or access controls.

  • Proxies typically do not encrypt data between the client and the proxy server, so data transmitted beyond the proxy server may be vulnerable to interception.
  • An example of proxies are content delivery networks (CDNs), which use reverse proxies to distribute content closer to users, reducing latency and improving performance.
Proxy Chain :
  • A proxy chain refers to a series of proxy servers or proxies that are linked together to route network traffic through multiple nodes in order to conceal the origin of the traffic or to bypass restrictions.
  • Each proxy in the chain forwards requests to the next, creating a chain of proxies through which data passes before reaching its destination.
  • It is used for bypassing restrictions, load balancing, and traffic management.
  • In some cases, proxy chains are used to distribute traffic across different servers or to optimize network performance by balancing the load.

# Firewall

A firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. It acts as a barrier between a trusted internal network and untrusted external networks, such as the internet. These rules can be configured to permit or deny traffic based on factors such as IP address, port number, protocol, or specific applications. Firewalls can be hardware devices, software programs, or a combination of both. Firewalls use a variety of techniques to control and monitor network traffic, including packet filtering, stateful inspection, and application-level filtering. It blocks unauthorized access and filters out malicious traffic.

Types of firewall -
  • Network Firewall : A network firewall is a device that protects an entire network from unauthorized access and attacks. Network firewalls can be hardware or software based and are typically installed at the perimeter of a network to block unauthorized access from the internet.
  • Host-based Firewall : A host-based firewall is a firewall that protects an individual computer from unauthorized access and attacks. Host-based firewalls are typically software-based and are installed on individual computers to control access to network resources and block unauthorized traffic.

# TOR

TOR stands for The Onion Router, a free, open-source software that enables anonymous communication over the internet. It is designed to protect users' privacy and security by routing internet traffic through a series of volunteer-operated servers, known as nodes or relays, that encrypt and re-encrypt the data multiple times, making it very difficult to trace back to the original user.

  • Onion routing is the technology behind the TOR (The Onion Router) network, and it is designed to provide anonymous communication over the internet.
  • It works by encrypting data in multiple layers, similar to the layers of an onion, and then routing it through a network of servers (nodes) to ensure that the origin, destination, and contents of the communication are hidden from potential eavesdroppers.
  • This process helps to obscure users' IP addresses, making it difficult for anyone to track their online activities or locate them.
Dark Web :

The dark web is a part of the deep web (the portion of the internet not indexed by search engines) that is intentionally hidden and requires special tools, such as TOR, to access. Websites on the dark web have ".onion" domains, which are only accessible via the Tor browser. These sites are typically not indexed by search engines, providing a higher level of anonymity and privacy. The dark web is known for hosting both legal and illegal content. However, it is also used by individuals seeking privacy, engaging in political activism, practicing journalism, or escaping censorship in authoritarian regimes.