0% found this document useful (0 votes)
56 views17 pages

Lab Record: For Installation of ns2

The document summarizes 6 experiments conducted related to network simulation: 1. Installation and configuration of ns2 and nam network simulation tools. 2. Configuration of a star topology network using ns2 and simulation of TCP and UDP connections. 3. Calculation of latency and throughput for the star topology using an AWK script. 4. Simulation of ping command using ns2 by sending packets between nodes and analyzing the output. 5. Demonstration of IP spoofing using nmap by sending spoofed packets and checking with wireshark. 6. Performance of a DOS attack on a machine using hping3 to flood it with SYN packets.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views17 pages

Lab Record: For Installation of ns2

The document summarizes 6 experiments conducted related to network simulation: 1. Installation and configuration of ns2 and nam network simulation tools. 2. Configuration of a star topology network using ns2 and simulation of TCP and UDP connections. 3. Calculation of latency and throughput for the star topology using an AWK script. 4. Simulation of ping command using ns2 by sending packets between nodes and analyzing the output. 5. Demonstration of IP spoofing using nmap by sending spoofed packets and checking with wireshark. 6. Performance of a DOS attack on a machine using hping3 to flood it with SYN packets.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Lab Record

Experiment #1 : Installation and Configuration of ns2 and nam

Aim : To install and configure ns2 and nam in the system

Commands used:
For installation of ns2

sudo apt install ns2

For installation of nam

sudo apt install nam

Sample Program

Sum of two numbers

set a 2.3
set b 4.7
set add [expr $a + $b]
set msg "Sum: "
puts "$msg $add"

Result: We have successfully installed and configured ns2 and nam.


Experiment #2 : Configuration of topology using ns2

Aim: To configure star topology for TCP and UDP connection using ns2

Procedure:

Simple Star Topology:

Program:

set ns [new Simulator]

set nf [open exp1.nam w]


$ns namtrace-all $nf

proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam exp1.nam &
exit 0
}

set n0 [$ns node]


set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]

$ns duplex-link $n0 $n2 10Mb 10ms DropTail


$ns duplex-link $n1 $n2 10Mb 10ms DropTail
$ns duplex-link $n3 $n2 10Mb 10ms DropTail

$ns duplex-link-op $n0 $n2 orient right-down


$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n3 $n2 orient left

$ns at 5.0 "finish"

$ns run

Output:
Star Topology using TCP

Program:

set ns [new Simulator]

set nf [open exp2.nam w]


$ns namtrace-all $nf

set nt [open exp2.tr w]


$ns trace-all $nt

proc finish {} {
global ns nf nt
$ns flush-trace
close $nf
close $nt
exec nam exp2.nam &
exec awk -f exp2.awk exp2.tr &
exit 0
}

set n0 [$ns node]


set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]

$ns duplex-link $n0 $n2 10Mb 10ms DropTail


$ns duplex-link $n1 $n2 10Mb 10ms DropTail
$ns duplex-link $n3 $n2 10Mb 10ms DropTail

$ns duplex-link-op $n0 $n2 orient right-down


$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n3 $n2 orient left

set tcp [new Agent/TCP]


$tcp set class_ 2
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
$ns connect $tcp $sink

set ftp [new Application/FTP]


$ftp attach-agent $tcp
$ftp set type_ FTP
$ftp set packet_size_ 1000
$ftp set rate_ 1mb

$ns at 1.0 "$ftp start"


$ns at 2.0 "$ftp stop"

$ns at 5.0 "finish"

$ns run

Output
Star Topology using UDP

Program:

set ns [new Simulator]

set nf [open exp2.nam w]


$ns namtrace-all $nf

set nt [open exp2.tr w]


$ns trace-all $nt

proc finish {} {
global ns nf nt
$ns flush-trace
close $nf
close $nt
exec nam exp2.nam &
exec awk -f exp2.awk exp2.tr &
exit 0
}

set n0 [$ns node]


set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
$ns duplex-link $n0 $n2 10Mb 10ms DropTail
$ns duplex-link $n1 $n2 10Mb 10ms DropTail
$ns duplex-link $n3 $n2 10Mb 10ms DropTail

$ns duplex-link-op $n0 $n2 orient right-down


$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n3 $n2 orient left

set udp [new Agent/UDP]


$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n3 $null
$ns connect $usp $null

set cbr [new Application/Traffic/CBR]


$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000
$cbr set rate_ 1mb

$ns at 1.0 "$cbr start"


$ns at 2.0 "$cbr stop"

$ns at 5.0 "finish"

$ns run

Output:
Experiment #3 : Latency and Throughput Calculation

Aim : To calculate the Throughput and Latency of Star Topology using AWK script

Procedure:

Star Topology using TCP

AWK script:

BEGIN{
stime=0
ftime=0
flag=0
fsize=0
throughput=0
latency=0
}
{
if($1=="r"&&$4==3)
{
fsize+=$6
if(flag==0)
{
stime=$2
flag=1
}
ftime=$2
}
}
END{
latency=ftime-stime
throughput=(fsize*8)/latency
printf("\n Latency : %f", latency)
printf("\n Throughput : %f \n",throughput)
}

Output:
Experiment #4 : ping command simulation

Aim : To simulate ping command using ns2 and awk

Procedure:

.tcl file

set ns [new Simulator]

set tf [open lab2.tr w]


$ns trace-all $tf

set nf [open lab2.nam w]


$ns namtrace-all $nf

set n0 [$ns node]


set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]

$n0 color red


$n5 color blue
$n4 color red
$n6 color yellow

$n0 label "Ping0"


$n4 label "Ping4"
$n5 label "Ping5"
$n6 label "Ping6"
$n2 label "Router"

$ns color 1 "red"


$ns color 2 "green"
$n2 shape square

$ns duplex-link $n0 $n2 100Mb 300ms DropTail


$ns duplex-link $n1 $n2 1Mb 300ms DropTail
$ns duplex-link $n3 $n2 1Mb 300ms DropTail
$ns duplex-link $n5 $n2 100Mb 300ms DropTail
$ns duplex-link $n2 $n4 1Mb 300ms DropTail
$ns duplex-link $n2 $n6 1Mb 300ms DropTail

$ns queue-limit $n0 $n2 5


$ns queue-limit $n2 $n4 3
$ns queue-limit $n2 $n6 2
$ns queue-limit $n5 $n2 5
set ping0 [new Agent/Ping]
$ns attach-agent $n0 $ping0
$ping0 set packetSize_ 50000
$ping0 set interval_ 0.0001
set ping4 [new Agent/Ping]
$ns attach-agent $n4 $ping4
set ping5 [new Agent/Ping]
$ns attach-agent $n5 $ping5
$ping5 set packetSize_ 60000
$ping5 set interval_ 0.00001
set ping6 [new Agent/Ping]
$ns attach-agent $n6 $ping6
$ping0 set class_ 1
$ping5 set class_ 2
$ns connect $ping0 $ping4
$ns connect $ping5 $ping6

Agent/Ping instproc recv {from rtt} {


$self instvar node_
puts " The node [$node_ id] received an reply from $from with
round trip time of $rtt"
}

proc finish {} {
global ns nf tf
exec awk -f lab.awk lab.tr &
exec nam lab2.nam &
$ns flush-trace
close $tf
close $nf
exit 0
}

$ns at 0.1 "$ping0 send"


$ns at 0.2 "$ping0 send"
$ns at 0.3 "$ping0 send"
$ns at 0.4 "$ping0 send"
$ns at 0.5 "$ping0 send"
$ns at 0.6 "$ping0 send"
$ns at 0.7 "$ping0 send"
$ns at 0.8 "$ping0 send"
$ns at 0.9 "$ping0 send"
$ns at 1.0 "$ping0 send"
$ns at 1.1 "$ping0 send"
$ns at 1.2 "$ping0 send"
$ns at 1.3 "$ping0 send"
$ns at 1.4 "$ping0 send"
$ns at 1.5 "$ping0 send"
$ns at 1.6 "$ping0 send"
$ns at 1.7 "$ping0 send"
$ns at 1.8 "$ping0 send"
$ns at 0.1 "$ping5 send"
$ns at 0.2 "$ping5 send"
$ns at 0.3 "$ping5 send"
$ns at 0.4 "$ping5 send"
$ns at 0.5 "$ping5 send"
$ns at 0.6 "$ping5 send"
$ns at 0.7 "$ping5 send"
$ns at 0.8 "$ping5 send"
$ns at 0.9 "$ping5 send"
$ns at 1.0 "$ping5 send"
$ns at 1.1 "$ping5 send"
$ns at 1.2 "$ping5 send"
$ns at 1.3 "$ping5 send"
$ns at 1.4 "$ping5 send"
$ns at 1.5 "$ping5 send"
$ns at 1.6 "$ping5 send"
$ns at 1.7 "$ping5 send"
$ns at 1.8 "$ping5 send"
$ns at 5.0 "finish"
$ns run

.awk file
BEGIN {
count=0;
}
{
event=$1;
if(event=="d")
{
count++;
}
}
END {
printf("No of packets dropped : %d\n",count);
}

Output
Experiment #5 : IP Spoofing using nmap

Aim : To spoof the IP address of using nmap

Procedure:

1. First, we need to have two machines for this experiment. We first find out the IP addresses of
both the machines.

MACHINE 1

MACHINE 2
2. In the second machine we open a port using netcat. We use the command

nc lnvp [port-number]

3. We open wireshark and start listening to the traffic coming through.

4. Now we use the nmap to spoof the IP using the below command.

sudo nmap -sS -Pn -D 172.19.125.1 172.19.125.227

where,
-sS – Stealth Scan
-Pn – skip host discovery
-D – decoy scan
We can also mention use a random IP address instead of mentioning it by using the
command -RND.
5. Finally, we check whether the spoofing is done successfully by checking the incoming traffic in
wireshark. We can filter the spoofed ip using the filter.

ip.addr == <spoofed IP address>


Experiment #6 : DOS attack using hping3

Aim: To perform DOS attack on another machine using hping3

Procedure:

1. First, we need to have two machines for this experiment. We first find out the IP addresses of
both the machines.

MACHINE 1

MACHINE 2
2. We install hping3 to our system using

sudo apt install hping3

3. In the second machine we open a port using netcat. We use the command

nc lnvp [port-number]

3. We open wireshark and start listening to the traffic coming through.

4. In the first machine we give the following command,

sudo hping3 -S --flood -V -p 12345 172.19.125.227

where
-S: specifies SYN packets.
• –flood: replies will be ignored and packets will be sent as fast as possible.
• -V: Verbosity.
• -p <portnumber>: port number

5. In the second machine, in wireshark we will see the flooded SYN packets. We can filter this
using the command

ip.addr == <ip address of attacking machine> && tcp.flags.syn

You might also like