Это командный сборщик, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
кран - приспособление для сетевой трубы BSD
сетевые трубы 4.2
СИНТАКСИС
кран порт (--в|--из|--ошибка|--fd n) + [--однажды] [--подробный] [--тихий] [--unix]
[--foreignhost адр] [- иностранный порт порт] [--localhost адр] [--последовательный] [- демон]
[--неисправность (г | ш)] [--pidfile имя файла] [--noreuseaddr] [--бэклог n]
[-[i][o][e][#3[,4[,5...]]] [v][1][q][u][d][s]] [-p иностранный порт] [-h иностранный хозяин] [-H
местный хост] команду арг
ОПИСАНИЕ
кран пытается обеспечить функциональность каналов по сети. Он ведет себя как
серверная часть соединения сервер-клиент. При использовании с шланг(1) он может функционировать как
замена для
tar -cf -. | rsh другой "cd destdir; tar -xf -"
кран и шланг особенно полезны, когда у вас нет простого неинтерактивного доступа к
учетная запись назначения (например, учетная запись root, где .rhosts - плохая идея).
кран создает сокет BSD, привязывает его к порт указан в командной строке, и
слушает соединения.
Каждый раз кран получает связь Exec(2) с команду и ее арг с stdin, stdout,
stderr и / или произвольные файловые дескрипторы, перенаправленные в соответствии с --в --из --ошибка
--fd n флаги. кран также автоматически отключает неиспользуемую половину соединения, если
Важно --в указано или если только --из и / или --ошибка указаны. Увидеть --неисправность
вариант для получения дополнительной информации.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Если же линия индикатора --однажды указан флаг, кран предусматривает Exec(2) команду вместо вилка(2) ing и
Exec(2) инж. --однажды означает, что сетевая труба годна только для одного выстрела.
Команда --подробный флаг указывает, что кран должен распечатать информацию о подключенных хостах.
Эта информация включает числовой адрес хоста, имена хостов и номера внешних портов.
Команда --тихий флаг указывает, что кран НЕ следует печатать такую информацию. --тихий это
по умолчанию.
Команда --unix флаг указывает, что порт это не номер интернет-порта или имя службы,
но вместо этого это имя файла для сокета домена UNIX.
Команда --foreignhost опция указывает, что сборщик должен отклонять все соединения, которые не
исходить из кашель машина. сходным образом - иностранный порт указывает, что кран должен отклонить
все подключения, которые не привязаны на их локальном компьютере к порт аргумент. Над
два варианта позволяют использовать грубую форму аутентификации. Обратите внимание, что в системах UNIX только root может
привязать сокет к номеру порта ниже 1024.
Пожалуйста, не обманывайте себя, думая, что это делает кран безопасным. Есть способы обмануть
IP-адреса, известные годами (но обнародованные только недавно). Я думаю что
этот метод безопасен от подмены DNS, но вам, вероятно, следует иметь нюхать on in
/etc/host.conf так или иначе.
--localhost указывает, что прослушивающий сокет должен быть привязан к определенному Интернету
адрес на этом хосте. Это полезно только на хостах с несколькими интернет-номерами.
- демон указывает, что кран должен отключиться от управляющего терминала один раз
он начал прослушивать сокет. Это делается с помощью системного вызова setsid (). Если
у вас нет setid в вашей системе, он использует стандартный `` закрыть все файловые дескрипторы,
ioctl TIOCNOTTY, fork () и родительский выход ''.
--неисправность используется для превращения (обычно) двунаправленной розетки в однонаправленную
Если `r 'присутствует, то кран закроет половину соединения, чтобы сделать его доступным только для чтения
разъем. Если мы попытаемся написать, ничего не получится. Если удаленное соединение пытается прочитать, оно
будет воспринимать сокет как закрытый. Если вместо этого присутствует `w ', то кран закроет
другая половина соединения, чтобы сделать его сокетом только для записи. Если мы попытаемся читать, мы
будет воспринимать сокет как закрытый. Если удаленное соединение пытается писать, оно
неудача. По умолчанию обе половины остаются открытыми, однако отключение половины
соединение выполняется автоматически с помощью определенных комбинаций --в, --изи --ошибка
флаги. Чтобы подавить их автоматическое поведение, вы можете использовать (соответственно) --fd 0, --fd 1,
и --fd 2.
--неисправность не может использоваться с некоторыми интернет-серверами (например, некоторыми httpds), потому что
они интерпретируют закрытие одной половины соединения как закрытие всего
связь. Это предупреждение относится к --в, --изи --ошибка.
--последовательный заставляет сборщик ждать, пока один ребенок закончит, прежде чем принять еще
соединения. Сериализация - это очень грубая форма управления критическими секциями.
--pidfile имя файла команды кран записать его идентификатор процесса в имя файла. Это полезно
когда кран является частью более крупной системы, и контролирующий процесс может захотеть убить
кран. --pidfile функционирует должным образом при использовании - демон опцию.
По умолчанию кран выполняет
setsockopt (fd, SOL_SOCKET, SO_REUSEADDR ...)
что предотвращает проблему `` Используемый адрес '', которая `` преследовала '' netpipes версий 4.0 и
ранее. --noreuseaddr сообщает крану пропустить этот системный вызов и вернуться к версии до 4.1
поведение. Без этого вызова сокет не всегда доступен для немедленного повторного использования после
кран выходит.
--бэклог n позволяет указать второй параметр для Слушать(2) системный вызов. В
по умолчанию - 5.
SHORT ФЛАГИ
Чтобы уменьшить требования к вводу аргументов (и отдать дань уважения старым
традиция криптотаксономии UNIX) Я добавил несколько сокращенных форм флагов. Вот
таблица соответствия:
┌──────┬───────────────┐
│Короткое │ Длинное │
│ i │ in │
│ o │ внешний │
│ e │ заблуждаться │
│ #n │ fdn │
│ v │ подробный │
│ 1 │ консолидировать │
│ q │ тихий │
│ u │ Юникс │
│ d │ демон │
│ s │ последовательный │
│ p │ иностранный порт │
│ h │ чужой │
│ H │ локальный │
└──────┴───────────────┘
Например, следующая команда
пример $ faucet 3000 --out --verbose --once --foreignhost client echo blah
можно было бы написать
пример $ faucet 3000 -ov1h client echo blah
Команда -p, -hи -H флаги принимают аргумент, но флаги могут быть сгруппированы в один аргумент.
Затем они берут необходимые аргументы из командной строки в том порядке, в котором флаги.
появляются.
пример $ faucet 3000 -hpHov1 client 2999 example-le2 echo blah
В то время как каждый --fd флаг слова требовал индивидуального дескриптора, -# флаг персонажа может
взять несколько дескрипторов. Следующие варианты эквивалентны:
пример $ faucet 3000 --fd 0 --fd 1 --verbose --once echo blah
пример $ faucet 3000 - # 0,1v --once echo blah
пример $ faucet 3000 -v1 # 0,1 echo blah
пример $ faucet 3000 - # 0,1v1 echo blah
Обратите внимание, что при использовании -# флаг персонажа и -1 персонаж
флаг в том же аргументе. Также помните об особом выключение(2) семантика -in и
-вне.
ПРИМЕРЫ
Это создает сокет TCP-IP на локальном компьютере, привязанном к порту 3000.
пример $ faucet 3000 --out --verbose tar -cf -.
Каждый раз, когда какой-либо процесс (с любой машины) пытается подключиться к порту 3000 на этом
машина кран программа будет вилка(2) процесс, и ребенок будет Exec(2) до
tar -cf -.
Команда --из опция означает, что вывод дочернего процесса будет перенаправлен в
новый сокет, полученный принимать(2) звонок. --подробный означает, что кран будет печатать
информация о каждом новом подключении.
Это создает сокет домена UNIX в текущем каталоге.
пример $ faucet u-socket --out --err --once --unix csh -c \
"dd if = angio.pgm | funky.perl.script"
Команда --из --ошибка опция означает, что stdout и stderr будут перенаправлены в дочерний
обработать. --однажды опция означает, что кран не будет вилка(2), но Exec(2)
процесс так, чтобы только первый процесс мог подключиться к U-разъему перед краном
становится недоступным.
В этом примере сокет прослушивается до тех пор, пока не будет установлено первое соединение. Затем он появляется
двунаправленная копия, аналогичная шлангу-ведомому.
кран 3000 -1v --fd 3 sh -c 'cat <& 3 & cat> & 3; сокдаун 3 '
Используйте сборщик онлайн с помощью сервисов onworks.net