Ns3 Projects for B.E/B.Tech M.E/M.Tech PhD Scholars.  Phone-Number:9790238391   E-mail: ns3simulation@gmail.com

How to Implement ping sweep attack in ns3

To implement ping sweep attack in ns3, we need to simulate multiple nodes and send ICMP packets from one node (the attacker) to other nodes in the network. By using ICMP Echo Request packets (ping) that sent to a range of IP addresses. It helps in determining the hosts that are active.

The given below steps will provide the instruction to implement ping sweep attack in ns3.

Step-by-Step Guide to Implement tutorials point routing in ns3:

  1. Set Up ns-3 Environment:
    • Make sure ns3 is installed on the system.
    • Install necessary dependencies.
  2. Create a New ns-3 Script:
    • Create a new script file in the scratch directory of ns3, e.g., ping_sweep_attack.cc.
  3. Include Necessary Headers:
    • Include the necessary ns3 headers in your script.
  4. Define Network Topology:
    • By using multiple nodes and one attacker node set up a network topology.
  5. Implement Ping Sweep Logic:
    • Use ICMP Echo Request to implement the ping sweep from the attacker node.
  6. Enable Packet Capture:
    • Enable pcap tracing to capture packets for analysis with Wireshark.
  7. Run the Simulation:
    • Set the simulation time and run the simulation using Simulator::Run() and Simulator::Destroy().

Here is a basic example to illustrate the steps:

#include “ns3/core-module.h”

#include “ns3/network-module.h”

#include “ns3/internet-module.h”

#include “ns3/point-to-point-module.h”

#include “ns3/applications-module.h”

#include “ns3/icmpv4-l4-protocol.h”

#include “ns3/ipv4-raw-socket-factory.h”

using namespace ns3;

NS_LOG_COMPONENT_DEFINE (“PingSweepAttack”);

void SendPing (Ptr<Node> source, Ipv4Address destination) {

Ptr<Socket> socket = Socket::CreateSocket (source, Ipv4RawSocketFactory::GetTypeId ());

socket->SetAttribute (“Protocol”, UintegerValue (1)); // ICMP protocol number

Ptr<Packet> packet = Create<Packet> (100); // Create a packet of 100 bytes

Icmpv4Echo echo;

echo.SetSequenceNumber (1);

echo.SetIdentifier (1);

packet->AddHeader (echo);

Ipv4Header ipHeader;

ipHeader.SetDestination (destination);

ipHeader.SetProtocol (1); // ICMP

packet->AddHeader (ipHeader);

socket->Send (packet);

}

 

int main (int argc, char *argv[]) {

// Set up logging

LogComponentEnable (“PingSweepAttack”, LOG_LEVEL_INFO);

// Create nodes

NodeContainer nodes;

nodes.Create (10); // Create 10 nodes

// Create point-to-point links

PointToPointHelper pointToPoint;

pointToPoint.SetDeviceAttribute (“DataRate”, StringValue (“5Mbps”));

pointToPoint.SetChannelAttribute (“Delay”, StringValue (“2ms”));

NetDeviceContainer devices;

for (uint32_t i = 0; i < nodes.GetN () – 1; ++i) {

devices.Add (pointToPoint.Install (nodes.Get (i), nodes.Get (i + 1)));

}

// Install the internet stack

InternetStackHelper stack;

stack.Install (nodes);

// Assign IP addresses

Ipv4AddressHelper address;

address.SetBase (“10.1.1.0”, “255.255.255.0”);

Ipv4InterfaceContainer interfaces = address.Assign (devices);

// Enable packet capture

pointToPoint.EnablePcapAll (“ping_sweep_attack”);

// Schedule ping sweep attack

for (uint32_t i = 1; i < nodes.GetN (); ++i) {

Simulator::Schedule (Seconds (i), &SendPing, nodes.Get (0), interfaces.GetAddress (i));

}

// Run simulation

Simulator::Run ();

Simulator::Destroy ();

return 0;

}

Explanation:

  1. Nodes and Links:
    • Created 10 nodes with point-to-point links between them.
    • Configured the network topology.
  2. Applications:
    • Used ICMP to send Echo Request packets from the first node (attacker) to all other nodes in the network.
  3. Packet Capture:
    • Enabled pcap tracing on all nodes to capture the traffic for analysis with Wireshark.
  4. Ping Sweep Logic:
    • Implemented a SendPing function to send ICMP Echo Request packets.
    • Scheduled the ping sweep attack to sequentially send ICMP packets to each node.
  5. Running the Simulation:
    • The simulation runs, sending ICMP Echo Request packets from the attacker node to all other nodes, and captures the traffic in pcap files.

At last, we had learnt that ping sweep attack sends ICMP echo request packets to a range of IP addresses which analyse the active hosts for simulating multiple nodes from one node to other node in active host.

By using ICMP Echo Request packets (ping) we share project guidance and grant programming guidance as per your concepts.