Követelmények: Tegyük fel, hogy egy A szerveren lévő programban csak az UDS hallgatás engedélyezett, mit kellene tennie a szervernek B, ha a szerveren programot akar hívni? Használhatod a UNIX Domain Socketet (UDS) TCP-n keresztül, hogy továbbítsd a folyamatot az A szerverről a B szerverre.
szemle
Az UNIX domain socketek egy mechanizmus a folyamatok közötti kommunikációra, amely fájlútvonalakon alapul, nem pedig a fájlrendszeren lévő fájlokra. Még SFTP vagy SSHFS esetén is nem férnek hozzá a UNIX domain socketekhez a hálózaton keresztül.
socat UNIX domain socketeket használ
Telepítési parancsok:
Indítsd el a szervert
Először is, tegyük fel, hogy egy szerver a /tmp/example-server.sock meghallgat egy "server-program" nevű szervert. /tmp/example-server.sock Ha egy másik hosztról csatlakozhatsz ehhez a sockethez és hozzáférhetsz, akkor azt mondhatod, hogy UNIX domain socketként használva sikerült felülmúlni a hálózatot.
Ha csak ki akarod próbálni, használhatod a socatot.
A teszthívás parancsa a következő:
Ahogy az alábbiakban látható:
Vagy csatlakozz a socat parancstal, ahogy az alábbiakban látható:
TCP kapcsolatok használata
Használd a socat parancsot azon a hoszton, ahol a szerver folyamata fut.
Csatlakozzon a TCP-hez a távoli hárdról
Meghallgatja az azonos nevű UNIX domain socketet, és összekapcsolja azt azzal a hosztol, amelyen a szerver folyamata fut.
Használd a klienst a távoli hoszton
Most, hogy minden készen áll, csatlakozzunk a szerver folyamatához a hálózaton keresztül. Ha te is ki akarod próbálni, használhatod a socatot.
Használj OpenSSH
Ha van SSH-hozzáférésed, van egy egyszerűbb mód. /tmp/example-server.sock Először indítsd el a szerver hosztevet (kihagyva). Használd a -L gombot a kliens hoszton. A parancs a következő:
Most már elérhető a kliens hosztolótól. |