bwping(8)
πΈ bwping β NAME πΈ
okay so bwping and bwping6 are the besties you call when you need to measure bandwidth and response times between two hosts, and they do it using the Internet Control Message Protocol (ICMP) echo request/echo reply mechanism. literally just two hosts vibing and one of them going "hey, you there?" and the other going "yeah bestie, here π". that's the whole thing. periodt.
β¨ SYNOPSIS β¨
bwping [ -4 | -6 ] [ -B bind_addr ] [ -I ident ] [ -T tos(v4) | traf_class(v6) ] [ -r reporting_period ] [ -u buf_size ] -b kbps -s pkt_size -v volume target
bwping6 [ -4 | -6 ] [ -B bind_addr ] [ -I ident ] [ -T tos(v4) | traf_class(v6) ] [ -r reporting_period ] [ -u buf_size ] -b kbps -s pkt_size -v volume target
π OPTIONS π
bestie, here's the whole menu. no skips, no skimming, we're doing all of them:
-4β forces IPv4 mode. and fyi, the default mode of operation is already IPv4 forbwpingand IPv6 forbwping6, so this is you being like "no, for real, IPv4" when the tool already knew.-6β forces IPv6 mode. same deal: the default mode of operation is IPv4 forbwpingand IPv6 forbwping6otherwise, so this one is you overriding the vibe on purpose.-Bbind_addr β sets the source address of outgoing ip packets. if you don't say anything, the address of the outgoing interface will be used. like, it picks for you, and honestly that's usually fine.-Iident β sets the Identifier value of outgoing ICMP Echo Request packets. if you set it to zero, the value of the lower 16 bits of the process ID will be used β and that's the default, so it's what happens when you say nothing at all.-Ttos(v4) | traf_class(v6) β sets the TOS (in IPv4 mode) or Traffic Class (in IPv6 mode) value of outgoing ip packets. the default value is zero.-rreporting_period β sets the interval time in seconds between periodic bandwidth, RTT, and loss reports. if you set it to zero, there will be no periodic reports, which is the default. so by default it's silent, like a mysterious icon π.-ubuf_size β sets the size of the socket send/receive buffer in bytes. if zero (the default), the system default will be used. π pro tip from the manpage itself: tune this parameter if the speed measurement results are unexpectedly low or packet loss occurs. that's your "why is my number so sad" knob.-bkbps β sets the transfer speed in kilobits per second.-spkt_size β sets the size of ICMP packet (excluding IPv4/IPv6 header) in bytes. note the excluding part, it's not counting the header, okay?-vvolume β sets the volume to transfer in bytes.
π«Ά AUTHORS π«Ά
this absolute legend wrote it:
- Oleg Derevenetz
<oleg.derevenetz@gmail.com>
π BUGS π
None known.
that's it. that's the entire bugs section. we love a flawless queen with nothing on her record, no cap β¨
π§ NOTES π§
okay this part actually matters so lock in π₯
these tools use raw sockets to deal with ICMP messages, so they may require root privileges or extended capabilities (such as CAP_NET_RAW on Linux) to run. they can also be run as setuid root. so yeah, permissions check first, bestie.
also, even though bwping and bwping6 does not require any special software on the remote host (only the ability to respond on ICMP echo request messages), there are some special requirements to network infrastructure, local and remote host performance:
- There should be no ICMP echo request/reply filtering on the network. This includes QoS mechanisms (which often affects ICMP) at any point in the testing path;
- Local host should have enough CPU resources to send ICMP echo request messages with given rate, and remote host should quickly respond on these messages and should have no ICMP bandwidth limiting turned on.
- Each
bwpingandbwping6process should use its own ICMP Echo Request Identifier value to reliably distinguish between ICMP Echo Reply packets destined for each of these processes.
if some of these requirements are not satisfied then the measurement results will be inadequate or fail completely. like, your numbers will be lying to you and that's worse than no numbers at all π
in general, for testing bandwidth where QoS is implemented, always test with traffic that matches the QoS class to be tested. iykyk π
π SEE ALSO π
and that's the whole page, bestie π this was the bwping(8) page from the System Manager's Manual β so like, section 8, the big-girl system manager section, not some lil user-command section. and yes, the name up top is bwping(8) and the name at the bottom is bwping(8) too, because it's symmetrical like that. no date, no version string, just vibes and a title. mwah π go measure something.
π¦ where this page comes from
- epel 9: bwping 2.5-1.el9 Β· BSD
- fedora 43: bwping 2.6-3.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: bwping 2.6-5.fc44 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms