mirror of https://framagit.org/bortzmeyer/echoping
Compare commits
1 Commits
master
...
RELEASE_5_
Author | SHA1 | Date |
---|---|---|
(no author) | e2cc1505f3 | 22 years ago |
@ -1 +0,0 @@
|
||||
-I .
|
@ -1,24 +0,0 @@
|
||||
PAGESHTML=$(shell ls *.wml | grep -v template | sed 's/.wml/.html/' )
|
||||
DEST=bortz@echoping.sourceforge.net:/home/groups/echoping/htdocs
|
||||
URL=http://echoping.sourceforge.net/
|
||||
|
||||
all: test
|
||||
|
||||
%.html: %.wml template.wml
|
||||
wml -o $@ ${DEBUG} $<
|
||||
|
||||
test: ${PAGESHTML}
|
||||
@for page in ${PAGESHTML}; do \
|
||||
(nsgmls -s $$page) \
|
||||
done
|
||||
|
||||
install: ${PAGESHTML}
|
||||
cvs commit
|
||||
scp -v ${PAGESHTML} ${DEST}
|
||||
|
||||
checkbot:
|
||||
checkbot --url ${URL} --match ${URL} \
|
||||
--verbose
|
||||
|
||||
clean:
|
||||
rm -f ${PAGESHTML}
|
@ -1,109 +0,0 @@
|
||||
#use wml::template Title="echoping details"
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
|
||||
<H2>echo service</H2>
|
||||
|
||||
<P>echoping assumes the remote host accepts such connections. Experience show that
|
||||
most Internet routers do and many hosts also. However, some Unices are not
|
||||
shipped with this service enabled and, anyway, the administrator is always
|
||||
free to close it (I think they shouldn't). echoping has therefore less chance
|
||||
to succeed than ping or bing. (On a typical Unix box, "echo" service is
|
||||
configured in /etc/inetd.conf but see the <A HREF="http://www.cert.org/advisories/CA-96.01.UDP_service_denial.html">CERT advisory</A>.)
|
||||
|
||||
<H2>What does it measure?</H2>
|
||||
|
||||
<P>echoping simply shows the elapsed time, including the time to set up the TCP
|
||||
connection and to transfer the data (but excluding the time for the
|
||||
- possible - DNS call). Therefore, it is unsuitable to physical
|
||||
line raw throughput measures (unlike bing). On the other end, the action it
|
||||
performs are close from a HTTP request and it is meaningful to use it
|
||||
(carefully) to measure Web performances.
|
||||
|
||||
<H2>UDP and inetd</H2>
|
||||
|
||||
<P>With UDP servers you can have surprises: the first test is quite often
|
||||
much slower since inetd has to launch the process. After that, the process
|
||||
stays a while so the next texts run faster.
|
||||
|
||||
<H2>A nice example</H2>
|
||||
|
||||
<P>There are many, many traps when measuring something on the Internet. Just one
|
||||
example: 'echoping -w 0 -n 4 a-sunOS-machine' and you'll see the first test
|
||||
succeed in a very short time (if you are close from the machine) and all of
|
||||
the others take a much longer time (one second). With '-w 1' (wait one second
|
||||
between tests, the default), everything works fine: it seems the sockets on
|
||||
SunOS need time to recover :-)
|
||||
|
||||
<H2>To measure performances on the Internet you can also see</H2>
|
||||
|
||||
<H3>Unix</H3>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="ftp://ftp.lip6.fr/pub/networking">bing</A>, a bandwidth measurement tool
|
||||
<LI>ping, probably available with your system
|
||||
<LI>traceroute, idem (otherwise, see <A HREF="ftp://ftp.ee.lbl.gov/">LBL</A>)
|
||||
<LI><A HREF="ftp://ftp.arl.mil/pub/ttcp/">ttcp</A>, the best measurement tool but it needs some control over the
|
||||
two machines (nothing to do with
|
||||
the T/TCP protocol)
|
||||
<LI><A HREF="http://www.psc.edu/~pscnoc/treno_info.html">treno</A> (evaluates available bandwidth for TCP)
|
||||
<LI>spray is a tool which I dont't know very well. It is available on some
|
||||
machines (Sun, OSF/1).
|
||||
<LI>I've also heard of but never tried:
|
||||
<UL>
|
||||
<LI><A
|
||||
HREF="http://www.netperf.org/netperf/NetperfPage.html">Netperf</A>, a suite of Bandwidth Measuring programs from gnn@netcom.com
|
||||
These are <A HREF="ftp://ftp.netcom.com/~ftp/gnn/bwmeas-0.3.tar.Z">several
|
||||
programs</A> that measure bandwidth and jitter over several kinds of
|
||||
IPC links, including TCP and UDP.
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<H3>MacOS</H3>
|
||||
|
||||
<UL>
|
||||
<LI>TCP Watcher, a very nice "swiss-army knife" tool, to test ping, DNS, echo.
|
||||
It includes an echo server. Available on <A
|
||||
HREF="http://www.info-mac.org/">Info-Mac</A> in "comm/tcp".
|
||||
</UL>
|
||||
|
||||
<H3>MS-Windows</H3>
|
||||
|
||||
(I have little knowledge of that environment and I tested nothing.)
|
||||
|
||||
<UL>
|
||||
<LI><A
|
||||
HREF="http://www.ccs.org/winsock/xref-e.html#echo_clients">WSNUTIL</A>.
|
||||
Seems to be an echo client and server.
|
||||
<LI><A
|
||||
HREF="http://www.winsite.com/info/pc/win95/misc/echox32.zip/">echox32</A>,
|
||||
an echo server
|
||||
<LI><A
|
||||
HREF="http://www.winsite.com/info/pc/win3/winsock/cfing13b.zip/">cfinger</A>,
|
||||
an
|
||||
echo client and server
|
||||
</UL>
|
||||
|
||||
<H3>Windows-NT</H3>
|
||||
|
||||
echo and other services can (apparently) be provided within
|
||||
'Simple TCP/IP Services' which
|
||||
can be enabled through the Network Control Panel
|
||||
|
||||
<H3>Web clients</H3>
|
||||
|
||||
You can ping or traceroute on the Web. See
|
||||
<A
|
||||
HREF="http://www.freenix.org/cgi-bin/traceroute.iphtml">Freenix</A>,
|
||||
<A HREF="http://www.fr.net/internet/trace.html">fr.net</A> (with
|
||||
Autonomous Systems handling) or
|
||||
<A HREF="http://www.tracert.com/">Multiple Traceroute Gateway</A>.
|
||||
|
||||
|
||||
<P>Use all of them with care, the result is not obvious to interpret.
|
||||
|
||||
<P>And don't forget to read RFC 1470 ("Tools for Monitoring and Debugging
|
||||
TCP/IP Internets and Interconnected Devices"), specially its "Benchmark"
|
||||
section and the Richard Stevens' books (all of them), published by
|
||||
Addison-Wesley.
|
@ -1,84 +0,0 @@
|
||||
#use wml::template Title="echoping Home Page"
|
||||
|
||||
<!-- $Id$ -->
|
||||
|
||||
<P>"echoping" is a small program to test (approximatively) performances of a
|
||||
remote host by sending it TCP "echo" (or other protocol) packets.
|
||||
|
||||
<P>To install it, see the INSTALL file. Or type "make" if you're in a
|
||||
hurry :-) <A
|
||||
HREF="ftp://ftp.internatif.org/pub/unix/echoping">Download</A>, if you
|
||||
wish. (Or you may prefer access the latest developments <A
|
||||
HREF="http://sourceforge.net/cvs/?group_id=4581">via CVS</A>: the
|
||||
module is named "SRC".) You may be interested in <A HREF="http://sourceforge.net/project/?group_id=4581">SourceForge's page
|
||||
about echoping</A>, with the bug reports, etc.
|
||||
|
||||
<P>To use it, simply:
|
||||
|
||||
<PRE>
|
||||
% echoping machine.somewhere.org
|
||||
</PRE>
|
||||
|
||||
<P>or use the options before the machine name (see the man page).
|
||||
|
||||
<P>See the <A HREF="details.html">DETAILS</A> file for various traps when benchmarking networks,
|
||||
specially with this program.
|
||||
|
||||
<P>In any case, be polite: don't bother the remote host with many repeated
|
||||
requests, especially with large size. Ask for permission if you often
|
||||
test hosts which aren't yours.
|
||||
|
||||
<P>Current features:
|
||||
|
||||
<UL>
|
||||
<LI>uses the protocols echo, discard, chargen or HTTP,
|
||||
<LI>uses UDP instead of TCP for the protocols which accept it (like echo),
|
||||
<LI>can repeat the test and display various measures about it,
|
||||
<LI>can use T/TCP on systems which support it.
|
||||
</UL>
|
||||
|
||||
<P><A HREF="http://sourceforge.net/bugs/?func=browse&group_id=4581&set=open">Known bugs</A>
|
||||
|
||||
<P>Examples of output:
|
||||
|
||||
<OL>
|
||||
|
||||
<LI>(Simple test with 1000 bytes echo TCP packets)
|
||||
<PRE>
|
||||
% echoping -v -s 1000 mycisco
|
||||
This is echoping, version 2.0.
|
||||
Trying to connect to internet address 10.99.64.1 to transmit 256 bytes...
|
||||
Connected...
|
||||
Sent (1000 bytes)...
|
||||
Checked
|
||||
Elapsed time: 0.059597 seconds
|
||||
</PRE>
|
||||
|
||||
<LI>(Repeated tests with average and median displayed.)
|
||||
<PRE>
|
||||
% echoping -n 10 mymachine
|
||||
[...]
|
||||
Minimum time: 0.170719 seconds (1500 bytes per sec.)
|
||||
Maximum time: 0.211176 seconds (1212 bytes per sec.)
|
||||
Average time: 0.184577 seconds (1387 bytes per sec.)
|
||||
Median time: 0.181332 seconds (1412 bytes per sec.)
|
||||
</PRE>
|
||||
|
||||
<LI>(Testing a Web server with an HTTP request for its home page.)
|
||||
<PRE>
|
||||
% echoping -h / mywww
|
||||
Elapsed time: 0.686792 seconds
|
||||
</PRE>
|
||||
|
||||
</OL>
|
||||
|
||||
<P>The exit status is set if there is any problem, so you can use echoping
|
||||
to test repeatedly a Web server, to be sure it runs fine. Or you can
|
||||
display statistics like <A HREF="http://monitor.internatif.org/web.html">at Internatif</A>.
|
||||
|
||||
<P>To do for a future version:
|
||||
|
||||
<UL>
|
||||
<LI>display other calculations such as standard deviation
|
||||
<LI>fix the bugs (everlasting aim)
|
||||
</UL>
|
@ -1,82 +0,0 @@
|
||||
#use wml::std::info
|
||||
|
||||
<define-tag warningwml>
|
||||
<!-- MADE BY A PROGRAM (WML $(WML_VERSION))!
|
||||
And maintained by CVS.
|
||||
DO NOT EDIT!
|
||||
The reference file is $(WML_SRC_DIRNAME)/$(WML_SRC_FILENAME)
|
||||
-->
|
||||
</define-tag>
|
||||
|
||||
<define-tag miscmeta>
|
||||
<LINK REV="made" HREF="mailto:bortz@users.sourceforge.net">
|
||||
<info style=meta>
|
||||
</define-tag>
|
||||
|
||||
<define-tag lastmodif>
|
||||
Last update done on
|
||||
<:
|
||||
($device, $inode, $mode, $nlink, $uid, $gid, $rdev,
|
||||
$size,
|
||||
$access_time, $modif_time, $creat_time,
|
||||
$block_size, $blocks)
|
||||
= stat ($WML_SRC_FILENAME);
|
||||
print &time2string($modif_time, 1);
|
||||
:>
|
||||
<FONT SIZE=-1>(last regeneration by
|
||||
<A HREF="http://www.engelschall.com/sw/wml/">WML</A> $(WML_VERSION) on <:
|
||||
print &time2string(time(), 1);
|
||||
:>)</FONT>.
|
||||
</define-tag>
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<warningwml>
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>$(Title)</TITLE>
|
||||
<miscmeta>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#ffffff" VLINK="#003399" LINK="#0033ff" TEXT="#000000">
|
||||
<H1>$(Title)</H1>
|
||||
|
||||
<<Body>>
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
<A href="http://sourceforge.net">
|
||||
<IMG src="http://sourceforge.net/sflogo.php?group_id=4581&type=1"
|
||||
width="88" height="31" border="0" alt="SourceForge Logo"></A><BR>
|
||||
<SMALL>
|
||||
<STRONG>echoping</STRONG> is managed by Stéphane Bortzmeyer
|
||||
<code><bortz@users.sourceforge.net></code>. <lastmodif>
|
||||
</SMALL>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
..Body>>
|
||||
|
||||
<:
|
||||
sub time2string {
|
||||
my ($time, $display_day) = @_;
|
||||
my ($result);
|
||||
my ($week_day_text);
|
||||
my ($seconds, $minutes, $hours, $days, $month, $year, $week_day, $year_day, $is_dst) =
|
||||
gmtime ($time);
|
||||
$month_text = (January, February, March, April, May, June, July,
|
||||
August, September, October, November, December)
|
||||
[$month];
|
||||
if ($display_day) {
|
||||
$week_day_text = (Sunday, Monday, Tuesday, Wednesday, Thursday,
|
||||
Friday, Saturday) [$week_day];
|
||||
}
|
||||
$year = $year + 1900;
|
||||
|
||||
$result = "$week_day_text $days $month_text $year";
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
:>
|
Loading…
Reference in New Issue