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

FreeBSD Manual Pages

  
 
  

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

NAME
       bittwiste -- pcap capture file editor

SYNOPSIS
       bittwiste [ -I input ] [	-O output ] [ -L layer ] [ -X payload ]
		 [ -C ]	[ -M linktype ]	[ -D offset ] [	-R range ]
		 [ -S timeframe	] [ -N repeat ]	[ -G gaprange ]	[ -P seed ]
		 [ -T header ] [ header-specific-options ] [ -h	]

DESCRIPTION
       This document describes the bittwiste program, the pcap(3) capture file
       editor.	Bittwiste  is  designed	to work	only with Ethernet frame, e.g.
       link type DLT_EN10MB in pcap(3),	with a	maximum	 frame	size  of  1514
       bytes  which is equivalent to an	MTU of 1500 bytes, 14 bytes for	Ether-
       net header.

       Bittwiste can currently edit Ethernet, VLAN, ARP, IPv4,	IPv6,  ICMPv4,
       ICMPv6,	TCP,  and  UDP headers.	IPv6 packets with extension headers or
       next header field not matching ICMPv6, TCP, or UDP are  not  supported;
       bittwiste  will simply write such packets as is to output trace file as
       it encounters them in the input trace file.

       If run with the -X flag,	you can	append your own	payload	after  any  of
       the  supported  headers;	 specified using the -L	and -T flag. Bittwiste
       will, if	not run	with the -C flag, recalculate the checksums for	 IPv4,
       ICMPv4, ICMPv6, TCP, and	UDP headers, except for	the last fragment of a
       fragmented IPv4 datagram; bittwiste does	not currently support checksum
       correction for the last fragment	of a fragmented	IPv4 datagram.

       While  parsing the packets in an	input trace file, bittwiste will skip,
       i.e. write to output trace file as is, any truncated packet, for	 exam-
       ple,  an	 ICMPv4	 packet	with a captured	length of 25 bytes (we need at
       least 28	bytes; 14 bytes	for Ethernet header, minimum 20	bytes  for  IP
       header, and 4 bytes for ICMPv4 header) does not give enough information
       on its ICMPv4 header for	bittwiste to read and modify it. In this case,
       you  can	 utilize  the -L and -T	flag to	copy the original packet up to
       its IP header and append	your customized	ICMPv4 header and data to  the
       packet  using  the  -X  flag.  When  specifying payload that covers the
       ICMPv4, ICMPv6, TCP, or UDP header and its data,	 you  can  use	zeros,
       e.g.  0000  for 2 bytes of zeros, for the header	checksum which is then
       corrected automatically by bittwiste.

       In order	to simplify the	way options are	specified, you can  only  edit
       packets	of  a  specific	 type supplied to the -T flag per execution of
       bittwiste on an input trace file. In addition, the -T flag must	appear
       last  among  the	 general options which are the -I, -O, -L, -X, -C, -M,
       -D, -R, -S, -N, -G, and -P flag.

OPTIONS
       -I input
	      Input pcap based trace file. Typically, input should be  a  file
	      path  to	a pcap based trace file. However, for convenience, the
	      following	template names are also	accepted to  load  trace  file
	      from one of the built-in templates:

	      eth    : Ethernet	header
	      vlan   : VLAN header
	      arp    : ARP header
	      ip     : IPv4 header
	      ip6    : IPv6 header
	      icmp   : ICMPv4 header
	      icmp6  : ICMPv6 header
	      tcp    : IPv4 TCP	header
	      ip6tcp : IPv6 TCP	header
	      udp    : IPv4 UDP	header
	      ip6udp : IPv6 UDP	header

	      Example: -I icmp

       -O output
	      Output trace file.

       -L layer
	      Copy  up	to the specified layer and discard the remaining data.
	      Value for	layer must be either 2,	3, or 4	where 2	 for  Ethernet
	      and  VLAN,  3  for ARP, IPv4, or IPv6, and 4 for ICMPv4, ICMPv6,
	      TCP, or UDP.

       -X payload or range or range:payload
	      Append payload in	hex digits to the end of each packet. If range
	      is specified, e.g. 0-1000, a random payload with a size  between
	      0	 and 1000 bytes	(inclusive) will be generated for each packet.
	      If range:payload is specified, e.g. 0-1000:0302aad1,  a  payload
	      of  random  size between 0 to 1000 bytes will be generated, con-
	      taining a	repeated sequence of the specified bytes (0x0302aad1).
	      The maximum payload size is 65535	bytes.

	      Examples:
	      -X 0302aad1
	      -X 0-1000
	      -X 20-20
	      -X 0-1000:00
	      -X 0-1000:ff
	      -X 0-1000:0302aad1

	      -X flag is ignored if -L and -T flag are not specified.

       -C     Specify this flag	to disable checksum correction.	Checksum  cor-
	      rection is applicable for	non-fragmented supported packets only.

       -M linktype
	      Replace  the linktype stored in the pcap file header. Typically,
	      value for	linktype is 1 for Ethernet.
	      Example: -M 12 (for raw IP), -M 51 (for PPPoE)

	      For the complete list, see:
	      https://www.tcpdump.org/linktypes.html

       -D offset
	      Delete the specified byte	offset from each packet.
	      First byte (starting from	link layer header) starts from 1.
	      -L, -X, -C and -T	flag are ignored if -D flag is specified.
	      Example: -D 15-40, -D 10,	or -D 18-9999

       -R range
	      Save only	the specified range of packets.
	      Example: -R 5-21 or -R 9

       -S timeframe
	      Save only	the packets within the specified timeframe with	up  to
	      one-second  resolution  using  DD/MM/YYYY,HH:MM:SS as the	format
	      for start	and end	time in	timeframe.
	      Example: -S 22/10/2006,21:47:35-24/10/2006,13:16:05
	      -S flag is evaluated after -R flag.

       -N repeat
	      Duplicate	packets	from the input trace file  repeat  times.  Use
	      this flag	to create a stream of packets, each with, for example,
	      a	random tcp sequence number, from a 1-packet trace file.
	      Example: -N 100000
	      -N flag is evaluated after -R and	-S flag.

       -G gaprange
	      Apply inter-packet gap between packets in	microseconds from 0 to
	      (2^31  -	1). Values in gaprange are inclusive and selected ran-
	      domly. A single value implies a fixed gap.
	      Example: -G 1000-10000 or	-G 1000
	      -G flag is evaluated after -R, -S, and -N	flag.

       -P seed
	      Positive integer (0 to 2^32 - 1) to seed the random number  gen-
	      erator  (RNG) used, for example, to generate random port number.
	      If unset,	current	timestamp will be used as the RNG seed.

	      bittwiste	uses Mersenne Twister for  high-speed  uniformly  dis-
	      tributed random number generation.

       -T header
	      Edit  only  the  specified  header. Possible keywords for	header
	      are, eth,	vlan, arp, ip, ip6, icmp, icmp6, tcp, or udp. -T  flag
	      must appear last among the general options.

       -h     Print version information	and usage.

       header-specific-options
	      Each  packet  that  matches  the type supplied to	the -T flag is
	      modified based on	the options described below:

	      Options for eth (RFC 894):

	      -d dmac or omac,nmac
		     Destination MAC address. If omac and nmac are  specified,
		     any  instances  of	 omac  in  the destination MAC address
		     field will	be replaced with nmac. You can	also  use  the
		     string 'rand' for a random	MAC address.

		     Examples:
		     -d	00:08:55:64:65:6a
		     -d	rand
		     -d	00:08:55:64:65:6a,rand

	      -s smac or omac,nmac
		     Source  MAC  address. If omac and nmac are	specified, any
		     instances of omac in the source MAC address field will be
		     replaced with nmac. You can also use  the	string	'rand'
		     for a random MAC address.

		     Examples:
		     -s	00:13:20:3e:ab:cf
		     -s	rand
		     -s	00:13:20:3e:ab:cf,rand

	      -t type or ot,nt
		     EtherType in integer value	between	0 to 65535 or hexadec-
		     imal  value  between 0x0000 to 0xffff (16-bit). If	ot and
		     nt	are specified, any instances of	ot  in	the  EtherType
		     field  will  be  replaced with nt.	You can	use the	string
		     'rand' for	a random  EtherType.  Following	 keywords  are
		     also accepted:

		     vlan : 0x8100 (802.1Q VLAN)
		     ctag : 0x8100 (802.1ad VLAN C-TAG for Q-in-Q)
		     stag : 0x88a8 (802.1ad VLAN S-TAG for Q-in-Q)
		     ip	  : 0x0800
		     ip6  : 0x86dd
		     arp  : 0x0806

		     Examples:
		     -t	ip
		     -t	0x0800
		     -t	rand
		     -t	0x0800,rand

		     For the complete list, see:
		     https://www.iana.org/assignments/ieee-802-numbers

	      Options for vlan (IEEE 802.1Q, 802.1ad):

	      -i id or oi,ni
		     VLAN  ID in integer value between 0 to 4095. If oi	and ni
		     are specified, any	instances of oi	in the VLAN  ID	 field
		     will  be  replaced	with ni. You can use the string	'rand'
		     for a random VLAN ID. This	option can be repeated up to 4
		     times to edit stacked VLAN	headers, i.e. Q-in-Q.

		     Examples:
		     -i	2000
		     -i	rand
		     -i	1000,rand
		     -i	100 -i 200 (outer S-TAG	= 100, inner C-TAG = 200)

	      -d dei or	od,nd
		     VLAN DEI (drop eligible indicator;	also known as CFI  for
		     canonical	format indicator). Value must be 0 or 1. If od
		     and nd are	specified, any instances of od in the VLAN DEI
		     field will	be replaced with nd. You can  use  the	string
		     'rand' for	a random VLAN DEI. This	option can be repeated
		     up	to 4 times to edit stacked VLAN	headers, i.e. Q-in-Q.

		     Examples:
		     -d	0
		     -d	rand
		     -d	1,rand
		     -d	0 -d 1

	      -p pcp or	op,np
		     VLAN PCP (priority	code point) in integer value between 0
		     to	 7. If op and np are specified,	any instances of op in
		     the VLAN PCP field	will be	replaced with np. You can  use
		     the  string 'rand'	for a random VLAN PCP. This option can
		     be	repeated up to 4 times to edit stacked	VLAN  headers,
		     i.e. Q-in-Q.

		     Mapping of	pcp value from IEEE P802.1p:

		     0 : Best effort
		     1 : Background
		     2 : Excellent effort
		     3 : Critical applications
		     4 : Video,	< 100 ms latency and jitter
		     5 : Voice,	< 10 ms	latency	and jitter
		     6 : Internetwork control
		     7 : Network control

		     Examples:
		     -p	2
		     -p	rand
		     -p	3,rand
		     -p	7 -p 0

	      -t type or ot,nt
		     Encapsulated  EtherType  in  integer  value  between 0 to
		     65535 or  hexadecimal  value  between  0x0000  to	0xffff
		     (16-bit). If ot and nt are	specified, any instances of ot
		     in	the encapsulated EtherType field will be replaced with
		     nt.  You  can use the string 'rand' for a random encapsu-
		     lated EtherType. Following	keywords are also accepted:

		     vlan : 0x8100 (802.1Q VLAN)
		     ctag : 0x8100 (802.1ad VLAN C-TAG for Q-in-Q)
		     stag : 0x88a8 (802.1ad VLAN S-TAG for Q-in-Q)
		     ip	  : 0x0800
		     ip6  : 0x86dd
		     arp  : 0x0806

		     This option can be	repeated up to 4 times to edit stacked
		     VLAN headers, i.e.	Q-in-Q.

		     Examples:
		     -t	ip
		     -t	0x0800
		     -t	rand
		     -t	0x0800,rand
		     -t	ctag -t	ip

		     For the complete list, see:
		     https://www.iana.org/assignments/ieee-802-numbers

	      Options for arp (RFC 826):

	      -o opcode
		     Operation code in integer value between 0 to  65535.  For
		     example,  you  can	set opcode to 1	for ARP	request, 2 for
		     ARP reply.

	      -s smac or omac,nmac
		     Sender MAC	address. If omac and nmac are  specified,  any
		     instances of omac in the sender MAC address field will be
		     replaced  with  nmac.  You	can also use the string	'rand'
		     for a random MAC address.

		     Examples:
		     -s	00:13:20:3e:ab:cf
		     -s	rand
		     -s	00:13:20:3e:ab:cf,rand

	      -p sip or	oip,nip
		     Sender IP address.	Example: -p 192.168.0.1
		     If	oip and	nip are	specified, any instances of oip	in the
		     sender IP address field will be replaced with nip.

	      -t tmac or omac,nmac
		     Target MAC	address. If omac and nmac are  specified,  any
		     instances of omac in the target MAC address field will be
		     replaced  with  nmac.  You	can also use the string	'rand'
		     for a random MAC address.

		     Examples:
		     -t	00:08:55:64:65:6a
		     -t	rand
		     -t	00:08:55:64:65:6a,rand

	      -q tip or	oip,nip
		     Target IP address.	Example: -q 192.168.0.2
		     If	oip and	nip are	specified, any instances of oip	in the
		     target IP address field will be replaced with nip.

	      Options for ip (RFC 791):

	      -c ds_field
		     6-bit DS field (first 6-bit  of  8-bit  type  of  service
		     field).

		     Some  of the service class	name mapping to	ds_field value
		     from RFC 4594:

		     0	: Standard (CS0)
		     8	: Low-priority data (CS1)
		     16	: OAM (CS2)
		     24	: Broadcast video (CS3)
		     32	: Real-time interactive	(CS4)

		     Example: -c 16 or -c 0x10 (to classify packet for	opera-
		     tion and management of the	network)

		     For  more	information  on	DS field, see RFC 2474 and RFC
		     4594.

	      -e ecn_field
		     2-bit ECN field (last 2-bit  of  8-bit  type  of  service
		     field).

		     ecn_field can be set to one of the	4 values below:

		     0 : Not-ECT
		     1 : ECT(1)
		     2 : ECT(0)
		     3 : CE

		     Example:  -e  3 or	-e 0x03	(to indicate congestion	to the
		     end hosts)

		     For more information on ECN field,	see RFC	3168.

	      -i id or oi,ni
		     Identification in integer value between 0 to 65535. If oi
		     and ni are	specified, any instances of oi in the  identi-
		     fication field will be replaced with ni. You can also use
		     the string	'rand' for a random identification.

		     Example: -i 2000, -i rand,	or -i 1000,rand

	      -f flags
		     Control flags. Possible characters	for flags are:

		     - : remove	all flags
		     r : set the reserved flag
		     d : set the don't fragment	flag
		     m : set the more fragment flag

		     Example: -f d
		     If	 any of	the flags is specified,	all original flags are
		     removed automatically.

	      -o offset
		     Fragment offset in	integer	value between 0	to 7770. Value
		     for offset	represents the number of 64-bit	segments  con-
		     tained  in	 earlier  fragments which must not exceed 7770
		     (62160 bytes).

	      -t ttl or	ot,nt
		     Time to live in integer value between 0 to	255 (millisec-
		     onds). If ot and nt are specified,	any instances of ot in
		     the time to live field will be replaced with nt. You  can
		     also use the string 'rand'	for a random time to live.

		     Example: -t 64, -i	rand, or -i 64,rand

	      -p proto or op,np
		     Protocol  number in integer value between 0 to 255. If op
		     and np are	specified, any instances of op in the protocol
		     number field will be replaced with	np. You	can  also  use
		     the string	'rand' for a random protocol number. Some com-
		     mon protocol numbers are:

		     1	: Internet Control Message (ICMP)
		     6	: Transmission Control (TCP)
		     17	: User Datagram	(UDP)

		     For the complete list, see:
		     https://www.iana.org/assignments/protocol-numbers

	      -s sip or	oip,nip
		     Source  IP	address. If oip	and nip	are specified, any in-
		     stances of	oip in the source IP address field will	be re-
		     placed with nip. If CIDR notation (RFC  4632)  is	speci-
		     fied, e.g.	192.168.0.0/16,	an IP address will be selected
		     at	random from the	range.

		     Examples:
		     -s	192.168.0.1
		     -s	127.0.0.1,192.168.0.0/16
		     -s	0.0.0.0/0 (random IPv4 throughout the entire range)

	      -d dip or	oip,nip
		     Destination IP address. If	oip and	nip are	specified, any
		     instances of oip in the destination IP address field will
		     be	 replaced  with	 nip.  If  CIDR	notation (RFC 4632) is
		     specified,	e.g. 192.168.0.0/16, an	IP address will	be se-
		     lected at random from the range.

		     Examples:
		     -d	192.168.0.2
		     -d	127.0.0.2,192.168.0.0/16
		     -d	0.0.0.0/0 (random IPv4 throughout the entire range)

	      Options for ip6 (RFC 8200):

	      -c ds_field
		     6-bit DS  field  (first  6-bit  of	 8-bit	traffic	 class
		     field).

		     Some  of the service class	name mapping to	ds_field value
		     from RFC 4594:

		     0	: Standard (CS0)
		     8	: Low-priority data (CS1)
		     16	: OAM (CS2)
		     24	: Broadcast video (CS3)
		     32	: Real-time interactive	(CS4)

		     Example: -c 16 or -c 0x10 (to classify packet for	opera-
		     tion and management of the	network)

		     For  more	information  on	DS field, see RFC 2474 and RFC
		     4594.

	      -e ecn_field
		     2-bit ECN	field  (last  2-bit  of	 8-bit	traffic	 class
		     field).

		     ecn_field can be set to one of the	4 values below:

		     0 : Not-ECT
		     1 : ECT(1)
		     2 : ECT(0)
		     3 : CE

		     Example:  -e  3 or	-e 0x03	(to indicate congestion	to the
		     end hosts)

		     For more information on ECN field,	see RFC	3168.

	      -f flow_label
		     Flow label	in integer value between 0 to 1048575 or hexa-
		     decimal value between 0x00000 to 0xfffff (20-bit).
		     Example: -f 0

		     Value of 0	is to indicate that the	packet does not	belong
		     to	any flow. For more information,	see RFC	6437.

	      -n next_header or	on,nn
		     Next header number	in integer value between 0 to 255.  If
		     on	 and nn	are specified, any instances of	on in the next
		     header field will be replaced with	nn. You	can  also  use
		     the  string 'rand'	for a random next header number. Exam-
		     ple of next header	numbers:

		     0	: IPv6 Hop-by-Hop Option (HOPOPT)
		     6	: Transmission Control (TCP)
		     17	: User Datagram	(UDP)
		     50	: Encap	Security Payload (ESP)
		     51	: Authentication Header	(AH)
		     58	: ICMP for IPv6	(IPv6-ICMP)

		     For the complete list, see:
		     https://www.iana.org/assignments/protocol-numbers

	      -h hop_limit or oh,nh
		     Hop limit in integer value	between	0 to 255. If oh	and nh
		     are specified, any	instances of oh	in the hop limit field
		     will be replaced with nh. You can	also  use  the	string
		     'rand'  for  a  random hop	limit. Destination host	should
		     not discard a packet with hop limit equal to 0.

	      -s sip or	oip,nip
		     Source IP address.	If oip and nip are specified, any  in-
		     stances of	oip in the source IP address field will	be re-
		     placed  with  nip.	 If CIDR notation (RFC 4291) is	speci-
		     fied, e.g.	2001:db8::/64, an IP address will be  selected
		     at	random from the	range.

		     Examples:
		     -s	fd00::1
		     -s	::1,2001:db8::/64
		     -s	::/0 (random IPv6 throughout the entire	range)

	      -d dip or	oip,nip
		     Destination IP address. If	oip and	nip are	specified, any
		     instances of oip in the destination IP address field will
		     be	 replaced  with	 nip.  If  CIDR	notation (RFC 4291) is
		     specified,	e.g. 2001:db8::/64, an IP address will be  se-
		     lected at random from the range.

		     Examples:
		     -d	fd00::2
		     -d	::2,2001:db8::/64
		     -d	::/0 (random IPv6 throughout the entire	range)

	      Options for icmp (RFC 792):

	      -t type
		     Type  of  message in integer value	between	0 to 255. Some
		     common messages are:

		     0	: Echo reply
		     3	: Destination unreachable
		     8	: Echo
		     11	: Time exceeded

		     For the complete list, see:
		     https://www.iana.org/assignments/icmp-parameters

	      -c code
		     Error code	for this ICMPv4	message	in integer  value  be-
		     tween  0 to 255. For example, code	for time exceeded mes-
		     sage may have one of the following	values:

		     0 : transit TTL exceeded
		     1 : reassembly TTL	exceeded

		     For the complete list, see:
		     https://www.iana.org/assignments/icmp-parameters

	      Options for icmp6	(RFC 4443):

	      -t type
		     Type of message in	integer	value between 0	to  255.  Some
		     common messages are:

		     3	 : Time	Exceeded
		     128 : Echo	Request
		     129 : Echo	Reply

		     For the complete list, see:
		     https://www.iana.org/assignments/icmpv6-parameters

	      -c code
		     Code  for	this ICMPv6 message in integer value between 0
		     to	255. For example, code for Time	Exceeded  message  may
		     have one of the following values:

		     0 : hop limit exceeded in transit
		     1 : fragment reassembly time exceeded

		     For the complete list, see:
		     https://www.iana.org/assignments/icmpv6-parameters

	      Options for tcp (RFC 9293):

	      -s sport or op,np
		     Source  port  number in integer value between 0 to	65535.
		     If	op and np are specified, any instances of  op  in  the
		     source  port field	will be	replaced with np. You can also
		     use the string 'rand' for a random	port number.

		     Example: -s 2000, -s rand,	or -s 1000,rand

	      -d dport or op,np
		     Destination port number in	integer	 value	between	 0  to
		     65535. If op and np are specified,	any instances of op in
		     the  destination port field will be replaced with np. You
		     can also use the string 'rand' for	a random port number.

		     Example: -d 2000, -d rand,	or -d 1000,rand

	      -q seq or	os,ns
		     Sequence number in	integer	value between 0	to 4294967295.
		     If	SYN control bit	is set,	e.g. character s  is  supplied
		     to	 the -f	flag, seq represents the initial sequence num-
		     ber (ISN) and the first data byte is ISN +	1. If  os  and
		     ns	 are  specified,  any  instances of os in the sequence
		     number field will be replaced with	ns. You	can  also  use
		     the string	'rand' for a random sequence number.

		     Example: -q 100000, -q rand, or -q	100000,rand

	      -a ack or	oa,na
		     Acknowledgment  number  in	 integer  value	 between  0 to
		     4294967295. If ACK	control	bit is set, e.g.  character  a
		     is	 supplied  to the -f flag, ack represents the value of
		     the next sequence number that the receiver	 is  expecting
		     to	 receive. If oa	and na are specified, any instances of
		     oa	in the acknowledgment number field  will  be  replaced
		     with  na. You can also use	the string 'rand' for a	random
		     acknowledgment number.

		     Example: -a 100000, -a rand, or -a	100000,rand

	      -f flags
		     Control flags. Possible characters	for flags are:

		     - : remove	all flags
		     c : congestion window reduced
		     e : explicit congestion notification echo
		     u : urgent	pointer	field is significant
		     a : acknowledgment	field is significant
		     p : push function
		     r : resets	the connection
		     s : synchronizes the sequence numbers
		     f : no more data from sender

		     Example: -f s
		     If	any of the flags is specified, all original flags  are
		     removed automatically.

	      -w win
		     Window  size  in integer value between 0 to 65535.	If ACK
		     control bit is set, e.g. character	a is supplied  to  the
		     -f	 flag, win represents the number of data bytes,	begin-
		     ning with the one indicated in the	acknowledgment	number
		     field that	the receiver is	willing	to accept.

	      -u urg
		     Urgent  pointer  in  integer value	between	0 to 65535. If
		     URG control bit is	set, e.g. character u is  supplied  to
		     the  -f flag, urg represents a pointer that points	to the
		     first data	byte following the urgent data.

	      Options for udp (RFC 768):

	      -s sport or op,np
		     Source port number	in integer value between 0  to	65535.
		     If	 op  and  np are specified, any	instances of op	in the
		     source port field will be replaced	with np. You can  also
		     use the string 'rand' for a random	port number.

		     Example: -s 2000, -s rand,	or -s 1000,rand

	      -d dport or op,np
		     Destination  port	number	in  integer value between 0 to
		     65535. If op and np are specified,	any instances of op in
		     the destination port field	will be	replaced with np.  You
		     can also use the string 'rand' for	a random port number.

		     Example: -d 2000, -d rand,	or -d 1000,rand

SEE ALSO
       bittwist(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.

       When running bittwiste with both	the -N	and  -G	 flags,	 large	inter-
       packet  gap  may	 result	 in  the  packet  timestamp  beyond Unix epoch
       2147483647 (2038-01-19 03:14:07 UTC) to overflow. This is  due  to  the
       use of signed 32-bit integer to store timestamp in pcap(3) header. Sim-
       ply  changing  the data type, e.g. using	unsigned 64-bit	integer, would
       break the compatibility of the output trace file	with existing systems.

       The workaround built into bittwiste is  to  use	Unix  epoch  946684800
       (2020-01-01  00:00:00  UTC) as the starting reference timestamp when -G
       flag is specified. This translates to a maximum timespan	of 38 years or
       559165 packets in the output trace file when using the  maximum	inter-
       packet gap, i.e.	-G 2147483647.

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			  BITTWISTE(1)

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

home | help