Jest to kran poleceń, który można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
kran - oprawa do rury sieciowej BSD
netpipe 4.2
STRESZCZENIE
kran Port (--w|--na zewnątrz|--błądzić|--fd n)+ [--pewnego razu] [--gadatliwy] [--cichy] [--uniks]
[--obcy host Addr] [--zagranica Port] [--Lokalny Gospodarz Addr] [--seryjny] [--demon]
[--zamknąć (r|w) ] [--pidplik filename] [--noreuseaddr] [--zaległości n]
[-[i][o][e][#3[,4[,5...]]][v][1][q][u][d][s]] [-p port-zagraniczny] [-h zagraniczny-gospodarz] [-H
Lokalny Gospodarz] komenda args
OPIS
kran próbuje zapewnić funkcjonalność rur w sieci. Zachowuje się jak
serwer koniec połączenia serwer-klient. W przypadku użycia z wąż gumowy(1) może funkcjonować jako
zamiennik
smoła -cf - . | rsh inne "cd destdir; tar -xf -"
kran i wąż gumowy są szczególnie przydatne, gdy nie masz łatwego nieinteraktywnego dostępu do
konto docelowe (takie jak konto root, gdzie .rhosts to zły pomysł).
kran tworzy gniazdo BSD, wiąże je z Port określone w wierszu poleceń i
nasłuchuje połączeń.
Każdego razu kran dostaje połączenie to exec(2)s komenda i jego args z stdin, stdout,
stderr i/lub dowolne deskryptory plików przekierowane zgodnie z --w --na zewnątrz --błądzić
--fd n flagi. kran również automagicznie zamyka nieużywaną połowę połączenia, jeśli
tylko --w jest określony lub jeśli tylko --na zewnątrz i / lub --błądzić są określone. Zobacz --zamknąć
opcja, aby uzyskać więcej informacji.
OPCJE
Jeśli --pewnego razu podana jest flaga, kran będzie exec(2) komenda zamiast widelec(2)ing i
exec(2) ing. --pewnego razu oznacza, że rura sieciowa nadaje się tylko na jeden strzał.
Połączenia --gadatliwy flaga określa, że kran powinien wyświetlić informacje o łączeniu hostów.
Informacje te obejmują numeryczny adres hosta, nazwy hostów i numery portów obcych.
Połączenia --cichy flaga określa, że kran NIE powinien drukować takich informacji. --cichy jest
domyślna.
Połączenia --uniks flaga określa, że Port nie jest numerem portu internetowego ani nazwą usługi,
ale zamiast tego jest to nazwa pliku dla gniazda domeny UNIX.
Połączenia --obcy host opcja określa, że kran powinien odrzucać wszystkie połączenia, które nie
pochodzą z gospodarz maszyna. podobnie --zagranica określa, że kran powinien odrzucić
wszystkie połączenia, które nie są powiązane na ich lokalnej maszynie z Port argument. Powyższe
dwie opcje pozwalają na surową formę uwierzytelniania. Zauważ, że w systemach UNIX tylko root może
powiązać gniazdo z numerem portu poniżej 1024.
Proszę nie daj się zwieść myśleniu, że to zapewnia bezpieczeństwo kranu. Są sposoby na sfałszowanie
Numery IP, które są znane od lat (ale dopiero niedawno upublicznione). myślę, że
ta metoda jest bezpieczna przed podszywaniem się pod DNS, ale prawdopodobnie powinieneś to zrobić no spoof on in
/etc/host.conf anyway.
--Lokalny Gospodarz określa, że gniazdo nasłuchujące powinno być powiązane z określonym internetem
adres na tym hoście. Jest to przydatne tylko na hostach z kilkoma numerami internetowymi.
--demon określa, że kran powinien raz odłączyć się od terminala sterującego
zaczął nasłuchiwać w gnieździe. Odbywa się to za pomocą wywołania systemowego setsid(). Gdyby
nie masz w swoim systemie setsid, używa on standardowego ``zamknij wszystkie deskryptory plików,
ioctl TIOCNOTTY, sekwencja fork() i wyjścia rodzica.
--zamknąć służy do zmiany (zwykle) dwukierunkowego gniazda w jednokierunkowe
Jeśli obecne jest `r', to kran zamknie połowę połączenia, aby było tylko do odczytu
gniazdo elektryczne. Jeśli spróbujemy pisać, to się nie powiedzie. Jeśli zdalne połączenie próbuje odczytać, to
będzie postrzegać gniazdo jako zamknięte. Jeśli zamiast tego występuje `w', to kran Zamknie
drugą połowę połączenia, aby było to gniazdo tylko do zapisu. Jeśli spróbujemy czytać, my
będzie postrzegać gniazdo jako zamknięte. Jeśli zdalne połączenie spróbuje pisać, będzie
ponieść porażkę. Domyślnym zachowaniem jest pozostawienie obu połówek otwartych, jednak zamknięcie połowy
połączenie jest wykonywane automagicznie przez pewne kombinacje --w, --na zewnątrz, --błądzić
flagi. Aby stłumić ich automagiczne zachowanie, możesz użyć (odpowiednio) --fd 0, --fd 1,
i --fd 2.
--zamknąć nie może być używany z niektórymi serwerami internetowymi (takimi jak niektóre httpd), ponieważ
zamknięcie jednej połowy połączenia interpretują jako zamknięcie na całości
połączenie. To ostrzeżenie dotyczy --w, --na zewnątrz, --błądzić.
--seryjny powoduje, że kran czeka, aż jedno dziecko skończy, zanim zaakceptuje więcej
znajomości. Serializacja jest bardzo prymitywną formą zarządzania sekcją krytyczną.
--pidplik filename Polecenia kran zapisać swój identyfikator procesu w filename. To jest przydatne
gdy kran jest częścią większego systemu, a proces kontrolny może chcieć zabić
kran. --pidplik działa prawidłowo podczas korzystania z --demon opcja.
Domyślnie kran wykonuje
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR...)
co zapobiega problemowi ``Adres w użyciu'', który nękał netpipes w wersjach 4.0 i
wcześniej. --noreuseaddr mówi kranowi, aby pominął to wywołanie systemowe i powrócił do wersji sprzed 4.1
zachowanie. Bez tego wywołania gniazdo nie zawsze jest dostępne do natychmiastowego ponownego użycia po
kran wychodzi.
--zaległości n pozwala określić drugi parametr do słuchać(2) wywołanie systemowe. ten
wartość domyślna to 5.
SHORT FLAGI
Aby zmniejszyć wymagania dotyczące pisania na maszynie dla argumentów (i oddać hołd staruszkowi)
tradycja kryptotaksonomii UNIX) Dodałem kilka krótkich form flag. Tutaj jest
tabela korespondencji:
┌┌────┬┬┬────────────┐┐.
│Krótki │ Długi │
│ i │ in │
│ o │ na zewnątrz │
│ e │ błądzić │
│ #n │ fdn │
│ v │ gadatliwy │
│ 1 │ pewnego razu │
│ q │ cichy │
│ u │ UNIX │
│ d │ Demon │
│ s │ seryjny │
│ p │ zagraniczny │
│ h │ zagraniczny host │
│ H │ localhost │
└└────┴┴┴────────────┘┘.
Na przykład następujące polecenie
przykład$ kran 3000 --out --verbose --once --foreignhost klient echo blah
można napisać
przykład$ kran 3000 -ov1h klient echo blah
Połączenia -p, -h, -H flagi przyjmują argument, ale flagi mogą być zgrupowane w jeden argument.
Następnie pobierają potrzebne argumenty z wiersza poleceń w kolejności flag
pojawiają.
przykład$ kran 3000 -hpHov1 klient 2999 przykład-le2 echo blah
Natomiast każdy --fd flaga słowna wymagała indywidualnego deskryptora, -# flaga postaci może
weź wiele deskryptorów. Poniższe są równoważne:
przykład$ kran 3000 --fd 0 --fd 1 --verbose --raz echo blah
przykład $ kran 3000 -#0,1v --raz echo blah
przykład $ kran 3000 -v1#0,1 echo blah
przykład $ kran 3000 -#0,1v1 echo blah
Pamiętaj, że musisz uważać podczas korzystania z -# flaga postaci i -1 charakter
flaga w tym samym argumencie. Pamiętaj też o specjalnym zamknięcie(2) semantyka -W i
-na zewnątrz.
PRZYKŁADY
Spowoduje to utworzenie gniazda TCP-IP na komputerze lokalnym powiązanym z portem 3000.
przykład$ kran 3000 --out --verbose tar -cf - .
Za każdym razem, gdy jakiś proces (z dowolnej maszyny) próbuje połączyć się z portem 3000 na tym
maszyna do kran program będzie widelec(2) proces, a dziecko będzie exec(2) a
smoła -cf - .
Połączenia --na zewnątrz opcja oznacza, że wyjście procesu potomnego zostanie przekierowane do
nowe gniazdo odzyskane przez przyjąć(2) wezwanie. --gadatliwy oznacza, że kran będzie drukować
informacje o każdym nowym połączeniu.
Tworzy to gniazdo domeny UNIX w bieżącym katalogu
przykład$ kran u-socket --out --err --once --unix csh -c \
"dd if=angio.pgm | funky.perl.script"
Połączenia --na zewnątrz --błądzić opcja oznacza, że stdout i stderr zostaną przekierowane w dziecku
proces. Plik --pewnego razu opcja oznacza, że kran nie będzie widelec(2), ale exec(2)
proces, tak aby tylko pierwszy proces mógł połączyć się z gniazdem u przed kranem;
stanie się niedostępny.
Ten przykład nasłuchuje w gnieździe, dopóki nie nastąpi pierwsze połączenie. Następnie odradza się
dwukierunkowa kopia, która jest podobna do węża -slave.
kran 3000 -1v --fd 3 sh -c 'kot <&3 & kot >&3 ; wyprzedaż 3'
Korzystaj z kranu online za pomocą usług onworks.net