Kirjautuminen
Vaikka Telnet-palvelu on myös asiakas/palvelin-mallin palvelu, sen suurempi merkitys on Telnet-protokollaan perustuvan etäkirjautumisen (interaktiivisen etätietokoneen) toteuttamisessa, sitten Kerro meille etäkirjautumisesta.
Määritelmä
Katsotaanpa ensin, mitä kirjautuminen on: Aikajakojärjestelmän avulla useat käyttäjät voivat käyttää tietokonetta samanaikaisesti. Järjestelmän turvallisuuden ja kirjanpidon mukavuuden varmistamiseksi järjestelmä edellyttää jokaisen Käyttäjällä on erillinen tili sisäänkirjautumistunnukseksi ja jokaiselle käyttäjälle järjestelmä määrittää myös salasanan. Käyttäjän tulee syöttää tunnus ja salasana ennen järjestelmän käyttöä. Tätä prosessia kutsutaan "kirjautumiseksi". Etäkirjautuminen tarkoittaa prosessia, jossa käyttäjät käyttävät Telnet-komentoja tehdäkseen tietokoneestaan tilapäisesti etäisännän emulointipäätteen. Emulointipääte vastaa ei-älykästä konetta. Se on vastuussa vain siitä, että kaikki käyttäjän syöttämät merkit välitetään isännälle ja toistetaan sitten kaikki isännän antamat tiedot näytölle.
Sukupolvi ja kehitys
Voimme ensin kuvitella palvelun, joka tarjoaa etätekstinmuokkauksen. Tämän palvelun toteuttaminen vaatii palvelimen, joka hyväksyy tiedostojen muokkauspyynnöt ja tiedot sekä asiakkaan, joka lähettää tämän pyynnön. kone. Asiakas muodostaa TCP-yhteyden paikalliselta koneelta palvelimeen. Tietenkin tämä vaatii vastauksen palvelimelta ja lähettää sitten kirjoitetut tiedot (tiedoston muokkaustiedot) palvelimelle ja lukee palvelimelta palautetun lähdön. Yllä oleva on tavallinen ja yleinen asiakas/palvelinmallipalvelu.
Näyttää siltä, että asiakas/palvelin-palvelumallilla kaikki etäongelmat voidaan ratkaista. Todellisuus ei kuitenkaan ole niin yksinkertainen kuin luulet. Jos tarvitsemme tiedostojen muokkaamista vain etänä, niin juuri suunnittelemamme palvelu voi olla riittävä, mutta jos vaatimuksemme eivät ole niin yksinkertaisia, haluamme toteuttaa myös käyttäjien etähallinnan, etätietojen syöttämisen ja järjestelmän etäylläpidon, jos haluat saavuttaa kaikki toiminnot, jotka voidaan toteuttaa etäisännällä, tarvitsemme suuren määrän omistettuja palvelinohjelmia ja käytämme palvelinprosessia jokaista laskettavaa palvelua varten. Seuraava ongelma on: etäkone tulee olemaan erittäin nopea Palvelinprosessi hukkuu ja uppoutuu prosessien mereen (jätämme tässä pois erikoistuneet etäkoneet).
Onko ratkaisua? Voimme tietysti käyttää etäkirjautumista ratkaisemaan kaiken tämän. Annamme käyttäjien luoda kirjautumisistunnon etäkoneella ja suorittaa sitten komentoja saavuttaakseen samat kuin paikalliset toiminnot. Tällä tavalla voimme käyttää kaikkia etäjärjestelmän käytettävissä olevia komentoja, eikä järjestelmän suunnittelijan tarvitse tarjota useita erillisiä palvelinohjelmia.
Ongelmalla näyttää olevan valoisa tulevaisuus täällä. Etäkirjautumisen pitäisi aina ratkaista ongelma, mutta etäkirjautumisen saavuttaminen ei ole helppoa. Tietokonejärjestelmät, jotka eivät ota huomioon verkkosuunnittelua, odottavat käyttäjien kirjautuvan sisään vain suoraan yhdistetyiltä näppäimistöiltä ja näytöiltä. Etäkirjautumistoimintojen lisääminen tällaisiin koneisiin edellyttää koneen käyttöjärjestelmän muokkaamista, mikä on erittäin vaikeaa ja sitä pyrimme välttämään. Siksi meidän tulisi keskittyä etäkirjautumispalvelinohjelmistojen rakentamiseen, vaikka tämä on myös vaikeampaa. Miksi sen tekeminen on vaikeampaa?
Esimerkki: Yleensä käyttöjärjestelmä antaa erityismerkityksiä joillekin erikoisnäppäimille. Esimerkiksi paikallinen järjestelmä tulkitsee "Ctrl+C" seuraavasti: "Lopeta käynnissä oleva komentoprosessi". Mutta oletetaan, että olemme jo suorittaneet etäkirjautumispalvelinohjelmiston, "Ctrl+C" ei välttämättä lähetä etäkoneeseen, jos asiakas todella lähettää "Ctrl+C" etäkoneeseen, niin "Ctrl+C" -komento ei ehkä pysty lopettamaan paikallista prosessia, mikä tarkoittaa, että tässä saattaa esiintyä sekaannusta. Ja tämä on vain yksi kohdatuista ongelmista.
Mutta teknisistä vaikeuksista huolimatta järjestelmäohjelmoijat onnistuivat rakentamaan etäkirjautumispalvelinohjelmiston, jota voidaan soveltaa useimpiin käyttöjärjestelmiin, ja rakentamaan sovellusohjelmistoja, jotka toimivat asiakkaana. Yleensä asiakasohjelmisto peruuttaa kaikkien avainten paikallisen tulkinnan yhtä avainta lukuun ottamatta ja muuntaa nämä paikalliset tulkinnat etätulkinnoiksi vastaavasti. Tämä tekee asiakasohjelmiston ja etäkoneen välisestä vuorovaikutuksesta aivan kuin etäisännällä isännöinnillä samanlaisen kuin ennenkin, jolloin vältytään yllä mainitulta sekaannukselta. Ainoa poikkeusavain voi tuoda käyttäjän takaisin paikalliseen ympäristöön.
Etäkirjautumispalvelin on suunniteltu sovellustason ohjelmistoksi, ja siinä on toinen vaatimus, eli käyttöjärjestelmän on tuettava pseudopäätettä (pseudopääte). Käytämme pseudopäätteitä kuvaamaan käyttöjärjestelmän aloituspistettä, jonka avulla ohjelmat, kuten Telnet-palvelimet, voivat siirtää merkkejä käyttöjärjestelmään ja saavat merkit näyttämään tulevan paikalliselta näppäimistöltä. Vain tällaista käyttöjärjestelmää käytettäessä etäkirjautumispalvelin voidaan suunnitella sovellustason ohjelmistoksi (kuten Telnet-palvelinohjelmistoksi), muuten paikallinen käyttöjärjestelmä ja etäjärjestelmän lähetys ei pysty tunnistamaan toiselta palvelimelta siirrettyä tietoa. puolella (koska he voivat tunnistaa vain orjan paikallisella näppäimistöllä kirjoitetut tiedot), etäkirjautuminen epäonnistuu.
Etäkirjautumispalvelimen suunnittelussa sovellustason ohjelmistoksi on selvät etunsa: palvelinta on helpompi muokata ja hallita kuin koodin upottaminen käyttöjärjestelmään. Mutta siinä on myös heikko tehokkuus (sisältö selitetään myöhemmin). Onneksi käyttäjien kirjoittamisnopeus ei ole korkea, joten tämä malli on edelleen hyväksyttävä.
Työprosessi
Käytettäessä Telnet-protokollaa etäkirjautumiseen seuraavien ehtojen on täytyttävä: Telnet-protokollan sisältävä asiakasohjelma on asennettava paikalliseen tietokoneeseen; etäisännän tai verkkotunnuksen IP-osoite; sinun on tiedettävä kirjautumistunnus ja salasana.
Telnet-etäkirjautumispalvelu on jaettu seuraaviin neljään prosessiin:
1) Muodosta yhteys paikallisen ja etäisännän välille. Prosessi on itse asiassa muodostaa TCP-yhteys, ja käyttäjän on tiedettävä etäisännän IP-osoite tai toimialueen nimi;
2) Paikalliseen päätelaitteeseen syötetty käyttäjätunnus ja salasana sekä kaikki myöhemmin syötetyt komennot tai merkit muunnetaan NVT-muotoon (NetVirtualTerminal) etäisäntään. Tämä prosessi itse asiassa lähettää IP-datapaketin paikalliselta isännältä etäisäntään;
3) Muunna etäisännän tuottamat NVT-muodossa olevat tiedot paikallisen hyväksymään muotoon ja lähetä ne takaisin paikalliseen päätteeseen, mukaan lukien syöttökomennot Echo ja komennon suoritustulokset;
4) Lopuksi paikallinen pääte katkaisee yhteyden etäisäntään. Prosessi on katkaista TCP-yhteys.
Yllä oleva sisältö käsittelee vain etäkirjautumisen perusasioita. Ohjelmoijien monimutkaisuus ja vaikeus ovat meille käsittämättömiä. En tiedä, ajatteletko näitä, kun käytät Telnetiä mukavasti!
Toiminto
Käyttö
Telnet on Internetin etäkirjautumispalvelun vakioprotokolla ja päämenetelmä. Sen on alun perin kehittänyt ARPANET, ja nyt sitä käytetään pääasiassa Internet-istuntoihin. Perustoiminto on antaa käyttäjien kirjautua sisään etäisäntäjärjestelmään.
Telnetin avulla voimme istua tietokoneemme edessä ja kirjautua sisään toiseen etätietokoneeseen Internetin kautta. Tämä tietokone voi olla viereisessä huoneessa tai toisella puolella maapalloa. Kun olet kirjautunut sisään etätietokoneeseen, paikallinen tietokone vastaa etätietokoneen päätettä. Voimme suoraan manipuloida etätietokonetta omalla tietokoneellamme ja nauttia samoista käyttöoikeuksista kuin etätietokoneen paikallinen pääte.
Telnetin päätarkoitus on käyttää etätietokoneen tietoresursseja, joita paikallisella tietokoneella ei ole. Jos kaukosäätimen päätarkoitus on siirtää tiedostoja paikallisen tietokoneen ja etätietokoneen välillä, käytetään FTP:tä vertailuun. Tulee nopeammaksi ja tehokkaammaksi.
Vuorovaikutusprosessi
Kun käytämme Telnetiä kirjautumiseen etätietokonejärjestelmään, kaksi ohjelmaa käynnistetään: toinen on Telnet-asiakasohjelma, joka toimii paikallisessa isännässä; toinen on Telnet-palvelinohjelma, joka ajetaan sisäänkirjautuvassa etätietokoneessa.
Paikallisen isäntäkoneen Telnet-asiakasohjelma suorittaa pääasiassa seuraavat toiminnot:
Muodosta TCP-yhteys etäpalvelimeen.
Vastaanota paikallisesti kirjoitetut merkit näppäimistöltä.
Syötemerkkijono muunnetaan vakiomuotoon ja lähetetään etäpalvelimelle.
Vastaanota lähtötiedot etäpalvelimelta.
Näytä nämä tiedot paikallisen isännän näytöllä.
Etäisännän "palvelu"-ohjelma on yleensä lempinimi "tontu". Se odottaa yleensä hiljaa etäisännällä ja vastaanottaa pyynnön paikalliselta isännältä. , Se aktivoituu välittömästi ja suorittaa seuraavat toiminnot:
Ilmoita paikalliselle isännälle, että etäisäntä on valmis.
Odota, että paikallinen isäntä syöttää komennot.
Vastaa paikallisen isännän komentoihin (kuten hakemiston sisällön näyttämiseen tai ohjelman suorittamiseen jne.).
Lähetä komennon suorituksen tulos takaisin paikalliselle tietokoneelle näytettäväksi.
Odota paikallisen isännän komentoa uudelleen.
Internetissä monet palvelut käyttävät tällaista asiakas/palvelinrakennetta. Käyttäjälle yleensä riittää, että hän ymmärtää asiakkaan ohjelman.
Turvallisuusvaarat
Vaikka Telnet on suhteellisen yksinkertainen, käytännöllinen ja kätevä, Telnetiä ei käytetä uudelleen nykyaikaisissa verkkotekniikoissa, joissa kiinnitetään erityistä huomiota turvallisuuteen. Syynä on se, että Telnet on tekstinsiirtoprotokolla, joka välittää kaiken käyttäjien sisällön, mukaan lukien käyttäjätunnukset ja salasanat, selkeänä tekstinä Internetissä, mikä aiheuttaa tiettyjä turvallisuusriskejä. Siksi monet palvelimet päättävät poistaa Telnet-palvelun käytöstä. Jos haluamme käyttää Telnet-etäkirjautumista, meidän tulee tarkistaa ja asettaa Telnet-palvelun sallimistoiminto etäpalvelimelle ennen käyttöä.
Protokolla
Tiedämme, että Telnet-palvelinohjelmisto on yleisimmin käytetty etäkirjautumispalvelinohjelmistomme. Se on tyypillinen asiakas/palvelinmallipalvelu, joka käyttää Telnet-protokollaa toimiakseen. Joten mikä on Telnet-protokolla? Mitä ominaisuuksia sillä on?
Perussisältö
Telnet on protokolla, joka sijaitsee OSI-mallin 7. kerroksessa ---sovelluskerroksessa. Se on protokolla, joka tarjoaa pääteemuloinnin yhteyden muodostamiseksi etäisäntään luomalla virtuaalisen päätelaitteen TCP/IP-protokollan. Tämä protokolla vaatii todennuksen käyttäjänimen ja salasanan avulla, ja se on Internetin etäkirjautumispalveluiden standardiprotokolla. Telnet-protokolla voi muuttaa paikallisen käyttäjän käyttämän tietokoneen etäisäntäjärjestelmän päätteeksi. Se tarjoaa kolme peruspalvelua:
1) Telnet määrittelee verkkovirtuaalipäätteen tarjoamaan etäjärjestelmälle vakioliitännän. Asiakasohjelmien ei tarvitse tuntea etäjärjestelmää yksityiskohtaisesti, niiden tarvitsee vain rakentaa ohjelmia, jotka käyttävät vakiorajapintoja;
2) Telnet sisältää mekanismin, jonka avulla asiakas ja palvelin voivat neuvotella vaihtoehdoista, ja se tarjoaa myös joukon vakiovaihtoehtoja; .
3) Telnet käsittelee yhteyden molempia päitä symmetrisesti, eli Telnet ei pakota asiakasta syöttämään näppäimistöltä, eikä se pakota asiakasta näyttämään tulostetta näytöllä.
Sopeutua heterogeenisiin
Jotta Telnetin interaktiivinen toiminta useiden käyttöjärjestelmien välillä on mahdollista, on tarpeen tuntea yksityiskohtaisesti heterogeeniset tietokoneet ja käyttöjärjestelmät. Jotkin käyttöjärjestelmät vaativat esimerkiksi, että jokainen tekstirivi päättyy ASCⅡ rivinvaihtomerkkiin (CR), toiset järjestelmät vaativat ASCⅡ rivinvaihdon (LF) ja jotkin järjestelmät vaativat kahden merkin sarjan rivinvaihtomerkkiä (CR) ). -LF); Toisessa esimerkissä useimmat käyttöjärjestelmät tarjoavat käyttäjille pikanäppäimen ohjelman toiminnan keskeyttämiseen, mutta tämä pikanäppäin voi olla erilainen jokaisessa järjestelmässä (jotkut järjestelmät käyttävät CTRL+C, kun taas toiset ESCAPE). Jos järjestelmien välistä heterogeenisuutta ei oteta huomioon, paikallisesti annetut merkit tai komennot ovat todennäköisesti epätarkkoja tai vääriä sen jälkeen, kun ne on lähetetty etäpaikkaan ja etäjärjestelmä on tulkinnut ne. Siksi Telnet-protokollan on ratkaistava tämä ongelma. Sopeutuakseen heterogeeniseen ympäristöön Telnet-protokolla määrittää tiedon ja komentojen siirtotavan Internetissä. Tätä määritelmää kutsutaan verkkovirtuaalipäätteeksi NVT (NetVirtualTerminal). Sen sovellusprosessi on seuraava: Lähetetyille tiedoille: asiakasohjelmisto muuntaa käyttäjäpäätteestä tulevat näppäinpainallukset ja komentosarjat NVT-muotoon ja lähettää ne palvelimelle, ja palvelinohjelmisto muuntaa vastaanotetut tiedot ja komennot NVT-muodosta etäkohteisiin. . Järjestelmän vaatima muoto; palautetuille tiedoille: etäpalvelin muuntaa tiedot etäkonemuodosta NVT-muotoon ja paikallinen asiakas muuntaa vastaanotetut NVT-muotoiset tiedot paikalliseen muotoon. NVT-muodon yksityiskohtaista määritelmää varten kiinnostuneet ystävät voivat löytää asiaankuuluvaa tietoa.
Etäkomentojen lähettäminen
Tiedämme, että useimmat käyttöjärjestelmät tarjoavat erilaisia pikanäppäimiä vastaavien ohjauskomentojen toteuttamiseksi. Kun käyttäjä kirjoittaa nämä pikanäppäimet paikalliseen päätelaitteeseen, järjestelmä suorittaa vastaavat ohjauskomennot käyttämättä näitä pikanäppäimiä syötteenä. Joten mitä Telnet käyttää ohjauskomentojen etälähettämiseen? Telnet määrittää myös NVT:n avulla, kuinka ohjaustoiminnot siirretään asiakkaalta palvelimelle. Tiedämme, että ASCⅡ-merkistö sisältää 95 tulostettavaa merkkiä ja 33 ohjauskoodia. Kun käyttäjä kirjoittaa yleisen merkin paikallisesti, NVT lähettää sen alkuperäisen merkityksensä mukaisesti; kun käyttäjä kirjoittaa pikanäppäimen (yhdistelmänäppäin), NVT muuntaa sen erityiseksi ASCⅡ-merkiksi lähetettäväksi verkossa ja saavuttaa sitten etäkoneen. Muunnetaan sitten vastaaviksi ohjauskomentoiksi.
Syy normaalin ASCⅡ-merkkijoukon erottamiseen ohjauskomennosta:
1) Tämä ero tarkoittaa, että Telnetillä on suurempi joustavuus: se voidaan siirtää asiakkaan ja palvelimen välillä Kaikki mahdolliset ASCⅡ-merkit ja kaikki ohjaustoiminnot;
2) Tämän eron avulla asiakas voi määrittää signaloinnin ilman epäselvyyttä aiheuttamatta sekaannusta ohjaustoimintojen ja tavallisten merkkien välillä. .
Tiedonkulku
Kuten edellä mainittiin, Telnetin suunnittelussa sovellustason ohjelmistona on puute, eli se ei ole tehokas. Miksi tämä on? Tietovirta Telnetissä on esitetty alla:
Käyttäjä kirjoittaa tiedot paikalliselta näppäimistöltä ja välittää ne asiakasohjelmalle käyttöjärjestelmän kautta. Asiakasohjelma käsittelee sen ja palauttaa sen käyttöjärjestelmälle, ja käyttöjärjestelmä kulkee sen läpi. VerkkolähetysLähetä tiedot etäkoneeseen, etäkäyttöjärjestelmä lähettää vastaanotetut tiedot palvelinohjelmalle ja palaa käyttöjärjestelmän pseudopäätteen sisääntulopisteeseen, kun palvelinohjelma on käsitellyt ne uudelleen. Lopuksi etäkäyttöjärjestelmä lähettää tiedot sovellusohjelmalle, jota käyttäjä käyttää. , Tämä on täydellinen syöttöprosessi; lähtö välitetään palvelimelta asiakkaalle samaa polkua pitkin. Jokaisesta tulosta ja lähdöstä johtuen tietokone vaihtaa prosessiympäristöä useita kertoja, ja tämä lisäkustannus on erittäin kallista. Onneksi käyttäjän kirjoitusnopeus ei ole korkea, ja voimme silti hyväksyä tämän puutteen. .
Pakota komento
Tällaista tilannetta kannattaa harkita: Oletetaan, että paikallinen käyttäjä suorittaa loputtoman silmukan vääriä komentoja tai ohjelmia etäkoneella, ja tämä komento tai ohjelma Se on lopettanut syötteen lukemisen, käyttöjärjestelmän puskuri saattaa olla täynnä. Jos näin on, etäpalvelin ei voi enää kirjoittaa dataa pseudopäätelaitteelle ja lopulta lopettaa tietojen lukemisen TCP-yhteydestä, TCP-yhteyden puskurista. Lopulta se on täynnä, mikä estää tietovirran virtaamisen tähän yhteyteen. Jos yllä olevat asiat tapahtuvat, paikallinen käyttäjä menettää etäkoneen hallinnan.
Tämän ongelman ratkaisemiseksi Telnet-protokollan on käytettävä ulkoista signalointia pakottaakseen palvelimen lukemaan ohjauskomennon. Tiedämme, että TCP käyttää hätädatamekanismia ulkoisen datasignaloinnin toteuttamiseen, joten Telnetin tarvitsee vain liittää varattu oktetti, jota kutsutaan päivämäärämerkiksi, ja ilmoittaa palvelimelle antamalla TCP:n lähettää segmentin hätädatabiteillä. Siinä kaikki, kiireellisiä tietoja kuljettava viestisegmentti ohittaa vuon ohjauksen ja saavuttaa suoraan palvelimen. Vastauksena hätäsignaaleihin palvelin lukee ja hylkää kaikki tiedot, kunnes se löytää datatunnisteen. Palvelin palaa normaaliin käsittelyyn havaittuaan tietomerkin.
Koska Telnetin molemmissa päissä olevat koneet ja käyttöjärjestelmät ovat heterogeenisiä, on mahdotonta eikä sen pitäisi määritellä tarkasti kunkin telnet-yhteyden yksityiskohtaista konfiguraatiota, muuten se vaikuttaa suuresti Telnetin mukautumiseen heterogeenisyyteen. Siksi Telnet käyttää vaihtoehtojen neuvottelumekanismia tämän ongelman ratkaisemiseksi.
Telnet-vaihtoehtojen valikoima on erittäin laaja: jotkin vaihtoehdot laajentavat toiminnon yleistä suuntaa, ja jotkin vaihtoehtojärjestelmät sisältävät pieniä yksityiskohtia. Esimerkiksi: on mahdollisuus hallita, toimiiko Telnet half-duplex vai full-duplex-tilassa (suuri suunta); on myös mahdollisuus sallia etäkoneen palvelimen määrittää käyttäjäpäätetyyppi (pieniä yksityiskohtia).
Telnet-vaihtoehtojen neuvottelumenetelmä on myös erittäin mielenkiintoinen. Se käsittelee jokaista vaihtoehtoa symmetrisesti, eli kumpi tahansa pää voi lähettää hakemuksen neuvottelua varten; kumpi tahansa osapuoli voi hyväksyä tai hylätä hakemuksen. Lisäksi, jos toinen osapuoli yrittää neuvotella vaihtoehdosta, jota toinen ei ymmärrä, pyynnön hyväksyvä osapuoli voi yksinkertaisesti kieltäytyä neuvottelusta. Siksi on mahdollista yhdistää uudempia, monimutkaisempia Telnet-asiakaspalvelinversioita vanhempien, vähemmän monimutkaisten versioiden kanssa. Jos sekä asiakas että palvelin ymmärtävät uudet vaihtoehdot, vuorovaikutusta voidaan parantaa. Muuten ne kaikki siirtyvät vähemmän tehokkaaseen mutta toimivaan tilaan. Kaikkien näiden mallien tarkoituksena on parantaa sopeutumista heterogeenisyyteen, mikä osoittaa, kuinka tärkeä Telnet on sen sovellukselle ja kehitykselle.
Joitakin periaatteita käsitellään edellä. Vaikka Telnetin käytössä on meille vaikea koskettaa tätä tasoa, mielestäni näiden ymmärtäminen on mielekästä ja se tuo meille paljon valaistumista. . Katsotaanpa Win2000:n Telnet-palvelua.
Alivaihtoehdon neuvottelut
Joitakin vaihtoehtoja ei voi ilmaista yksinkertaisesti "aktivoimalla" tai "kiellämällä". Päätetyypin määrittäminen on esimerkki. Asiakasprosessin on lähetettävä ASCII-merkkijono päätteen tyypin ilmaisemiseksi. Tällaisten vaihtoehtojen käsittelemiseksi meidän on määriteltävä alavaihtoehtojen neuvottelumekanismi.
RFC1091[VanBokkelen1989] määrittää, kuinka päätetyypin alivaihtoehdon neuvottelumekanismi ilmaistaan. Ensimmäinen yhdistetty osapuoli (yleensä asiakasprosessi) lähettää 3-tavuisen merkkijonon pyytääkseen tämän vaihtoehdon aktivointia.
Tässä 24 (desimaali) on päätetyyppivaihtoehdon tunnusnumero. Jos vastaanottava pää (yleensä palvelinprosessi) suostuu, vastaustiedot ovat:
Sitten palvelinprosessi lähettää seuraavan merkkijonon:
Tämä merkkijono kysyy asiakasprosessin päätetyyppiä. SB on alivaihtoehdon neuvottelun ensimmäinen komentolippu. Seuraavan tavun "24" tarkoittaa, että tämä on päätetyypin valinnan alivaihtoehto (yleensä SB:n jälkeinen valinnan arvo on alivaihtoehdolle lähetettävä sisältö). "1" seuraavassa tavussa tarkoittaa "lähetä päätetyyppi". Alivaihtoehdon neuvottelun lopetuskomentolippu on myös IAC, aivan kuten SB on aloituskomennon lippu. Jos päätetyyppi on ibmpc, asiakasprosessin vastauskomento on:
Neljäs tavu "0" edustaa "päätetyyppini on" (AssignedNumbersRFC-dokumentilla on muodollinen arvo päätetyypille Definition, mutta ainakin Unix-järjestelmien välillä päätetyyppiä voidaan edustaa millä tahansa tiedolla, jonka toinen osapuoli Kunhan nämä tiedot on määritelty termcap- tai terminfo-tietokannassa). Telnet-alivaihtoehdon neuvotteluprosessin aikana päätetyyppi ilmaistaan isoilla kirjaimilla, ja kun palvelin vastaanottaa merkkijonon, se muunnetaan automaattisesti pieniksi kirjaimille.
Asetukset
Oikeastaan sovellustasolta katsottuna Win2000 Telnet -palvelulla ei ole mitään sanottavaa, suurin osa sisällöstä löytyy HELP-tiedostosta, laitoin vain vähän siivottua. Win2000 tarjoaa meille Telnet-asiakas- ja palvelinohjelmat: Telnet.exe on asiakasohjelma (Client), tlntsvr.exe on palvelinohjelma (palvelin), ja se tarjoaa meille myös Telnet-palvelimen hallintaohjelman tlntadmn.exe.
Telnet-palvelu on asennettu oletusarvoisesti Windows 2000:ssa, mutta sitä ei käynnistetä oletuksena. Seuraava on osa Telnet-palvelun oletusasetuksia HELP-tiedostossa:
AllowTrustedDomain: sallitaanko verkkotunnuksen käyttäjien pääsy. Oletusarvo on 1, jolloin luotettujen verkkotunnusten käyttäjät voivat käyttää. Se voidaan muuttaa arvoon 0: verkkotunnuksen käyttäjät eivät saa käyttää (vain paikalliset käyttäjät ovat sallittuja).
OletusDomain: Voit määrittää minkä tahansa toimialueen, jolla on luottamussuhde tietokoneen kanssa. Oletusarvo on ".".
DefaultShell: Näytä shell-asennuksen polkusijainti. Oletusarvo on: %systemroot%\System32\Cmd.exe/q/k
MaxFailedLogins: Näyttää epäonnistuneiden kirjautumisyritysten enimmäismäärän ennen yhteyden katkaisemista. Oletusarvo on 3.
LoginScript: Näytä Telnet-palvelimen kirjautumiskomentosarjan polku. Oletussijainti on "%systemroot%\System32\login.cmd". Voit muuttaa komentosarjan sisältöä niin, että Telnetiin kirjautumisen tervetulonäyttö on erilainen.
NTLM: NTLM-todennusvaihtoehto. Oletusarvo on 2. Voi olla seuraavat arvot:
0: Älä käytä NTLM-todennusta.
1: Kokeile ensin NTLM-todennusta, jos se epäonnistuu, käytä sitten käyttäjätunnusta ja salasanaa.
2: Käytä vain NTLM-todennusta.
TelnetPort: Näyttää portin, jossa telnet-palvelin kuuntelee telnet-pyyntöjä. Oletus on: 23. Voit myös vaihtaa muihin portteihin.
Voit käyttää tlntadmn.exe-ohjelmaa (Telnet-palvelimen hallintaohjelma) yllä olevien asetusten määrittämiseen erittäin kätevästi. Määrityksen jälkeen sinun on käynnistettävä Telnet-palvelu uudelleen.
NTLM
Kun mainitset telnetin, sinun on mainittava NTLM. Mielestäni tämä on myös vaikein asia tunkeilijoille. Vaikka saisit järjestelmänvalvojan tilin ja salasanan, ajattele yksinkertaista NTLM:n läpäiseminen ei ole helppoa, ja win2000:n telnet käyttää vain NTLM:ää henkilöllisyyden vahvistamiseen oletuksena, minkä vuoksi meidän on kiinnitettävä huomiota NTLM:ään, joten mikä on NTLM?
Varhainen SMB-protokolla lähettää salasanat selkeänä tekstinä verkossa. Myöhemmin "LANManagerChallenge/Response" -todennusmekanismi tai lyhennettynä LM ilmestyi. Se on hyvin yksinkertainen ja helppo murtaa. Microsoft ehdotti myöhemmin WindowsNT:n haaste/vastaustodennusta. Mekanismi, nimittäin NTLM. Nyt on päivitetty NTLMv2- ja Kerberos-todennusjärjestelmä.
Käsittely
1. Asiakas ensin salaa nykyisen käyttäjän salasanan paikallisesti, jotta siitä tulee salasanatiiviste
2. Asiakas lähettää oman tilinsä palvelimelle. Tätä tiliä ei ole salattu, ja se lähetetään suoraan pelkkänä tekstinä.
3. Palvelin luo 16-bittisen satunnaisluvun ja lähettää sen asiakkaalle haasteena (kysymys salasana; haaste)
4. Asiakas käyttää sitten salattua salasanahajautuskoodia haasteen salaamiseen ja palauttaa sen sitten palvelimelle. Vastauksena (vastauksena)
5. Palvelin lähettää kolme asiaa: käyttäjätunnus, haaste asiakkaalle ja asiakkaan palauttama vastaus toimialueen ohjaimelle
6. Toimialueen ohjain käyttää tätä käyttäjätunnusta löytääkseen käyttäjän salasanan tiivisteen SAM-salasanojen hallintatietokannasta ja käyttää sitten tätä salasanahajautusta haasteen salaamiseen.
7. Toimialueen ohjain vertaa kahta salattua haastetta, ja jos ne ovat samat, todennus onnistuu.
Yllä olevasta prosessista voimme nähdä, että NTLM lähettää kirjautumispyynnön Telnet-palvelimelle nykyisenä käyttäjänä sen sijaan, että kirjautuisi sisään toisen tarkistamasi järjestelmänvalvojan tilillä ja salasanalla. Ilmeisesti et kirjaudu sisään. Esimerkiksi kotikoneesi on nimeltään A (paikallinen kone), hakkeroidun koneen nimi on B (etäkone), tilisi A:ssa on xinxin ja salasana on 1234, skannaat B:n hallintaan Käyttäjätili on Administrator ja salasana on 5678. Kun haluat Telnetin B:lle, NTLM käyttää automaattisesti nykyisen käyttäjän tiliä ja salasanaa kirjautumistunnuksina suorittaakseen yllä olevat 7 toimintoa, eli käyttää xinxinia. ja 1234 skannauksen sijaan. Saapuneet Ylläpitäjä ja 5678, jotka kaikki tehdään automaattisesti, eivät anna sinulle mahdollisuutta puuttua ollenkaan, joten kirjautumistoimintosi epäonnistuu.
Näyttö
Koska Telnet-palvelimella on kolme vaihtoehtoa NTLM-käyttöön, kun Telnetit etäkoneella, yksi seuraavista tilanteista tulee näkyviin:
< p>1) Kun todennusvaihtoehto=0========================= ===== ======
Microsoft(R)Windows(TM)Versio 5.00(Build2195)
Tervetuloa MicrosoftTelnetServiceen
TelnetServerBuild5.00.99201 .1
kirjautuminen:
salasana:
Kun \ on 0, NTML-todennusta ei käytetä, syötä suoraan käyttäjänimi ja salasana, esimerkiksi voit syöttää skannatun järjestelmänvalvojan ja 5678
2) Kun todennusvaihtoehto=1
=======================================
NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword
Microsoft(R)Windows(TM)Versio 5.00(Build2195)
Tervetuloa MicrosoftTelnetServiceen
TelnetServerBuild5.00.99201.1
kirjautuminen:
salasana:
\Kokeile ensin NTLM-identiteettiä Varmistus. Jos se epäonnistuu, käytä käyttäjänimeä ja salasanaa. Itse asiassa meille tämä menetelmä ei eroa edellisestä menetelmästä.
3) Kun todennusvaihtoehto=2< /p>
=======================================
NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword
Palvelimet sallivat vain NTLM-todennusta
Palvelimella on suljettu yhteys
Isäntäyhteys puuttuu.
C:\
\Katso yllä olevaa näyttöä huolellisesti, käyttäjätunnusta ja salasanaa ei voi syöttää ollenkaan, joten voit katkaista yhteyden suoraan ja skannata salasanan valkoisena skannauksena
Joten tunkeilijalle NTLM on edessämme oleva vuori, joten meidän on päästävä siitä eroon. Yleensä meillä on seuraavat menetelmät:
1 Muuta telnet muuttamalla etärekisteripalvelinkokoonpanoa, muuta todennustila arvosta 2 arvoon 1 tai 0;
2 Käytä NTLM.exe-tiedostoa, suorita se heti latauksen jälkeen ja muuta Telnet-palvelimen todennustila arvosta 2 arvoon 1;
3 Luo skannattu käyttäjä paikallisesti, avaa telnet-asiakas tämän käyttäjänä ja kirjaudu sisään etäyhteyden kautta.
4 Käytä ohjelmistoa, kuten opentelnet.exe (vaatii järjestelmänvalvojan oikeudet ja IPC-kanava avataan)
p>
5 Käytä komentosarjoja, kuten RTCS (vaatii järjestelmänvalvojan oikeudet, mutta ei ole riippuvainen IPC-putkista)
Periaatteessa edellä mainitut 5 tyyppiä, joista kaksi jälkimmäistä ovat yleisimmin käytettyjä tapojamme avata telnet, ja käyttötapa on hyvin yksinkertainen, komento on seuraava:
OpenTelnet.exe\palvelimen käyttäjänimen salasanaNTLMAuthortelnetport
OpenTelnet.exe\palvelinosoite järjestelmänvalvojan käyttäjätunnus salasanan todennusmenetelmä (täytä 0 tai 1) telnet-portti
cscriptRTCS.vbetargetIPusernamepasswordNTLMAuthortelnetport
cscriptRTCS.vbe
Etäkirjautuminen
Telnet:tä käytetään etäkirjautumiseen Internetiin. Se voi saada käyttäjän istumaan Internetissä. Tietokoneen näppäimistön edessä toinen tietokone, joka on käyttänyt Internetiä verkon kautta, yhdistää ne toisiinsa. Tämä yhteys voi tapahtua samassa huoneessa oleville tietokoneille tai tietokoneille, jotka ovat olleet verkossa kaikkialla maailmassa. Perinteisesti ne ovat yhteydessä toisiinsa. Tietokonetta ja tietokonetta, joka tarjoaa palveluita kaikille verkon käyttäjille, kutsutaan palvelimeksi (Server) ja käyttämääsi konetta kutsutaan asiakasksi (Client). Kun yhteys on muodostettu, asiakas voi nauttia kaikista palvelimen tarjoamista palveluista. Käyttäjät voivat suorittaa tavallista interaktiivista prosessia (rekisteröityä syöttääkseen, suorittaa komentoja) ja he voivat myös käyttää monia erikoispalvelimia, kuten etsiä kirjahakemistoja. Voidaan käyttää erilaisia palveluita, joita eri isännät tarjoavat Internetissä.
Telnet
(telnet)(n.)AterminalemulationprogramforTCP/IPnetworkssuchastheInternet.TheTelnetprogramrunsonyourcomputerandconnectsyourPCtoaserveronthenetwork.YoucanthenentercommandsthroughtheTelnetprogramandtheywillbeexecutedasifyouwereenteringthemdirectlyontheserverconicate ssword.TelnetisacommonwaytoremotelycontrolWebservers.
Telnet-komento
Helnoin tapa käyttää Telnetiä on kirjoittaa komentoriville:
%telnetremote-computer-name(orIP)< /p>
Tässä käytetään UNⅨ-järjestelmän Cshelliä, koska komentovalinta on prosenttimerkki "%". Jos käytät muita tietokonejärjestelmiä (kuten: Dos, VAX/VMS, Macintosh) komentoja, vain Yksityiskohdissa on eroja, mutta olemus on samanlainen. Tässä on esimerkki Telnetin peruskäytöstä:
telnetporky.math.
Yritetään 129.237.128.11...
Yhdistettytoporky.math
Pakohahmo'^]'.
SunOSUNⅨ (sianliha)
kirjautuminen:wl
salasana:xxxxxxx
Viimeinen kirjautuminen:TiMar2805:35alkaen
SunOSRelease4.1.3_U1(SLIPPERY1)#3:SunNov2023:47:23CST1999
Nomatch.
if:Expressionsyntax.
porky/serv/wl%ls
hei
porky/serv/wl%
porky/serv/ wl%cd/
porsaan/%ls
Mail/dev/home/mnt/sbin/
usr/
Uutiset/ domain/home1/net/serv/
var/
Record/etc/kadb*pcfs/sys@
vmunix*
bin@export/lib@printtmp/
bootgofer/lost+found/recordtmp_mnt/
sianliha/%
Yllä oleva esimerkki on käyttää Telnetiä sellaisen etsimiseen, jota kutsutaan porky .math -etätietokoneeksi. Kun tämä tietokone on löydetty, online-tilassa olleesta käyttäjän tietokoneesta tulee yksi sen päätelaitteista. Tällä hetkellä näytölle ilmestyvä valintaikkuna on sama kuin pääte, jonka käyttäjä yhdistää isännässä. Käyttäjän tulee kirjautua sisään (login) ja kirjautua ulos (logout). Sisäänkirjautumisen jälkeen voidaan antaa mikä tahansa etäjärjestelmään soveltuva komento, koska "UNⅨ-järjestelmässä voidaan käyttää kaikkia standardeja UNⅨ-komentoja (kuten ls ja pwd) Kun käyttäjä poistuu etäjärjestelmästä, hän poistuu myös Telnetistä, Telnet on itse asiassa työkalu, joka voidaan rekisteröidä etätietokonejärjestelmään.
Komento
help online help
avaa ja anna IP-osoite tai verkkotunnuksen nimi kirjautuaksesi sisään etänä
sulkeminen lopettaa normaalisti etäistunnon ja palaa komentotilaan
näyttö Näyttää toimintaparametrit
tilassa syötä rivikomento tai merkkitila
lähetä lähetyserikoismerkit etäisäntään (kirjoita send? nähdäksesi yksityiskohtaiset merkit)
aseta asetettu työparametrit (tyyppi asetettu? näyttääksesi yksityiskohtaiset parametrit)
tilan näytön tilatiedot
kytke muuttaaksesi työparametreja (kirjoita toggle? näyttääksesi yksityiskohtaiset parametrit)
^] Pakomerkki (pakomerkki), poistu istunnosta epätavallisissa olosuhteissa ja palaa komentotilaan
sulje Lopeta telnet ja palaa paikalliseen koneeseen
z saa telnetin siirtymään taukotilaan
< p>; Lopeta komentotila ja palaa telnet-istuntotilaanTelnet.exe:n tietoturvaongelmat
On suositeltavaa muokata käyttöoikeuksia, poistaa kaikki käyttäjät ja tallentaa vain järjestelmänvalvojat ja JÄRJESTELMÄ kaikkina käyttöoikeuksina
p>Usein kysytyt kysymykset
1. Mikä on Telnet? Vastaus: Telnet on lyhenne sanoista teletypenetwork, josta on nyt tullut oikea substantiivi, joka osoittaa etäkirjautumisprotokollan ja -menetelmän, jaettuna Telnet-asiakasohjelmaan ja Telnet Server -ohjelmaan. Telnet antaa käyttäjille mahdollisuuden kirjautua sisään Telnet-etäpalvelimeen paikallisella Telnet-asiakkaalla.
2. Mikä on Telnetin tehtävä? Vastaus: Telnet tarjoaa etäkirjautumistoiminnon, jonka avulla käyttäjät voivat olla paikallisessa isännässä Suorita Telnet-asiakas, voit kirjautua sisään Telnet-etäpalvelimeen. Paikallisesti syötetyt komennot voidaan suorittaa palvelimella, ja palvelin palauttaa tulokset paikalliseen, aivan kuten toimiessaan suoraan palvelinkonsolissa. Tällä tavalla voit etäkäyttöä ja toimia paikallisesti. Ohjauspalvelin.
3. Mitkä ovat Telnetin työtilat? Vastaus: Telnetillä on neljä työtilaa:
1) Half-duplex: Asiakkaan on aloitettava osoitteesta Palvelinprosessi saa GOAHEAD(GA)-komennon. Nyt sitä käytetään harvoin.
2) Merkit yksi kerrallaan: Asiakas lähettää jokaisen käyttäjän syöttämän merkin palvelimelle erikseen, ja palvelin toistaa merkin takaisin asiakkaalle. Se on useimpien Telnet-ohjelmien oletusmenetelmä. SUPPRESSGOAHEAD- ja ECHO-vaihtoehdon on oltava voimassa samanaikaisesti.
3) Kludgeline-tila (kludgelinemode): Joka kerta kun käyttäjä syöttää tietorivin, asiakas lähettää sen palvelimelle kerran. Tätä tilaa käytetään, kun jompikumpi yllä olevista kahdesta vaihtoehdosta ei kelpaa.
4) Linjatila: samanlainen Kvasimatka-menetelmä korjaa kvasi-travel-menetelmän puutteet. Uudempi Telnet-ohjelma tukee tätä menetelmää.
4. Mitkä ovat SUPPRESSGOAHEAD- ja ECHO-vaihtoehtojen toiminnot ja merkitykset?
Vastaus: Jos "GOAHEAD"-vaihtoehto on aktivoitu, se on puoliduplex-tila. Jotta voit työskennellä "yksi merkki kerrallaan", sinun on estettävä tämä vaihtoehto, eli aktivoitava" SUPPRESSGOAHEAD".ECHO -vaihtoehto tekee kaikutoiminnosta tehokkaan.
Kun molemmat ovat käytössä samanaikaisesti, se tarkoittaa, että "yksi merkki kerrallaan" -työtila otetaan käyttöön.
5. Miksi joskus Telnet-yhteyttä ei voida muodostaa onnistuneesti? Kuinka ratkaista se
Vastaus: Jos palvelin ei ole portissa 23, mutta odottaa käyttäjien muodostavan yhteyden muihin portteihin, Telnet epäonnistuu tällä hetkellä ja asiakkaan on vaihdettava yhdistetty portti.
p>
Lisäksi Telnet on selväkielinen siirtoprotokolla. Turvallisuussyistä monet palomuurit poistavat sen käytöstä. Jos sinun on kirjauduttava sisään etänä, voit määrittää palomuurin sallimaan Telnet.
6. Telnet lähetetään pelkkänä tekstinä, johon liittyy turvallisuusriskejä. Mitä minun pitäisi tehdä?
V: Telnet lähettää kaiken käyttäjien sisällön, mukaan lukien käyttäjätunnukset ja salasanat, selkeänä tekstinä Internetissä, mikä aiheuttaa turvallisuusriskejä, joten monet palvelimet ovat pois käytöstä Telnet-palvelun. Mutta joskus on tarpeen kirjautua sisään palvelimelle etänä käyttöä varten. Tällä hetkellä voit valita SSH (SecureShell) -ohjelman, jossa on salaustoiminto.