Re: /dev/tcp

2001-11-19 Пенетрантность Alexey Vyskubov
 man bash?

В дебиановском пакете это отключено, с логичным объяснением, почему.

   /dev/tcp/host/port

-- 
Алексей



Re: /dev/tcp

2001-11-19 Пенетрантность Alexei Khlebnikov
Rubin Shafiev wrote:

  Ух, целых три письма про неткат. С неткатом я и сам умею, а нужно как раз
  без него (долго объяснять почему). Как без нетката? Я знаю, можно как-то
  через /dev, только не помню, как конкретно и какие условия должны
  соблюдаться (версия ядра, опции, etc).

 man bash?

   /dev/tcp/host/port
  If host is  a  valid  hostname  or  Internet
  address, and port is an integer port number,
  bash attempts to open a  TCP  connection  to
  the corresponding socket.
   /dev/udp/host/port
  If  host  is  a  valid  hostname or Internet
  address, and port is an integer port number,
  bash  attempts  to  open a UDP connection to
  the corresponding socket.

Вот то что нужно, спасибо.
Спасибо также всем другим ответившим, и про отключение этой фичи в Дебиан
особенно.




Re: /dev/tcp

2001-11-18 Пенетрантность Oleg P. Philon
On Fri, Nov 16, 2001 at 06:06:06PM +0200, Alexei Khlebnikov wrote:
   Можно портабельно: netcat (бинарник зовут nc).
  Пример:
   ls | nc host port
 
   Вещь в хозяйстве очень полезная.
 
 Ух, целых три письма про неткат. С неткатом я и сам умею, а нужно как раз без 
 него
 (долго объяснять почему). Как без нетката? Я знаю, можно как-то через /dev, 
 только не
 помню, как конкретно и какие условия должны соблюдаться (версия ядра, опции, 
 etc).

Может, gawk поможет?

#! /bin/bash
echo 1-сеть: сервер ждёт соединение, пишет в порт|
gawk '{print|/inet/tcp//0/0}'
echo 2-эхо: клиент запрашивает соединение, читает из порта
gawk 'BEGIN{while((/inet/tcp/0/localhost/|getline)0)print}'
echo 3-эхо: сервер ждёт соединение, читает из порта
gawk 'BEGIN{while((/inet/tcp//0/0|getline)0)print}'
echo 4-сеть: клиент запрашивает соединение, пишет в порт|
gawk '{print|/inet/tcp/0/localhost/}'

Auf Wiederlesenophil aka Д-р Антикоммуний
--
Oleg P. Philon  http://gomelug.agava.ru/articles
Linux Lab, Gomel, Belarus   mailto:[EMAIL PROTECTED]
http://anticommunist.narod.ru   mailto:[EMAIL PROTECTED]



Re: /dev/tcp

2001-11-16 Пенетрантность Vlad Harchev
On Fri, 16 Nov 2001, Alexei Khlebnikov wrote:

 Подскажите пожалуйста, как перенаправить вывод в tcp-порт. Помню там что-то 
 типа
 
 ls /dev/tcp/host/port

 Можно портабельно: netcat (бинарник зовут nc).
Пример:
 ls | nc host port

 Вещь в хозяйстве очень полезная.

 Best regards,
  -Vlad



Re: /dev/tcp

2001-11-16 Пенетрантность Alexei Khlebnikov
Vlad Harchev wrote:

 On Fri, 16 Nov 2001, Alexei Khlebnikov wrote:

  Подскажите пожалуйста, как перенаправить вывод в tcp-порт. Помню там что-то 
  типа
 
  ls /dev/tcp/host/port

  Можно портабельно: netcat (бинарник зовут nc).
 Пример:
  ls | nc host port

  Вещь в хозяйстве очень полезная.

Ух, целых три письма про неткат. С неткатом я и сам умею, а нужно как раз без 
него
(долго объяснять почему). Как без нетката? Я знаю, можно как-то через /dev, 
только не
помню, как конкретно и какие условия должны соблюдаться (версия ядра, опции, 
etc).




Re: /dev/tcp

2001-11-16 Пенетрантность Rubin Shafiev
 Ух, целых три письма про неткат. С неткатом я и сам умею, а нужно как раз
 без него (долго объяснять почему). Как без нетката? Я знаю, можно как-то
 через /dev, только не помню, как конкретно и какие условия должны
 соблюдаться (версия ядра, опции, etc).

man bash?

  /dev/tcp/host/port
 If host is  a  valid  hostname  or  Internet
 address, and port is an integer port number,
 bash attempts to open a  TCP  connection  to
 the corresponding socket.
  /dev/udp/host/port
 If  host  is  a  valid  hostname or Internet
 address, and port is an integer port number,
 bash  attempts  to  open a UDP connection to
 the corresponding socket.



Re: /dev/tcp

2001-11-16 Пенетрантность Dmitriy Kropivnitskiy
Неа, так оно не работает. Вообще фраза перенаправить вывод в tcp-порт 
некорректна. Проблема в том, что порта как некого виртуального устройства 
просто нету. Есть сокеты. У сокета ( если ето TCP или UDP сокет и если его 
уже к комуто connect()-нули ) есть source port и destination port которые 
являются его как бы свойствами. Так вот, для того чтобы на сокет чего-нибудь
послать, есть два метода. Во первых его можно програмными методами самому 
открыть и пользоваться, во вторых можно воспользоваться inetd который с 
сокетами работает сам а программа шлет и получает данные через stdio и stdout.
Если разговор про то, как подсоединится к уже открытому слушающему порту, 
можно использовать telnet ( TCP ) или netcat ( TCP и UDP ). Послать что-либо 
через чужой сокет ( не слушающий ) на сколько я знаю нельзя. Можно только 
подделать адрес и TCP флаги и вклинится в существующее соединение. Это 
впрочем дело для хакеров. Почитай следующие документы:

man socket ( функция socket() для C )
info libc ( главу про програмирование с сокетами )
man perlipc ( про сокеты в perl )
man inetd ( про работу с inetd )

On Friday 16 November 2001 07:53 am, Alexei Khlebnikov wrote:
 Подскажите пожалуйста, как перенаправить вывод в tcp-порт. Помню там что-то
 типа

 ls /dev/tcp/host/port



Re: /dev/tcp

2001-11-16 Пенетрантность Oleg P. Philon
On Fri, Nov 16, 2001 at 01:26:47PM -0500, Dmitriy Kropivnitskiy wrote:
 Неа, так оно не работает. Вообще фраза перенаправить вывод в tcp-порт 
 некорректна. Проблема в том, что порта как некого виртуального устройства 
 просто нету. Есть сокеты. У сокета ( если ето TCP или UDP сокет и если его 
...
 man socket ( функция socket() для C )
 info libc ( главу про програмирование с сокетами )
 man perlipc ( про сокеты в perl )
 man inetd ( про работу с inetd )

Советую ещё info -f gawkinet

Начиная с версии 3.1 gawk работает с двунаправленными портами
через новую конструкцию |

Например, запускаешь сервер :

... $ gawk 'BEGIN{print strftime()|/inet/tcp//0/0}'

а потом читаешь из порта:

... $ gawk 'BEGIN{/inet/tcp/0/localhost/|getline;print}'

Auf Wiederlesenophil aka Д-р Антикоммуний
--
Oleg P. Philon  http://gomelug.agava.ru/articles
Linux Lab, Gomel, Belarus   mailto:[EMAIL PROTECTED]
http://anticommunist.narod.ru   mailto:[EMAIL PROTECTED]