[ns] Implementing malicious behaviour in ad-hoc nodes

Paul Kiddie PDK140 at bham.ac.uk
Thu Jun 15 07:49:23 PDT 2006


Hi all,

I want to be able to inspect and alter packets generated from a particular ad hoc routing protocol, like AODV, and also be able to interact with the routing agent for a malicious library I'm thinking of implementing for the simulation of the effect of malicious activity on large ad-hoc networks. I'm just wondering if anyone can give me advice on the best way of going about this - I've designed a new 'Behaviour' class: each routing agent has a Behaviour object attached onto them but Im just wondering how I would go about implementing certain attacks, for example a RREQ flood attack. I could set a variable in the Behaviour object within the node itself, and get the AODV code to read whether a variable, like 'toFlood' in the Behaviour class is set to true or false to queue up RREQ's for each time slot, but Im not sure whether this is the most efficient way of doing things. Especially when you consider other attacks, for example altering routing packets as they go through a particular node, I'd really like to be able to alter them on the fly, by reading a packet, getting its type (i.e. RREQ) and altering it's contents! Certain attacks are easily implemented with the current Behaviour class, like dropping RREQs, we simply get the AODV routing agent to read the Behaviour 'isDropping' variable, and if its true then we simply return out of the 'send' procedure without forwarding, but this means the code is dependant on the actual routing protocol in use and I would really like to make it as independent as possible!

Any help/feedback would be really appreciated!
Many Thanks


Paul Kiddie
1st Year PhD Electronic & Electrical Engineering
School of Electronic, Electrical & Computer Engineering, 
University Of Birmingham, 
Edgbaston, 
Birmingham, 
B15 2TT

-----Original Message-----
From: ns-users-bounces at ISI.EDU [mailto:ns-users-bounces at ISI.EDU] On Behalf Of ns-users-request at ISI.EDU
Sent: 15 June 2006 01:00
To: ns-users at ISI.EDU
Subject: Ns-users Digest, Vol 30, Issue 15

Send Ns-users mailing list submissions to
	ns-users at isi.edu

To subscribe or unsubscribe via the World Wide Web, visit
	http://mailman.isi.edu/mailman/listinfo/ns-users
or, via email, send a message with subject or body 'help' to
	ns-users-request at isi.edu

You can reach the person managing the list at
	ns-users-owner at isi.edu

When replying, please edit your Subject line so it is more specific than "Re: Contents of Ns-users digest..."


Today's Topics:

   1.  EURANE - handover ? (Anoop Ramamurthy)
   2. Re: help (lakshmi muddana)
   3. Re: persons well-versed in ns-2 (lakshmi muddana)
   4. simple-wireless.tcl is not running on ns2.28 (Srirupa  Dasgupta)
   5. simple-wireless.tcl is not running on ns2.28 (Srirupa  Dasgupta)
   6. what's "scaling factor" in inet (Htira Walid)
   7.  termination of transmission (erhan gülhan)
   8.  termination of transmission (erhan gülhan)
   9. jitter in a new MANET routing protocol (Alexandra Cioroianu)
  10. Re: jitter in a new MANET routing protocol (Francisco J. Ros)
  11. Re: simple-wireless.tcl is not running on ns2.28
      (Pedro Vale Estrela)
  12. Problem with emulation (paolomj at libero.it)
  13. Re: Clearing a queue at a node in ns-2 (Pedro Vale Estrela)


----------------------------------------------------------------------

Message: 1
Date: Wed, 14 Jun 2006 08:59:41 +0530
From: Anoop Ramamurthy <Anoop.Ramamurthy at lntinfotech.com>
Subject: [ns]  EURANE - handover ?
To: ns-users at ISI.EDU
Message-ID:
	<OFA67F98F3.DC4B8C51-ON6525718D.0012C594-6525718D.00133275 at lntinfotech.com>
	
Content-Type: text/plain; charset="US-ASCII"

Hi ppl ,

Its mentioned that eurane doesnt support handover functionality. 
I still want to know if there are some ways to simulate handover scenario in umts ? 

______________________________________________________________________

------------------------------

Message: 2
Date: Wed, 14 Jun 2006 07:51:12 +0100 (BST)
From: lakshmi muddana <lakshmi_muddana at yahoo.co.in>
Subject: Re: [ns] help
To: ns-users at ISI.EDU
Message-ID: <20060614065113.29166.qmail at web8705.mail.in.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1

dear all,

  somebody kindly help me to add the new protocol PING given in the tutorial.
  problem faced is : 
            after creating ping.h & ping.cc and nessary changes
           when given "make " at prompt, it says no destinations.



Send instant messages to your online friends http://in.messenger.yahoo.com <br><br> Stay connected with your friends even when away from PC.  Link: http://in.mobile.yahoo.com/new/messenger/  



------------------------------

Message: 3
Date: Wed, 14 Jun 2006 08:06:18 +0100 (BST)
From: lakshmi muddana <lakshmi_muddana at yahoo.co.in>
Subject: Re: [ns] persons well-versed in ns-2
To: ns-users at ISI.EDU
Message-ID: <20060614070618.36026.qmail at web8705.mail.in.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1

dear all,

   i would like to know the persons well-versed in
ns-2 in Andhra Pradesh.

Send instant messages to your online friends http://in.messenger.yahoo.com <br><br> Stay connected with your friends even when away from PC.  Link: http://in.mobile.yahoo.com/new/messenger/  



------------------------------

Message: 4
Date: 14 Jun 2006 07:15:38 -0000
From: "Srirupa  Dasgupta" <srirupadasgupta at rediffmail.com>
Subject: [ns] simple-wireless.tcl is not running on ns2.28
To: ns-users at ISI.EDU
Message-ID: <20060614071538.3107.qmail at webmail26.rediffmail.com>
Content-Type: text/plain;	charset=iso-8859-1

  


Dear friend,
please help me to run wireless scripts on ns2 .
i am typing the following command:
ns simple-wireless.tcl
the error messafe that i am getting is as follows:
num_nodes is set 3
warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl INITIALIZE THE LIST xListHead Loading connection pattern...
couldn't read file "../mobility/scene/cbr-3-test": no such file or directory
    while executing
"source.orig ../mobility/scene/cbr-3-test"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig [list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] { set buffer [$instance_ read_url $fileName] uplevel eval $buffer } else { uplevel source.orig [list $fileName] ..."
    (procedure "source" line 8)
    invoked from within
"source $val(cp)"
    (file "wireless1.tcl" line 121)
what is this?
please help

------------------------------

Message: 5
Date: 14 Jun 2006 07:22:41 -0000
From: "Srirupa  Dasgupta" <srirupadasgupta at rediffmail.com>
Subject: [ns] simple-wireless.tcl is not running on ns2.28
To: ns-users at ISI.EDU
Message-ID: <20060614072241.31085.qmail at webmail34.rediffmail.com>
Content-Type: text/plain;	charset=iso-8859-1

  


Dear friend,
please help me to run wireless scripts on ns2 .
i am typing the following command:
ns simple-wireless.tcl
the error messafe that i am getting is as follows:
num_nodes is set 3
warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl INITIALIZE THE LIST xListHead Loading connection pattern...
couldn't read file "../mobility/scene/cbr-3-test": no such file or directory
    while executing
"source.orig ../mobility/scene/cbr-3-test"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig [list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] { set buffer [$instance_ read_url $fileName] uplevel eval $buffer } else { uplevel source.orig [list $fileName] ..."
    (procedure "source" line 8)
    invoked from within
"source $val(cp)"
    (file "wireless1.tcl" line 121)
what is this?
please help

------------------------------

Message: 6
Date: Wed, 14 Jun 2006 02:48:12 -0500
From: "Htira Walid" <htira at lycos.com>
Subject: [ns] what's "scaling factor" in inet
To: ns-users at ISI.EDU
Message-ID: <20060614074812.EF672CA0C0 at ws7-4.us4.outblaze.com>
Content-Type: text/plain; charset="iso-8859-15"

Hello,
I'm a beginner with ns.
Please, Can someone explain to me the concept of scaling factor in inet tool?
Thanks a lot.



--
_______________________________________________

Search for businesses by name, location, or phone number.  -Lycos Yellow Pages

http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10



------------------------------

Message: 7
Date: Wed, 14 Jun 2006 09:44:39 +0000
From: "erhan gülhan" <erhn_gulhan at hotmail.com>
Subject: [ns]  termination of transmission
To: ns-users at ISI.EDU
Message-ID: <BAY115-F5BA086BD57640E86A22C9988D0 at phx.gbl>
Content-Type: text/plain; format=flowed

Hi!
I want to terminate the transmission after finishing sending some quantity of data .

In my tcl program termination of transmission like:
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n2 $sink"
$ns at 5.0 "finish"

Naturally program finishes at every 4.5 second.
However i want to terminate the transmission , rexample after 10 Mb data transmission.
What can I do for it.

I'm  waiting your respond .

Regards.

Erhan

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/



------------------------------

Message: 8
Date: Wed, 14 Jun 2006 09:45:33 +0000
From: "erhan gülhan" <erhn_gulhan at hotmail.com>
Subject: [ns]  termination of transmission
To: ns-users at ISI.EDU
Message-ID: <BAY115-F1338567235BB9F7171AA82988D0 at phx.gbl>
Content-Type: text/plain; format=flowed

Hi!
I want to terminate the transmission after finishing sending some quantity of data .

In my tcl program termination of transmission like:
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n2 $sink"
$ns at 5.0 "finish"

Naturally program finishes at every 4.5 second.
However i want to terminate the transmission , rexample after 10 Mb data transmission.
What can I do for it.

I'm  waiting your respond .

Regards.

Erhan

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



------------------------------

Message: 9
Date: Wed, 14 Jun 2006 03:54:02 -0700 (PDT)
From: Alexandra Cioroianu <adutza2k3 at yahoo.com>
Subject: [ns] jitter in a new MANET routing protocol
To: ns-users at ISI.EDU
Message-ID: <20060614105402.20127.qmail at web53804.mail.yahoo.com>
Content-Type: text/plain; charset=iso-8859-1

Hello everybody!
 I'm working with ns-2.29 on Mandriva 2006 and i'm working on a new protocol implementation, following the tutorial "Implementing a New Manet Unicast Routing Protocol in NS2" by Francisco Ros and Pedro Ruiz. 
 At the paragraph 4.3.5 it shows the implementation of send_protoname_pkt() function and it shows how to send a packet introducing some jitter. My question is: why do they introduce jitter? Is it absolutely necessary? Could the packet be sent without jitter and how? I know that jitter is the variation in time between packets ariving..... isn't it more efficient to send packets at a constant interval?
 Please someone explain this to me, it is VERY IMPORTANT. Thank you in advance!
 Regards, Alexandra
 


Alexandra Cioroianu

 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around http://mail.yahoo.com 

------------------------------

Message: 10
Date: Wed, 14 Jun 2006 13:33:13 +0200
From: "Francisco J. Ros" <fjrm at dif.um.es>
Subject: Re: [ns] jitter in a new MANET routing protocol
To: ns-users at ISI.EDU
Message-ID: <200606141333.13544.fjrm at dif.um.es>
Content-Type: text/plain;  charset="iso-8859-1"

Hello,

On Wednesday 14 June 2006 12:54, Alexandra Cioroianu wrote:
> Hello everybody!
>  I'm working with ns-2.29 on Mandriva 2006 and i'm working on a new 
> protocol implementation, following the tutorial "Implementing a New 
> Manet Unicast Routing Protocol in NS2" by Francisco Ros and Pedro 
> Ruiz. At the paragraph 4.3.5 it shows the implementation of 
> send_protoname_pkt() function and it shows how to send a packet 
> introducing some jitter. My question is: why do they introduce jitter?
>
Periodic messages sent by neighbors are likely to get synchronized and therefore the collision probability increases. Introducing a small random jitter reduces that probability.

> Is it absolutely necessary?
>
Not at all.

> Could the packet be sent without jitter and how?
>
Of course, just put 0.0 instead of JITTER when scheduling the sending of the packet.

Regards,
fran

> I know that jitter is the
> variation in time between packets ariving..... isn't it more efficient 
> to send packets at a constant interval? Please someone explain this to 
> me, it is VERY IMPORTANT. Thank you in advance! Regards, Alexandra
>
>
>
> Alexandra Cioroianu
>
>  __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com



------------------------------

Message: 11
Date: Wed, 14 Jun 2006 14:10:07 +0100
From: "Pedro Vale Estrela" <pedro.estrela at gmail.com>
Subject: Re: [ns] simple-wireless.tcl is not running on ns2.28
To: "'Srirupa  Dasgupta'" <srirupadasgupta at rediffmail.com>,
	<ns-users at ISI.EDU>
Message-ID: <015601c68fb3$dbe87380$172914ac at Estrela>
Content-Type: text/plain;	charset="US-ASCII"


Search for the /mobility/scene direcotories in your NS2 tree, and put the example alosnside it, eg:

Snenario files in /ns2/tcl/ex/mobility/scene Put the script in /ns2/tcl/ex/mydir/

Pedro Vale Estrela

> -----Original Message-----
> From: ns-users-bounces at ISI.EDU [mailto:ns-users-bounces at ISI.EDU] On 
> Behalf Of Srirupa Dasgupta
> Sent: quarta-feira, 14 de Junho de 2006 8:23
> To: ns-users at ISI.EDU
> Subject: [ns] simple-wireless.tcl is not running on ns2.28
> 
> 
> 
> 
> 
> Dear friend,
> please help me to run wireless scripts on ns2 .
> i am typing the following command:
> ns simple-wireless.tcl
> the error messafe that i am getting is as follows:
> num_nodes is set 3
> warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl 
> INITIALIZE THE LIST xListHead Loading connection pattern...
> couldn't read file "../mobility/scene/cbr-3-test": no such file or 
> directory
>     while executing
> "source.orig ../mobility/scene/cbr-3-test"
>     ("uplevel" body line 1)
>     invoked from within
> "uplevel source.orig [list $fileName]"
>     invoked from within
> "if [$instance_ is_http_url $fileName] { set buffer [$instance_ 
> read_url $fileName] uplevel eval $buffer } else { uplevel source.orig 
> [list $fileName] ..."
>     (procedure "source" line 8)
>     invoked from within
> "source $val(cp)"
>     (file "wireless1.tcl" line 121)
> what is this?
> please help



------------------------------

Message: 12
Date: Wed, 14 Jun 2006 18:23:27 +0200
From: "paolomj\@libero\.it" <paolomj at libero.it>
Subject: [ns] Problem with emulation
To: "ns-users" <ns-users at ISI.EDU>
Message-ID: <J0UYV3$9CB1DB5D926B924148DB12454BF91872 at libero.it>
Content-Type: text/plain; charset=iso-8859-1

Hi list!

I'm having some problems using the emulation examples.
I try to use ns-2 as a forwarder: real host A send a ping to real host B, passing through the simulator, C. After adding the correct route to A and B to use C as a gateway, I use this script (because the one with ns-2 doesn't work at all)

# Inside the simulator
#
# node(5)
# / \
# / \
# node(2) node(1)


set ns [new Simulator]
$ns use-scheduler RealTime

set f [open out.tr w]
$ns trace-all $f
set nf [open out.nam w]
$ns namtrace-all $nf

# Create the nodes
set n1 [$ns node]; #reading from real network set n2 [$ns node]; #writing to the real network set n5 [$ns node]; #nothing important


# Configure the entry node
set bpf1 [new Network/Pcap/Live]; # Create the bpf set dev1 [$bpf1 open readonly eth0]; # Open the device
$bpf1 filter "icmp and host 192.168.0.3";# put the filter set tap1 [new Agent/Tap]; # Create the Tap Agent
$tap1 network $bpf1; # Connect bpf to Tap Agent $ns attach-agent $n1 $tap1; # Attach Tap Agent to the node(1)

# Configure the exit node
set ipnet [new Network/IP]; # Create a Network agent $ipnet open writeonly set tap2 [new Agent/Tap]; # Create a Tap Agent
$tap2 network $ipnet; # Connect network agent to tap agent $ns attach-agent $n2 $tap2; # Attach agent to the node.


# Connect the agents.
$ns simplex-connect $tap1 $tap2

#Just for debug
puts "tap1: $tap1"
puts "tap2: $tap2"


puts "Node1: $n1"
puts "Node2: $n2"
puts "Node5: $n5"

puts "bpf1: $bpf1"
puts "ipnet: $ipnet"


# Setup connections between the nodes
$ns simplex-link $n1 $n2 10Mb 5ms DropTail $ns simplex-link $n5 $n2 10Mb 5ms DropTail


$ns at 10 "finish"

proc finish {} {
global ns f nf
$ns flush-trace
close $f
close $nf
exit 0
}

$ns run


If I run this script, the packets are forwarded, but the simulator begins to create a very big traffic of dup packet:
...
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
TapAgent(_o24): sent packet (sz: 60)
4.835407: Tap(_o21): recvpkt, cc:60
4.835407: Tap(_o21): recvpkt, writing to target: _o13
4.835578: Tap(_o21): recvpkt, cc:60
4.835578: Tap(_o21): recvpkt, writing to target: _o13
4.835698: Tap(_o21): recvpkt, cc:60
4.835698: Tap(_o21): recvpkt, writing to target: _o13
4.835807: Tap(_o21): recvpkt, cc:60
4.835807: Tap(_o21): recvpkt, writing to target: _o13
4.835976: Tap(_o21): recvpkt, cc:60
4.835976: Tap(_o21): recvpkt, writing to target: _o13
4.836086: Tap(_o21): recvpkt, cc:60
...

I really don't understand why. And if I use IPTap for the 2 tap I get:

IPTapAgent(_o21): sendpkt called while in read-only mode!
0.770541: IPTapAgent(_o21): recvpkt, cc:1

Thank you very much for any idea/suggestion/tip.

Paolo Carpo

P.S. Sorry for the poor english



------------------------------

Message: 13
Date: Wed, 14 Jun 2006 17:37:02 +0100
From: "Pedro Vale Estrela" <pedro.estrela at gmail.com>
Subject: Re: [ns] Clearing a queue at a node in ns-2
To: <smythek at u.washington.edu>
Cc: ns-users at ISI.EDU
Message-ID: <016c01c68fd0$c3dc92e0$172914ac at Estrela>
Content-Type: text/plain;	charset="US-ASCII"



> But this doesn't work.  Uptarget_ gives me an NsObject instead of a LL 
> object...
try casting it to an c++ LL object. Mind that this will only be a quick fix to see if it works - its terrible programming !


Pedro Vale Estrela





> -----Original Message-----
> From: smythek at u.washington.edu [mailto:smythek at u.washington.edu]
> Sent: sexta-feira, 9 de Junho de 2006 23:33
> To: Pedro Vale Estrela
> Cc: ns-users at ISI.EDU
> Subject: RE: [ns] Clearing a queue at a node in ns-2
> 
> Whoah, that is too complicated for me.   I don't know ns-2 very well.
> What do you mean by:
> "make a pointer to the ITF" -- doesn't it have a pointer (uptarget_)?
> According to the diagram on pg 145 I should do uptarget_ 
> ->downtarget_-
> >reset()
> since
> uptarget will take me to the LL, downtarget will take me to the IFq, 
> and reset will reset the queue for that node.
> 
> But this doesn't work.  Uptarget_ gives me an NsObject instead of a LL 
> object...
> 
> 
> 
> On Fri, 9 Jun 2006, Pedro Vale Estrela wrote:
> 
> >
> > Yes,
> >
> > http://www.isi.edu/nsnam/ns/doc/ns_doc.pdf
> > pag 145,
> >
> > - at your C++ MAC module, make a pointer to the ITF;
> > 	- either search the C++ NODE methods for getting the pointer 
> > reference you need (you want the reverse of the downtarget_ on the 
> > ITF;
> for
> > making this, search the code that sets the downtarget_ variable in 
> > C++
> in
> > the ITF; (tip: use DDD, put a breakpoint somewhere in mobilenode.cc) 
> > in that moment, set something like:
> >  downtarget_->my_ITF_ = this;
> >
> > - then at the appropriate time, call reset() of it.
> >    my_ITF->reset();
> >
> > Of course that this is not good C++ Object-Orientation practices, 
> > but
> use it
> > to simply try your ideia; if it works nice, then make the same thing
> with
> > provte variables and public set/get methods.
> >
> >
> > You can also perform the same trick by:
> >   Calling TCL / searching the ITF object you want based on the 
> > current
> MAC
> > object / call reset of it. The benefit is that you can fine tune 
> > this
> method
> > without recompiling NS2 each time.
> >
> >
> > If this works, please put this on the NS2 WIKI!
> > Pedro Vale Estrela
> >
> >
> >> Hi ns,
> >>
> >> I'd like to clear a node's queue from the mac-layer in my 
> >> simulation
> after
> >> I've received a certain packet.  Can I call a PacketQueue function 
> >> like "reset()" from the mac layer?  If not, how would I clear the queue?
> >>
> >> Thanks!
> >>
> >> Kathy
> >>
> >>
> >>
> >
> >
> >
> 




------------------------------

_______________________________________________
Ns-users mailing list
Ns-users at isi.edu
http://mailman.isi.edu/mailman/listinfo/ns-users


End of Ns-users Digest, Vol 30, Issue 15
****************************************



More information about the Ns-users mailing list