/
hubbitus
/
shell.scripts
Обзор
Документация
Войти
/
hubbitus
/
shell.scripts
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
SHARED/examples/tcp.bash
37 строк
2 KB
Pavel Alexeev
Initial import all of my (Hubbitus) scripts
04 дек 2008, 11:35
04 дек 2008, 11:35
cb548b1
Код
Авторство
О чём код?
#!/bin/bash # dev-tcp.sh: Пример перенаправления на псевдоустройство /dev/tcp # Автор: Troy Engel. # Используется с разрешения автора. TCP_HOST=www.slashdot.org TCP_PORT=80 # 80-й порт -- это стандартный порт службы http. # Попытка выполнить соединение. (Своего рода 'ping.') echo "HEAD / HTTP/1.0" >/dev/tcp/${TCP_HOST}/${TCP_PORT} MYEXIT=$? : << EXPLANATION Если bash собран с ключом --enable-net-redirections, то он имеет возможность использовать специальное символьное устройство для перенаправления TCP и UDP. Оно практически идентично стандартным устройствам STDIN/STDOUT/STDERR. Создать это устройство (если его еще нет в системе) можно командой (разумеется, что при этом вы должны обладать правами root): mknod /dev/tcp c 30 36 >Из руководства к bash: /dev/tcp/host/port Если host является верным именем сетевого узла или IP-адресом, а port -- целое число или название сетевой службы, то Bash попытается открыть TCP-соединение с соответствующим узлом. EXPLANATION if [ "X$MYEXIT" = "X0" ]; then echo "Соединение установлено. Код завершения: $MYEXIT" else echo "Ошибка при попытке установить соединение. Код завершения: $MYEXIT" fi exit $MYEXIT