ນີ້ແມ່ນ netpipes ຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ຢູ່ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
netpipes - ຊຸດເພື່ອຈັດການຊ່ອງສຽບການຖ່າຍທອດ BSD TCP/IP
4.2 Version
ສະຫຼຸບສັງລວມ
ກauອກນ້ ຳ port (--ໃນ|--ອອກ|--err|--fd n)+ [--ຄັ້ງດຽວ] [-- verbose] [--ງຽບ] [--unix]
[--ເຈົ້າພາບຕ່າງປະເທດ ສິ່ງເສບຕິດ] [-- ຕ່າງປະເທດ port] [--localhost ສິ່ງເສບຕິດ] [--serial] [--daemon]
[--ປິດເຄື່ອງ (r|w) ] [--pidfile ຊື່ເອກະສານ] [--noreuseaddr] [--backlog n]
[-[i][o][e][#3[,4[,5...]]][v][1][q][u][d][s]] [-p ທ່າເຮືອຕ່າງປະເທດ] [-h ເຈົ້າພາບຕ່າງປະເທດ] [-H
ທ້ອງຖິ່ນ-ເຈົ້າພາບ] ຄໍາສັ່ງ ໂຕ້ຖຽງ
ທໍ່ hostname port (--ໃນ|--ອອກ|--err|--fd n|--ທາດ) [-- verbose] [--unix] [-- ທ່າເຮືອທ້ອງຖິ່ນ
port] [--localhost ສິ່ງເສບຕິດ] [--ລອງໃໝ່ n] [--ຊັກຊ້າ n] [--ປິດເຄື່ອງ [r|w][a]] [--noreuseaddr]
[-[i][o][e][#3[,4[,5...]]][s][v][u]] [-p ທ່າເຮືອທ້ອງຖິ່ນ] [-h ທ້ອງຖິ່ນ-ເຈົ້າພາບ] ຄໍາສັ່ງ ໂຕ້ຖຽງ
ປິດລ້ອມ --fd n [ -- verbose ] [ -- subproc [ --infd n[=sid] ] [ --outfd n[=sid] ] [
-- duplex n[=sid] ] [ -- ຄູ່ n[=sid] ] [ --DUPLEX n[=sid] ] [ --ມັກ-ທ້ອງຖິ່ນ ] [
--prefer-remote ] [ --ທ້ອງຖິ່ນເທົ່ານັ້ນ ] [ --ໄລຍະໄກເທົ່ານັ້ນ ] ] [ --ລູກຄ້າ ] [ --ເຊີບເວີ ]
-[#n][v][s[in][on][dn][ion][oin][l][r][L][R]] ຄໍາສັ່ງ ໂຕ້ຖຽງ ...
sockdown [fd [ວິທີການ] ]
getpeername [ - ກະດູກ ] [ - ຖົງຕີນ ] [ fd ]
getsockname [ - ກະດູກ ] [ - ເພື່ອນ ] [ fd ]
timelimit.netpipes [ -v ] [ -nokill ] ທີ່ໃຊ້ເວລາ ຄໍາສັ່ງ ໂຕ້ຖຽງ
ລາຍລະອຽດ
ຊຸດ netpipes ເຮັດໃຫ້ TCP/IP streams ສາມາດໃຊ້ໄດ້ໃນ shell scripts. ມັນຍັງສາມາດເຮັດໃຫ້ງ່າຍດາຍ
ລະຫັດລູກຄ້າ/ເຊີບເວີໂດຍການອະນຸຍາດໃຫ້ນັກຂຽນໂປລແກລມຂ້າມທຸກບິດການຂຽນໂປຼແກຼມທີ່ໜ້າເບື່ອ
ກ່ຽວຂ້ອງກັບເຕົ້າຮັບແລະສຸມໃສ່ການຂຽນຕົວກອງ / ການບໍລິການ.
``ເປັນຫຍັງ ຈະ ໃຜ ຕ້ອງການ to do ນັ້ນ?''
-- Richard ຄົນຢືນ
ກauອກນ້ ຳ ແມ່ນຈຸດສິ້ນສຸດຂອງເຊີບເວີຂອງກະແສ TCP/IP. ມັນຟັງຢູ່ໃນທ່າເຮືອຂອງເຄື່ອງທ້ອງຖິ່ນ
ລໍຖ້າການເຊື່ອມຕໍ່. ທຸກໆຄັ້ງທີ່ມັນເຊື່ອມຕໍ່ມັນຢຸດຂະບວນການເພື່ອປະຕິບັດ a
ການບໍລິການສໍາລັບລູກຄ້າເຊື່ອມຕໍ່.
ທໍ່ ແມ່ນຈຸດສິ້ນສຸດຂອງລູກຄ້າຂອງການຖ່າຍທອດ TCP/IP. ມັນເຊື່ອມຕໍ່ຢ່າງຈິງຈັງກັບພອດຫ່າງໄກສອກຫຼີກແລະ
execs ຂະບວນການຮ້ອງຂໍການບໍລິການ.
ປິດລ້ອມ ແມ່ນການຈັດຕັ້ງປະຕິບັດອະນຸສັນຍາການຄວບຄຸມເຊດຊັນ. ມັນອະນຸຍາດໃຫ້ທ່ານ
multiplex ຫຼາຍສາຍນ້ໍາໃນທົ່ວເຊດຊັນ TCP ດຽວແລະຍັງສົ່ງອອກຈາກທາງໄກ
ສະຖານະພາບ.
sockdown ເປັນໂຄງການທີ່ງ່າຍດາຍທີ່ອອກແບບມາເພື່ອປິດບາງສ່ວນຫຼືທັງຫມົດຂອງການເຊື່ອມຕໍ່ socket.
ມັນເປັນປະໂຫຍດຕົ້ນຕໍໃນເວລາທີ່ຂະບວນການເຊື່ອມຕໍ່ກັບເຕົ້າສຽບປະຕິບັດການປ້ອນຂໍ້ມູນແລະ
ຜົນຜະລິດ.
getpeername ແລະ getsockname ແມ່ນສອງຊື່ສໍາລັບໂຄງການທີ່ຖືກອອກແບບມາເພື່ອພິມອອກ
ທີ່ຢູ່ຂອງປາຍຂອງເຕົ້າຮັບ. getpeername ພິມທີ່ຢູ່ຂອງປາຍຫ່າງໄກສອກຫຼີກແລະ
getsockname ພິມທີ່ຢູ່ຂອງທ້ອງຖິ່ນ.
timelimit.netpipes ຈໍາກັດຈໍານວນຂອງກໍານົດເວລາກໍາແພງຫີນເບື້ອງຫນ້າຂະບວນການອາດຈະໃຊ້ເວລາ.
ຫຼັງຈາກທີ່ກໍານົດເວລາຫມົດ, ມັນຈະຂ້າຂະບວນການ, ຫຼືອອກແລະປ່ອຍໃຫ້ມັນຢູ່ໃນ
ພື້ນຫລັງ
ຕົວຢ່າງ
ນີ້ແມ່ນຄໍາສັ່ງງ່າຍໆທີ່ຂ້ອຍມັກຈະປະຕິບັດເພື່ອໂອນຕົ້ນໄມ້ໄດເລກະທໍລີລະຫວ່າງເຄື່ອງຈັກ.
(rsh ບໍ່ເຮັດວຽກເພາະວ່າເຄື່ອງຫນຶ່ງເຊື່ອມຕໍ່ໂດຍໃຊ້ SLIP ແລະ .rhosts ແມ່ນອອກຈາກ
ຄໍາຖາມ).
server$ faucet 3000 --out tar cf- .
client$ hose server 3000 --in tar xvf --
ນີ້ແມ່ນລູກຄ້າ HTTP ໜ້ອຍທີ່ສຸດ. ມັນຫນ້ອຍທີ່ສຸດທີ່ມັນເວົ້າ HTTP ເກົ່າ.
Cairo$ hose www.cis.ufl.edu 80 --in --out \
sh -c "(echo 'GET /'; sockdown) & cat > results"
ແລະແນ່ນອນ, ມີ metaserver ຂອງ Nick Trown ສໍາລັບ Netrek
cairo$ hose metaserver.ecst.csuchico.edu 3521 --ໃນ cat
ອະນຸຍາດໃຫ້ຂ້ອຍຂໍໂທດກ່ອນເວລາສໍາລັບຄວາມວຸ່ນວາຍຂອງຕົວຢ່າງຕໍ່ໄປນີ້. ມັນ
ຮຽກຮ້ອງໃຫ້ມີຄວາມເຂົ້າໃຈກ່ຽວກັບ Bourne shell file descriptor syntax (ແລະ
ສະແດງໃຫ້ເຫັນວ່າເປັນຫຍັງ csh ແລະ tcsh ດູດໄຂ່). ຢ່າພະຍາຍາມພິມນີ້ຈາກຄໍາສັ່ງ tcsh ຂອງທ່ານ
ສາຍ. ໄດ້ຮັບ bash (GNU's Bourne Again SHell).
ສົມມຸດວ່າທ່ານຕ້ອງການຈໍາແນກລະຫວ່າງ stdout ແລະ stderr ຂອງຂະບວນການຫ່າງໄກສອກຫຼີກ
ໄລຍະໄກ$ faucet 3000 --fd 3 \
encapsulate --fd 3 --infd 0 --outfd 1 --outfd 2 --suproc \
ແອັບໄລຍະໄກ
local$ hose remote 3000 --fd 3 \
encapsulate --fd 3 --outfd 3 --infd 4 --infd 5 --suproc \
sh -c "cat 0<&4 3>&- & cat 0<&5 1>&2 3>&- & \
cat 1>&3 ; exec 3>&-"
ປິດຕົວອະທິບາຍໄຟລ໌ທີ່ບໍ່ຕ້ອງການທັງໝົດເມື່ອທ່ານສ້າງໜ້າວຽກພື້ນຫຼັງ. ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າ
ແມວທີ່ມີພື້ນຫຼັງມີ 3>&-.
server$ faucet 3000 --in --out --verbose enscript -2rGhp -
ລູກຄ້າ$ ps aux | hose server 3000 --in --out \
sh -c " (cat <&3; sockdown ) & cat >&4 " 3<&0 4>&1 | \
lpr -Pps422
# ຫຼືບາງທີນີ້, ແຕ່ຂ້ອຍບໍ່ໄດ້ທົດສອບມັນ
ລູກຄ້າ$ ps aux | hose server 3000 --fd 3 \
sh -c " (cat >&3; sockdown 3 ) & cat <&3 " | \
lpr -Pps422
ອັນນີ້ພິສູດວ່າທໍ່ນັ້ນ ສາມາດເຮັດໄດ້ ຖືກໃຊ້ເປັນສ່ວນໜຶ່ງຂອງທໍ່ສົ່ງເພື່ອປະຕິບັດການຈັດລຽງຂອງໄລຍະໄກ
ໂທຫາຂັ້ນຕອນ (RPC). ຫຼັງຈາກທີ່ເຈົ້າໄດ້ຄິດອອກຕົວຢ່າງນັ້ນ, ເຈົ້າຈະຮູ້ວິທີການນໍາໃຊ້
Bourne shell ເພື່ອສະຫຼັບຕົວອະທິບາຍໄຟລ໌ອ້ອມຮອບ. ມັນເປັນທັກສະທີ່ມີປະໂຫຍດ.
ໃນປັດຈຸບັນພວກເຮົາໄປທີ່ສຸດ, ແຕ່ເຮັດໃຫ້ງ່າຍດາຍສິ່ງຕ່າງໆໂດຍການນໍາໃຊ້ --ທາດ ທາງເລືອກຂອງທໍ່. ໄດ້
ຕໍ່ໄປນີ້ແມ່ນ relay ເຕົ້າຮັບ
gateway$ faucet 3000 -io hose server 4000 --slave
ມັນເປັນ bugger ພຽງເລັກນ້ອຍທີ່ມີປະໂຫຍດໃນເວລາທີ່ທ່ານຕ້ອງການ tunnel ຜ່ານ firewall ໃນບາງຄັ້ງຄາວ
ພື້ນຖານ. ຖ້າຫາກວ່າທ່ານມີປະສົບການ "ຫ້ອຍ" ຂອງການເຊື່ອມຕໍ່, ພະຍາຍາມນໍາໃຊ້ --netslave ທາງເລືອກ
ແທນທີ່ --ທາດ. (telnet proxies ຈະໄດ້ຮັບຜົນປະໂຫຍດຈາກນີ້)
ສໍາລັບຜູ້ທີ່ໃຊ້ ssh, ນີ້ແມ່ນວິທີການເຈາະຂໍ້ມູນບາງຢ່າງໂດຍຜ່ານການເຂົ້າລະຫັດ
ພອດ SSH ໄປຂ້າງຫນ້າ.
server$ faucet 3000 -1v --fd 1 --foreignhost server echo blah
client$ ssh -n -x -L 3000: server: 3000 server sleep 60 &
client$ hose localhost 3000 --fd 0 -retry 10 cat
ເຄັດລັບທີ່ມີການສົ່ງຕໍ່ພອດຂອງ ssh, ແມ່ນວ່າ ປິດເຄື່ອງ(2) ການໂທລະບົບເຮັດໃຫ້ ssh
ປິດທັງສອງເຄິ່ງຂອງການເຊື່ອມຕໍ່ full-duplex ແທນທີ່ຈະມີພຽງແຕ່ເຄິ່ງຫນຶ່ງເທົ່ານັ້ນ. ນັ້ນແມ່ນເຫດຜົນທີ່ທ່ານ
ຕ້ອງໃຊ້ --fd 1 ແລະ --fd 0. ຖ້າທ່ານຕ້ອງການທີ່ຈະສາມາດປິດການເຊື່ອມຕໍ່ເຄິ່ງຫນຶ່ງ
ໃນຂະນະທີ່ຍັງໃຊ້ອີກອັນຫນຶ່ງ, ໃຫ້ໃຊ້ຜ້າຫຸ້ມຫໍ່ຫຸ້ມຫໍ່.
server$ faucet 3000 -1v --fd 3 --foreignhost server \
encapsulate --fd 3 --server -si0o1 tr az AZ
client$ ssh -n -x -L 3000: server: 3000 server sleep 60 &
ລູກຄ້າ $ echo blah | hose localhost 3000 --fd 3 -retry 10 \
encapsulate --fd 3 --client
REMARK
ຜູ້ຮັກສາຊຸດ Debian ໄດ້ປ່ຽນຊື່ ກຳນົດເວລາ ເພື່ອສະແດງອອກຫຼາຍ
timelimit.netpipes, ຍ້ອນວ່າມີທາງເລືອກທີ່ດີກວ່າການນໍາໃຊ້ຊື່ສັ້ນດຽວກັນ, ແຕ່
ເຊິ່ງຖືກຮັກສາໄວ້ຢ່າງຫ້າວຫັນເປັນຊອບແວເອກະລາດ.
ໃຊ້ netpipes ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net