|
Domácí úkol: IZI220 Informační a komunikační systémyZadání:Pomocí brány E-mail/FTP si nechte poslat binární soubor ze vzdáleného systému FTP. Rozdělený soubor řádně spojte, dekódujte (UUDECODE) a ověřtePopis:Pro zvládnutí zadané úlohy je nejprve potřeba si ujasnit co (jaký soubor) a odkud (FTP server) chceme dostat. Na síti Internet je spousty anonymních FTP serverů, na kterých se nalézá nesčetné množství souborů rozličných druhů. Ze zcela praktických důvodů jsem zvolil server (vzdálenostně) nejbližší, a to ftp.vse.cz. Pro tento příklad není rozhodující lokace a jméno FTP zdroje, tak proč zatěžovat síť downloadem ze vzdálených serverů. Na anonymním FTP serveru VŠE se nalézá mimo jiné spoustu užitečných programů, a proto místo obvyklého obrázku se pokusím nechat si poslat nějakou utilitu. Protože v poslední době převádím různé texty z prostředí MS-DOS do podoby vhodné pro WWW, může mě zajímat program pro konverzi Češtiny.Druhým rozhodnutím je volba vhodného serveru poskytujícího služby FTPmail. Tyto servery s uživatelem komunikují prostřednictvím elektronické pošty, kdy uživatel do těla dopisu zadá příslušné příkazy FTP, FTPmail je provede na zvoleném serveru a výsledek (výpis adresáře, chybové hlášení, či soubor) pošle zpět na e-mailovou adresu odesilatele. Samozřejmě služba FTPmail není jedinou možností, jak získat ze serveru požadovaný soubor. Opomineme - li typický způsob pomocí FTP klienta, nebo přímo WWW prohlížeče (což není účelem tohoto příkladu), existují i služby jako GopherMail, WWWmail a jiné. Na Českých i světových portálech lze nalézt mnoho odkazů na servery umožňující FTPmail. Opět protože nechci zbytečně zatěžovat přenosové cesty a preferuji rozumnou dobu odezvy, volím nejbližší server ftp.vslib.cz fyzicky umístěný na Technické universitě v Liberci. Komunikace s jinými, světovými servery je stejná a odezva v rozmezí několika minut rozhodně usnadní práci. Postup:1. Nalezení a výběr souboruPrvním krokem je seznámení se s možnostmi služby FTPmail a s formou komunikace. Proto jako první odesílám na adresu ftpmail@ftp.vslib.cz email se slovem help. Server odpoví stručným seznamem platných příkazů a jejich vysvětlením a připojí několik příkladů, jak formulovat své dotazy.Thank you for using FTPmail at the Technical University in Liberec, Czech Republic. Valid commands to the email-ftp gateway are: reply-to <email-address> Sets to whom to send the response. Defaults to your incoming email address open [site [user [pass]]] Sets the site to make the FTP connection to. Defaults are ftp.vslib.cz anonymous <reply-addr> cd pathname Change directory. dir [pathname] Get a `long' listing of a directory. get filename Get a file and email it back. compress Compress files/dir-listings before emailing back gzip The same for GNU zip ascii, binary change the mode selected for the Get command. Defaults to binary. sleep <hours> Let the job sleep in the queue for certain time. quit End of input - ignore any following lines. ------------------------------------------------------------------------------- `ftp.vslib.cz' is the default site ------------------------------------------------------------------------------- Example scripts are: dir quit Connect to ftp.vslib.cz and send back the contents of the top level directory open ftp.vslib.cz cd pub/liane/software get ftpmail.tgz cd ../.. compress ascii get 00INDEX quit Connect to ftp.vslib.cz, send back the file ftpmail.tgz in /pub/liane/software. As this is a binary file it has to be transfered in binary mode. Because it is binary it will automatically be uuencoded. Then change to ../.. and mail back a compressed ftp archive listing. Although compressing ascii file makes it binary, which then has to be uuencoded, it still ends up smaller than the original. ------------------------------------------------------------------------------- Copyright (c) 1994-95 by Jiri A. Randus, University of Technology, Liberec, CZ -------------------------------------------------------------------------------Nyní již je jasné, jak komunikovat se službou FTPmail, a proto odesílám první dotaz. Protože nehledám konkrétní program na neznámém serveru (který bych si mohl nechat vyhledat např. službou ftpsearch.com a zjistit jeho adresu), ale vyberu si program ze serveru ftp.vse.cz, musím si nejprve pořídit výpis toho správného adresáře. Jelikož již znám adresářovou strukturu školního FTP serveru, nemusím postupovat od hlavního adresáře a mohu si jako výchozí zvolit adresář pub/msdos/programs-from-vse ve kterém jsou veřejně přístupné programy pro MS-DOS vytvořené studenty VŠE. Můj druhý mail na ftp.vslib.cz tedy obsahuje tyto příkazy:
total 104 drwxr-xr-x 2 20364 106 1024 Mar 11 1999 fun -rw-r--r-- 1 20364 106 6083 Jan 27 11:16 index.html -rw-r--r-- 1 20364 106 6115 Jan 27 11:18 index_asc.html -rw-r--r-- 1 20364 106 5396 Jun 16 1999 index_eng.html -rw-r--r-- 1 20364 106 6115 Jan 27 11:18 index_iso.html -rw-r--r-- 1 20364 106 6115 Jan 27 11:18 index_kam.html -rw-r--r-- 1 20364 106 6115 Jan 27 11:18 index_lat.html -rw-r--r-- 1 20364 106 6115 Jan 27 11:18 index_win.html drwxr-xr-x 2 20364 106 512 Nov 17 1997 internet drwxr-xr-x 3 20364 106 512 Nov 28 1997 kurzy drwxr-xr-x 2 20364 106 512 Mar 15 1999 novell drwsrwxrwt 2 20364 106 512 Sep 29 1999 pbl drwxr-xr-x 2 20364 106 512 Nov 17 1997 pmail drwxr-xr-x 2 20364 106 512 Feb 25 1999 servis drwxr-xr-x 2 20364 106 1024 Mar 11 1999 typing drwxr-xr-x 2 20364 106 1536 Mar 27 1998 utilZ tohoto výpisu mě může zajímat podadresář util, který obsahuje různé utility, mimo jiné jistě i konverzní programy. Následuje tedy mail, kterým požaduji výpis právě tohoto adresáře.
total 8436 -rw-r--r-- 1 20364 106 4386 Mar 27 1998 00_index.txt -rw-r--r-- 1 20364 106 72185 Jun 2 1997 2col_ui.zip -rw-r--r-- 1 20364 106 9663 Sep 6 1996 atc101.zip -rw-r--r-- 1 20364 106 44043 Feb 29 1996 autils.zip -rw-r--r-- 1 20364 106 21140 Jan 31 1996 balls.zip -rw-r--r-- 1 20364 106 186629 Mar 27 1998 bated20.zip -rw-r--r-- 1 20364 106 15769 Feb 1 1997 bmp2fnt.zip -rw-r--r-- 1 20364 106 229337 Jan 28 1997 caty100.exe -rw-r--r-- 1 20364 106 28682 Nov 14 1997 cdate.zip -rw-r--r-- 1 20364 106 6215 Jun 5 1995 czconv.arj -rw-r--r-- 1 20364 106 389541 Mar 22 1996 demofred.zip -rw-r--r-- 1 20364 106 5540 Feb 7 1995 dentry.zip......... Jak je na FTP serverech dobrým zvykem, i zde je textový soubor s názvy a stručným popisem jednotlivých programů, uložených především ve formě ZIP archívů. Je tedy dobrým nápadem si tento soubor stáhnout, prostudovat a podle něj si zvolit, zda a jaký program budu požadovat. Protože soubor 00_index.txt je textový, volím ASCII přenos a soubor obdržím po odeslání následujícího emailu:
Directory util <Různé drobné jednoúčelové prográmky> NOTE: LANGuage E is English and C is Czech; s.c. means source code Filename LANG KB Date Author Description ===================================================================== 2COL_UI.ZIP C 72 970602 xpavp03 Uživatelské rozhraní pro tiskový program 2col + s.c. ATC101.ZIP C 10 950306 xbrao01 Primitivní konvertor textu (změna znaku) + s.c. AUTILS.ZIP C 44 960229 xbrao01 ASort, ACat, AMap, AUtil, ANewMail - pro dávkové soubory BALLS.ZIP C 21 960131 xkudi02 Balls 1.0, an external scrren saver for DOS ..... SYSEDC23.ZIP C 148 980327 xster05 Editor MSDOS.SYS - aplet Ovládacích panelů viz výše MULTITXT.ZIP C 483 960113 xhynr01 Prohlížeč hypermediálních aplikací pod Windows + ukázky PASTE.ZIP C 6 970602 xpavp03 Svislé spojování textových souborů + s.c. PEPACZ.ZIP C 72 970602 xpavp03 Program na převod kódování češtiny + s.c. PEPALOG.ZIP C 8 970602 xpavp03 Zapisuje do souboru datum a čas a počítá rozdíly + s.c. REBTCZ10.ZIP C 10 980327 xster05 Program podle parametrů příkazové řádky restartuje Windows či počítač a nebo vypne počítač. REBTEN10.ZIP E 10 980327 xster05 According to command line restarts Windows or turns off computer REKURZE.ZIP E 6 950207 xfryo02 Shows nice algorithm for complete dirs scanning + s.c. ROZVRH62.ZIP C 343 950109 xblam02 Tvorba rozvrhu pro ZŠ,SŠ,SOU,OU SETVAR.EXE E 5 950421 xkudi02 DOS program, mění hodnoty klíčů v IniFilech (*.ini) SVATKY.ZIP C 38 970602 xpavp03 Kdo má svátek dnes a dalších sedm dní + s.c. TRAN20.ZIP C 13 980216 xsrad01 Tran - inteligentní konvertor české diakritiky (8 kódů, autodetekce) TRAYRN21.ZIP C 171 980327 xster05 Spouští aplikace kliknutím na ikonu zařazenou v pravé části Hlavního panelu TWU2.ZIP E 25 950213 xsrad01 Stores time you turn your PC on/off (TSR) and a bit more UECHO.ZIP C 8 970602 xpavp03 Příkaz MS-DOS rozšířeny o možnost Unixu + s.c. VI20B.ZIP E 23 950213 xsrad01 Basic system integrity check/restore (antivirus) XTARK.ZIP C 54 971218 xbehk02 Vanoční mutace Flying Tarka G 2. Stažení programuNyní zbývá vybrat vhodný program a "nechat si pro něj poslat". Po přečtení seznamu mě zaujal program PEPACZ.ZIP, který je zde uložený i se zdrojovými kódy. Protože je program uložený jako ZIP archív, a je to tudíž binární soubor, je třeba jej také přenášet jako binární. Následující dopis na liberecký server tedy obsahuje tyto příkazy:
The job was recorded as follows: Retry 1 Delay 956657890 Sender xkecm01@vse.cz Site ftp.vse.cz LoginID anonymous Passwd xkecm01@vse.cz Type B Compression - Action get Params /pub/msdos/programs-from-vse/util/PEPACZ.ZIP The job produced the following output: Tue Apr 25 11:08:10 2000 B Processing job from xkecm01@vse.cz Tue Apr 25 11:08:10 2000 B JOB: ftp.vse.cz anonymous xkecm01@vse.cz get /pub/msdos/programs-from-vse/util/PEPACZ.ZIP 220- pub.vse.cz anonymous FTP service. This server is located at 220- Prague University of Economics, Czech Republic 220- Our local time is now: Tue Apr 25 12:08:10 2000 220- Your hostname is: obelix.vslib.cz 230- 230 Guest login ok, access restrictions apply. 250 CWD command successful. 257 "/pub/msdos/programs-from-vse/util" is current directory. 200 Type set to I. 200 PORT command successful. 550 PEPACZ.ZIP: No such file or directory. Tue Apr 25 11:08:11 2000 B Unsuccessful requestZ tohoto detailního výpisu je tedy zřejmé, že server ftp.vse.cz nemůže nalézt soubor /pub/msdos/programs-from-vse/util/PEPACZ.ZIP. Chyba je samozřejmě v tom, že jsem zadal jméno souboru velkými písmeny a systémy typu Unix jsou "case sensitive", tzn. PEPACZ.ZIP není totéž jako pepacz.zip. Opravuji tedy zadání a odesílám svůj poslední dopis do Liberce.
3. Dekódování programuVýsledkem předchozího dopisu jsou tři nové e-maily od FTPmail V2.33, které obsahují soubor pepacz.zip zakódovaný metodou uucode a rozdělený na části o délce 64 KB. Posledním úkolem je získat z těchto dopisů nepoškozený ZIP archív obsahující požadovaný program. Nejprve musíme pospojovat jednotlivé části dopisu. Protože dopisy mají v poli Věc vyplněny údaje 1/3 pepacz.zip: data až 3/3 pepacz.zip: data, je jasné, v jakém pořadí budeme dopisy spojovat. Dopisy lze spojit v libovolném ASCII editoru, který do ukládaných souborů nepřidává vlastní formátovací znaky.Dopisy spojujeme tak, že první část necháme celou a k ní přidáme druhou a třetí část, ze kterých odstraníme hlavičky dopisu. Získáváme tak jeden dopis, který obsahuje přílohu - mezi klíčovými slovy begin a end je nepřerušený řetězec kódu uucode. Z takto zakódovaného dopisu musíme dostat binární soubor - námi požadovaný ZIP archív. Je mnoho způsobů, jak dekódovat uucode. Asi nejběžnějším je použití pomocných programů uucode.exe, uudecode.exe dostupných i na školní síti. Lze také použít jiné, mnohem komfortnější utility - například i samotný program pro správu ZIP archívů WinZIP podporuje (de)kódování uucode. Při takovém způsobu dekódování bychom jednoduše odstranili hlavičky dopisu a příslušnému programu bychom předali pouze čistý kód uvozený slovy begin a end. Protože však máme soubor ve formě e-mailu (tj. s příslušnými hlavičkami), můžeme využít trochu netradiční způsob a rozkódovat soubor přímo v poštovním klientu. Soubor (dopis) tedy přejmenujeme na dopis.cnm (cnm je přípona souborů s novou poštou) a přesuneme jej do adresáře příchozí pošty (H:\PMail). Nyní spustíme poštovní program PegasusMail for Windows a otevřeme "nový" dopis ve složce nové pošty. Vidíme, že dopis obsahuje netextový dodatek a program nám nabídne jeho uložení. Zvolíme tedy Uložit dodatek a vybereme cílový disk a adresář. Poté zavřeme poštovního klienta, spustíme program pro správu souborů a prohlídneme soubor. Výsledný soubor je korektní archív ZIP, jehož rozbalením v příslušném programu získáme požadovaný program pro konverzi Češtiny včetně autorské dokumentace a zdrojových kódů v Pascalu. Závěr:Účelem tohoto úkolu bylo naučit se pracovat se vzdálenými FTP archívy prostřednictvím rozhraní elektronické pošty. Protože elektronická pošta je někde stále jedinou možností připojení k síti Internet, služby typu FTPmail jsou stále ještě aktuální a potřebné. Pro potřeby této úlohy jsem získal binární soubor s programem z anonymního FTP serveru VŠE a jako FTPmail rozhraní jsem používal server ftp.vslib.cz na Technické univerzitě v Liberci.Tento dokument můžete nalézt na: http://sorry.vse.cz/~xkecm01/izi220/ftpmail.php |
|
Čtvrtek, 21. listopadu 2024, 21:58.09 |
1 697
29.01.2003, v 11:50