Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BITTWIST(1)		    General Commands Manual		   BITTWIST(1)

NAME
       bittwist	-- pcap	based ethernet packet generator

SYNOPSIS
       bittwist	[ -djvh	] [ -i interface ] [ -s	len ] [	-l loop	]
		[ -c count ] [ -p pps ]	[ -r rate ] [ -t gap ]
		pcap-file(s)

DESCRIPTION
       This  document describes	the bittwist program, the pcap(3) based	Ether-
       net packet generator. Bittwist is designed to work  under  Ethernet  II
       (IEEE 802.3) network with an MTU	of up to 1500 bytes on 10Mbps (10Base-
       T),  100Mbps  (100BASE-TX),  1Gbps  (1000BASE-T), or 10Gbps (10GBASE-T)
       link speed. Packets are generated from saved  tcpdump(1)	 capture  file
       referred	 to as trace file in this document. Some familiarity with tcp-
       dump(1) and its basic options are assumed in this document. Since  bit-
       twist uses functions provided by	pcap(3)	library, e.g. pcap_open_live()
       and  pcap_sendpacket(),	to  write packets onto the network, it may re-
       quire that you have special privileges, e.g. read access	 to  /dev/bpf*
       on  BSD	or  root  access on Linux, to generate packets or to enumerate
       network devices with, for example, the -d flag.

       Bittwist	will, if not run with the -s flag, inject each	packet	up  to
       its actual length (on-wire) instead of its captured length. If the cap-
       tured  length  is  less	than  the actual length, bittwist will pad the
       packet with zeros up to its actual length prior to injection.  Bittwist
       will,  if  not  run  with the -p, -r, or	-t flag, inject	packets	from a
       trace file based	on the captured	intervals, in  particular,  the	 time-
       stamp  difference  between  two	adjacent packets, except for the first
       packet in a trace file, which is	always injected	immediately.  Bittwist
       is  designed to not to interfere	with the packet	data; it merely	read a
       packet and inject it as is onto the network. If modification is desired
       prior to	injection of a packet, you can use the	bittwiste(1)  program,
       which does just that.

OPTIONS
       -d     Print a list of network interfaces available.

       -j     Enable jumbo frame with an MTU of	up to 9000 bytes. Specify this
	      flag  if	you  wish to send packets with length greater than the
	      typical MTU of 1500 bytes.

       -v     Print timestamp for each packet.

       -vv    Print timestamp and hex data for each packet.

       -i interface
	      Send pcap-file(s)	out onto the network through interface.

       -s len Packet length to send (in	bytes).	Set len	to:

	       0 : Send	the actual packet length. This is the default.
	      -1 : Send	the captured length.

	      or any other value from 14 to 9014. Value	greater	than 1514  re-
	      quires -j	flag to	be specified.

       -l loop
	      Send  pcap-file(s) out onto the network for loop times. Set loop
	      to 0 to send pcap-file(s)	until stopped. To stop,	type  Control-
	      C.

       -c count
	      Send  up	to  count packets. Default is to send all packets from
	      pcap-file(s).

       -p pps Send pps packets per second. Value for pps must be between 1  to
	      1000000. This flag takes precedence over the -r flag.

       -r rate
	      Limit the	sending	to rate	Mbps. Value for	rate must be between 0
	      to  10000.  This	flag  is  intended  to	set the	desired	packet
	      throughput. If you want to send packets at  line	rate  of  1000
	      Mbps,  try  -r  1000.  If	 you want to send packets without rate
	      limit, try -r 0. This flag is typically used with	-l 0  to  send
	      pcap-file(s) until stopped.  This	flag takes precedence over the
	      -t flag.

       -t gap Set  inter-packet	gap in seconds,	ignoring the captured interval
	      between packets in pcap-file(s). Value for gap must be between 1
	      to 86400.

       -h     Print version information	and usage.

SEE ALSO
       bittwiste(1), pcap(3), tcpdump(1)

BUGS
       File your bug report and	send to:

	      Addy Yeow	<ayeowch@gmail.com>

       Make sure you are using the latest  stable  version  before  submitting
       your bug	report.

       If you run bittwist with	-r flag, pcap_sendpacket() may return an error
       with the	following error	string:

	      send: No buffer space available

       We  recommend that you adjust the value for -r flag to limit the	packet
       throughput to a lower level that	is supported by	your  interface,  e.g.
       start  from -r 10 to inject packets at a	maximum	rate of	10Mbps and ad-
       just the	value accordingly.

COPYRIGHT
       Copyright (C) 2006 - 2024 Addy Yeow <ayeowch@gmail.com>

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it	will  be  useful,  but
       WITHOUT	ANY  WARRANTY;	without	 even  the  implied  warranty  of MER-
       CHANTABILITY or FITNESS FOR A PARTICULAR	PURPOSE.  See the GNU  General
       Public License for more details.

       You should have received	a copy of the GNU General Public License along
       with this program; if not, write	to the Free Software Foundation, Inc.,
       51 Franklin Street, Fifth Floor,	Boston,	MA  02110-1301,	USA.

AUTHORS
       Original	author and current maintainer:

	      Addy Yeow

       The current version is available	from https://bittwist.sourceforge.io

				1 November 2024			   BITTWIST(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bittwist&sektion=1&manpath=FreeBSD+Ports+15.0.quarterly>

home | help