Skip to content

Latest commit

 

History

552 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RobiNet

RobiNet is a simple but flexible network simulator. A mix of Scapy (for the simple packet manipulation), a packet generator à la Spirent's Avalanche, aimed at whole network simulation.

Written in OCaml so that, if it's not as feature-full as Scapy it won't at least be as slow. Performance wise, the goal is in the hundreds of routers/hosts.

Usage

  1. Using the WEB UI:

Run robinet --admin and open the URL that will be displayed.

Exemple with the examples/two-continents.json example topology:

Screenshot

  1. Using the REPL:
# let itf = Pcap.openif "wlp59s0";;
val itf : Pcap.iface_handler =
  {Pcap.pcap = <abstr>; name = "wlp59s0"; caplen = 1500}
# let pkt = Pcap.sniff itf;;
val pkt : Pcap.Pdu.t =
  {Pcap.Pdu.source_name = "wlp59s0"; caplen = 94; wirelen = 94; dlt = 1l;
   ts = 1790069808.47518492; payload = <abstr>}
# Packet.Pdu.unpack pkt;;
- : Packet.Pdu.layer list =
[Packet.Pdu.Pcap
  {Pcap.Pdu.source_name = "wlp59s0"; caplen = 94; wirelen = 94; dlt = 1l;
   ts = 1790069808.47518492; payload = <abstr>};
 Packet.Pdu.Eth
  {Eth.Pdu.src = <abstr>; dst = <abstr>; proto = 34525; payload = <abstr>};
 Packet.Pdu.Ip6
  {Ip6.Pdu.ttl = 255; proto = 58; diff_serv = 0; ecn = 0; flow_label = 0;
   src = <abstr>; dst = <abstr>; payload = <abstr>};
 Packet.Pdu.Raw <abstr>]
  1. Using the library:

See examples.

  1. Using the API:

See the doc.

  1. Using a file:

Description of a simulation can be written in a JSON file. See the doc, and the examples such as this one.

About

Toy Network Simulator

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages