Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

getsockname — Online w chmurze

Uruchom getsockname w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie getsockname, które 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 systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


getpeername - uzyskaj informacje o tym lub innym końcu połączenia gniazda

netpipe 4.2

STRESZCZENIE


GetPeername [ -gadatliwy ] [ -skarpetka ] [ fd ]

dostaje nazwę skarpety [ -gadatliwy ] [ -rówieśnik ] [ fd ]

OPIS


To jest nie strona podręcznika wywołania systemowego getpeername. Ta strona podręcznika jest w środku
sekcja 2. Możesz uzyskać do niego dostęp za pomocą polecenia takiego jak „man 2 getpeername” lub „man -s 2
getpeername”. Przepraszam za zamieszanie.

GetPeername wykonuje GetPeername(2) wywołanie systemowe dotyczące jednego z określonych deskryptorów plików
by fd i drukuje wyniki. Domyślny fd wynosi 0 (stdin). Możesz spowodować GetPeername
zachowywać się jak dostaje nazwę skarpety podając argument -sock.

dostaje nazwę skarpety wykonuje dostaje nazwę skarpety(2) wywołanie systemowe dotyczące jednego z określonych deskryptorów plików
by fd i drukuje wyniki. Domyślny fd wynosi 0 (stdin). Możesz spowodować dostaje nazwę skarpety
zachowywać się jak GetPeername podając argument -peer.

Istnieje poważne ograniczenie GetPeername. Jeśli proces zdalny zamknął plik
połączenie, GetPeername zakończy się niepowodzeniem z powodu błędu „Gniazdo nie jest podłączone”. To będzie
zdarza się z zatrważającą częstotliwością, gdy proces zdalny nie jest zależny od procesu lokalnego
proces wprowadzania danych i wysyła tylko niewielkie ilości danych wyjściowych przed zamknięciem
połączenie. Mam nadzieję, że praktyczne zastosowania GetPeername (jeśli takie istnieją) nie będzie
przećwicz ten problem.

Możesz użyć GetPeername aby znaleźć adres przeciwnego końca gniazda. Możesz
posługiwać się dostaje nazwę skarpety aby znaleźć adres lokalnego końca gniazda. W rzeczywistości są
ten sam program pod różnymi nazwami. Obydwa będziemy nazywać po imieniu
GetPeername w poniższym opisie.

GetPeername wie, jak wyświetlić informacje równorzędne o gniazdach UNIX i Internet. Jeśli ty
spróbuj użyć go na innym typie gniazda, zakończy się to niepowodzeniem z powodu „nieznanej rodziny adresów”
błąd. Jeśli regularnie masz do czynienia z dziwnymi gniazdami i pragniesz GetPeername pracować z nimi,
Wyślij mi emaila.

Jeśli gniazdo jest gniazdem domeny UNIX, to GetPeername wypisuje nazwę pliku (który
jest portem) w jednej linii. Jeśli -gadatliwy został określony, GetPeername drukuje więcej
szczegółowy raport składający się ze słowa `Unix' w pierwszej linii i słowa `Port' w
drugiej linii, a nazwa pliku w trzeciej linii.

Jeśli gniazdo jest gniazdem internetowym, to GetPeername wypisuje numer portu na pierwszym
linii i adres numeryczny w drugiej linii. Jeśli -gadatliwy został określony, GetPeername
drukuje bardziej szczegółowy raport składający się ze słowa „Internet” w pierwszej linii,
słowo „Port” w drugiej linii, numer portu w trzeciej linii, słowo „Host” w drugiej linii
czwarta linia. Zaczynając od piątej linii, wypisuje wszystkie numeryczne adresy internetowe
zwrócone przez Gethostbyaddr(3) rutyna biblioteczna. W pozostałych liniach wypisuje wszystko
nazwy gospodarzy.

WIELKANOC EGG


Jeśli określisz -gadatliwy dwukrotnie, program wydrukuje informację o prawach autorskich.

PRZYKŁADY


Pierwotnie zaprojektowałem GetPeername aby skrypt powłoki uruchamiany z kranu mógł dowiedzieć się, kto
z nim rozmawiał (i być może przeprowadził kontrolę dostępu). Dodałem getsockname dla
kompletność. Teraz zdałem sobie sprawę, że getsockname jest przydatny w przypadku usług multi-homingowych.
Jednak większość oprogramowania, które chcesz zrozumieć, obsługującego wiele adresów (httpd, ftpd), już istnieje
jest w stanie to zrobić i znacznie wydajniej niż opakowanie skryptu. Mimo to, może
przydać się pewnego dnia.

Klient $ hose mail.cise.uff.edu smtp - -in ./getpeername
25
128.227.205.210

Połączyłeś się z mail.cis.ufl.edu na porcie SMTP (port 25). Aby uzyskać szczegółowy raport:

klient$ wąż mail.cise.ufl.edu smtp --in ./getpeername -v
Internet
Port
25
Gospodarz
128.227.205.210
fireant.cise.uff.edu

Podajmy teraz przykład warunku wyścigu, który spowoduje GetPeername nie zdać:

klient$ wąż web.cise.ufl.edu 80 -in ./getpeername
./getpeername: getpeername nie powiodło się na deskryptorze 0: Gniazdo nie jest połączone

Demon HTTP próbuje odczytać żądanie i znajduje połowę połączenia pełnego dupleksu
zamknięte (przez specjalne zachowanie opcji -in on wąż gumowy(1)) i zrywa połączenie
zanim GetPeername może wysłać zapytanie do deskryptora pliku. Możemy spowodować, że demon HTTP zaczeka
dla nas, pozostawiając otwarte obie połówki połączenia dupleksowego.

klient$ wąż web.cise.ufl.edu 80 -fd0 ./getpeername -v
Internet
Port
80
Gospodarz
128.227.205.206
powódź.cise.ufl.edu

I na koniec wydobądźmy przydatne informacje z naszego gniazda.

klient$ wąż web.cise.ufl.edu 80 -fd0 sh -c " ./getpeername -v | \
ogon +5 | egrep -v '^[0-9.]*$' | głowa -1"
powódź.cise.ufl.edu

BŁĘDY


Gniazdo działanie on bez gniazda Połączenia fd które podałeś nie odnosi się do gniazda lub odnosi się
do gniazdka, które zostało zamknięte. Dzieje się tak, gdy biegasz GetPeername samo w sobie (tzn
jest mało prawdopodobne, że którykolwiek z deskryptorów plików dołączonych do interaktywnej powłoki faktycznie taki jest
gniazdka) lub jeśli pomyliłeś polecenie dotyczące kranu/węża i zapomniałeś o tym dup(2) jeden z twoich
deskryptorów lub jeśli zdalnej maszynie udało się wcześniej zamknąć połączenie GetPeername
mógł biegać.

Łazienka filet numer Podałeś zły numer pliku fd. Jeśli masz wystarczające umiejętności
faktycznie generuje ten błąd, prawdopodobnie wiesz, co jest nie tak.

Jeśli napotkasz inne błędy, daj mi znać.

Korzystaj z getsockname online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    MSYS2
    MSYS2
    MSYS2 to zbiór narzędzi i
    biblioteki udostępniające m.in
    łatwe w obsłudze środowisko do budowania,
    instalowanie i uruchamianie natywnego systemu Windows
    oprogramowanie. to z...
    Pobierz MSYS2
  • 2
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo to kodek obrazu JPEG
    który używa instrukcji SIMD (MMX, SSE2,
    NEON, AltiVec) w celu przyspieszenia linii bazowej
    Kompresja i dekompresja JPEG włączona
    x86, x8...
    Pobierz libjpeg-turbo
  • 3
    Menedżer pobierania Xtreme
    Menedżer pobierania Xtreme
    Projekt ma teraz nowy dom:
    https://xtremedownloadmanager.com/ For
    programiści:
    https://github.com/subhra74/xdm Xtreme
    Download Manager to potężne narzędzie do...
    Pobierz menedżera pobierania Xtreme
  • 4
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Cechy: Niska rozdzielczość 4:3 i 16:9
    Wyjście VGA Klawiatura i mysz PS/2
    interfejs użytkownika oparty na inputText (TUI)
    z menedżerem okien dialogowych Częściowy Unicode
    wsparcieSlave dis...
    Pobierz TTGO VGA32 Lite
  • 5
    Program ładujący Clover EFI
    Program ładujący Clover EFI
    Projekt został przeniesiony do
    https://github.com/CloverHackyColor/CloverBootloader..
    Funkcje: Uruchom system macOS, Windows i Linux
    w trybie UEFI lub starszym na komputerze Mac lub PC z
    UE...
    Pobierz program ładujący Clover EFI
  • 6
    zjednoczone obroty
    zjednoczone obroty
    Dołącz do nas w Gitterze!
    https://gitter.im/unitedrpms-people/Lobby
    Włącz repozytorium URPMS w swoim
    system -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Pobierz unitedrpms
  • więcej »

Komendy systemu Linux

Ad