Bash supports read/write operations on a pseudo-device file /dev/tcp/[host]/[port] [1].
Writing to this special file makes bash open a tcp connection to host:port, and this feature may be used for some useful purposes, for example:
Query an NTP server
cat </dev/tcp/time.nist.gov/13
reads the time in Daytime Protocol from the NIST Internet Time Service server.
Fetch a web page
this script
exec 3<>/dev/tcp/www.google.com/80
echo -e "GET / HTTP/1.1\r\nhost: http://www.google.com\r\nConnection: close\r\n\r\n" >&3
cat <&3
(echo > /dev/tcp/$HOST/$PORT) >/dev/null 2>&1
result=$?
references:
https://andreafortuna.org/2021/03/06/some-useful-tips-about-dev-tcp/
No comments:
Post a Comment