Давно заметил за стандартным пакетом netcat-openbsd (который является стандартным и по зависимостям находится под ubuntu-minimal) очень странное поведение, а именно поведение неправильное.
Суть в том что отправлять данные nc (он же nc.openbsd) - отправляет, а вот выводить на stdout ответ - не выводит, например:
shell:~$ printf "HEAD / HTTP/1.0\r\n\r\n" | nc www.google.com 80
shell:~$ printf "HEAD / HTTP/1.0\r\n\r\n" | nc.openbsd www.google.com 80
shell:~$
однако если поставить пакет netcat (он же netcat-traditional), то получаем ответ от удаленного сокета:
shell:~$ printf "HEAD / HTTP/1.0\r\n\r\n" | nc.traditional www.google.com 80
HTTP/1.0 302 Found
Location: http://www.google.com.ua/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=bd90eac5b73eddd9:TM=1272155555:LM=1272155555:S=o4z0y2fk3NRDgJ-0; expires=Tue, 24-Apr-2012 00:32:35 GMT; path=/; domain=.google.com
Set-Cookie: NID=34=KgmJXs71ff6sdOJgAiQ7eGqaItzMuF8Qp3PhqnW5aZGXd1MvDnF34TGHivSIb6M3CQw7MLuGx-CMTU2gnf4_rENjhwFfWkheeT9h-2D-bYxdWL9wuwse_C_WsGmIOhei; expires=Mon, 25-Oct-2010 00:32:35 GMT; path=/; domain=.google.com; HttpOnly
Date: Sun, 25 Apr 2010 00:32:35 GMT
Server: gws
Content-Length: 222
shell:~$
Система: ubuntu 10.04, однако проверял и на 9.10 и вообще проблема относится к программе (даже на FreeBSD воспроизводится).
Как-то можно объяснить такое неправильное поведение программы? Для бага проблема слишком очевидна и велика.