Java Network Traffic Generator: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 7: Line 7:


* [[Linux_7_Multicast_Configuration#Testing|Linux Multicast Configuration]]
* [[Linux_7_Multicast_Configuration#Testing|Linux Multicast Configuration]]
* [[java Networking]]


=Overview=
=Overview=
Line 19: Line 20:


==Global Arguments==
==Global Arguments==


<pre>
<pre>
Line 33: Line 33:
Display verbose information about the network operation in process.
Display verbose information about the network operation in process.


Any -D system properties are propagated verbatim to the JVM:
<pre>
./bin/send -Djava.net.preferIPv4Stack=true ...
</pre>


==Common Arguments==
==Common Arguments==
Line 41: Line 46:
--interface=<interface-name>|<address>
--interface=<interface-name>|<address>
</pre>
</pre>
The network interface name is one of those returned by <tt>ip addr</tt>, or by <tt>./info</tt>. An IP address can also be used.


Example:
Example:
Line 51: Line 58:
--interface=172.20.1.11
--interface=172.20.1.11
</pre>
</pre>
====--address====
====--port====
====--local-address====


====--local-port====
====--local-port====
Line 56: Line 69:
Forces the local port.
Forces the local port.


Listen for multicast:
The network interface name is one of those returned by <tt>ip addr</tt>.
 
==Payload==
 
<tt>send</tt> accepts a payload argument.
 
==Usage Examples==
 
===Sending/Receiving Multicast on Mac===
 
Listening:


<pre>
<pre>
java -jar multicast.jar listen <network-interface-name> <multicast-address>:<port>
./bin/ntg receive -v -Djava.net.preferIPv4Stack=true --protocol=multicast --address=225.5.5.5:5555
</pre>
</pre>


The network interface name is one of those returned by <tt>ip addr</tt>.
Sending:
 
Send multicast:


<pre>
<pre>
java -jar multicast.jar send <network-interface-name> <multicast-address>:<port>
./bin/ntg send -v -Djava.net.preferIPv4Stack=true --protocol=multicast --address=225.5.5.5:5555 sometext
</pre>
</pre>
The network interface name is one of those returned by <tt>ip addr</tt>.

Latest revision as of 22:10, 13 July 2017

External

Internal

Overview

A Java program sends multicast socket using DatagramSocket and listens for multicast traffic with MulticastSocket.

GitHub

https://github.com/NovaOrdis/playground/tree/master/java/network/network-traffic

User Manual

Global Arguments

-d

Start in debug mode.

-v

Display verbose information about the network operation in process.

Any -D system properties are propagated verbatim to the JVM:

./bin/send -Djava.net.preferIPv4Stack=true ...

Common Arguments

--interface

--interface=<interface-name>|<address>

The network interface name is one of those returned by ip addr, or by ./info. An IP address can also be used.

Example:

--interface=eth0
--interface=172.20.1.11

--address

--port

--local-address

--local-port

Forces the local port.

The network interface name is one of those returned by ip addr.

Payload

send accepts a payload argument.

Usage Examples

Sending/Receiving Multicast on Mac

Listening:

./bin/ntg receive -v -Djava.net.preferIPv4Stack=true --protocol=multicast --address=225.5.5.5:5555

Sending:

./bin/ntg send -v -Djava.net.preferIPv4Stack=true --protocol=multicast --address=225.5.5.5:5555 sometext