You need to send or receive very simple network traffic but you do not have a tool
such as netcat installed.
If you have bash version 2.04+ compiled with –enable-net-redirections (it isn’t
compiled this way in Debian and derivatives), you can use bash itself.
$ exec 3<> /dev/tcp/www.ippages.com/80
$ echo -e "GET /simple/?se=1 HTTP/1.0\n" >&3
$ cat <&3
HTTP/1.1 200 OK
Date: Tue, 28 Nov 2006 08:13:08 GMT
Server: Apache/2.0.52 (Red Hat)
Set-Cookie: smipcomID=6670614; expires=Sun, 27-Nov-2011 08:13:09 GMT; path=/
Cache-Control: no-cache, must-revalidate
Content-Type: text/plain; charset=ISO-8859-1
72.NN.NN.225 (US-United States) http://www..com Tue, 28 Nov 2006 08:13:09 UTC/GMT
flagged User Agent - reduced functionality
The second line sends a trivial command to a path on the web server defined in the first command.
Note that the user agent will appear as “-” on the web server side, which is what is causing the “flagged User Agent” warning.
The third command simply displays the results.
Both TCP and UDP are supported.
Here is a trivial way to send syslog messages to a remote server (although in production we recommend using the logger utility, which is much more user friendly and robust):
echo "<133>$0[$$]: Test syslog message from bash" > /dev/udp/loghost.example.com/514
Since UDP is connectionless, this is actually much easier to use than the previous
TCP example. <133> is the syslog priority value for local0.notice, calculated according to RFC 3164. S
ee the RFC “4.1.1 PRI Part” and logger manpage for details.
$0 is the name and $$ is the process ID of the current program.
The name will be -bash for a login shell.