Nahrávanie webových súborov z príkazového riadku. Extrakcia a úprava kučier. Niekoľko slov o ďalších užitočných možnostiach cURL

  • 24.04.2019

Prezentovať do vašej pozornosti nový kurz z tímu Kódex- "Penetačné testovanie webových aplikácií od začiatku". Všeobecná teória, Príprava pracovného prostredia, Pasívne fuzzovanie a snímanie odtlačkov prstov, Aktívne fuzzovanie, Zraniteľnosť, Post-Exploitation, Nástroje, Sociálne inžinierstvo a ďalšie.


Zdroj:

cURL je balík softvér pozostávajúce z užitočnosti príkazový riadok a knižnice na odovzdávanie údajov pomocou syntaxe URL.

cURL podporuje mnoho protokolov vrátane DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet a TFTP.

Nahrajte samostatný súbor

Nasledujúci príkaz získa obsah adresy URL a zobrazí ju na štandardnom výstupe (t. j. vo vašom termináli).

Curl https://mi-al.ru/> mi-al.htm% Celkom% Received% Xferd Priemerná rýchlosť Čas Čas Čas Aktuálne predĺženie Odovzdanie Celkom Spotrebované Doľava Rýchlosť 100 14378 0 14378 0 0 5387 0 -: - : - - 0:00:02 -: -: - 5387

Ukladanie výstupu cURL do súboru

  • -o(o malými písmenami) výsledok sa uloží do súboru zadaného na príkazovom riadku
  • -O(O veľké písmená) názov súboru sa prevezme z adresy URL a použije sa na uloženie prijatých údajov.
$ curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html

Stránka gettext.html sa teraz uloží do súboru s názvom 'mygettext.html'. Keď curl spustíte s voľbou -o, zobrazí sa indikátor priebehu sťahovania nasledovne.

% Celkom% Received% Xferd Priemerná rýchlosť Čas Čas Čas Aktuálne predĺženie Nahrávanie Celková míňaná Ostáva Rýchlosť 0 0 39474 0 0:00:31 0:00:31 -: -: - 68987

Keď použijete curl -O (veľké písmeno O), obsah sa sám uloží do súboru s názvom „gettext.html“ na lokálnom počítači.

$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html

Poznámka: Keď má curl zapisovať údaje do terminálu, vypne indikátor priebehu, aby nedošlo k zámene vo vytlačených údajoch. Na prenos výsledkov do súboru môžeme použiť možnosti „>“ | „-o“ | „-O“.

Načítavanie viacerých súborov súčasne

Zadaním všetkých adries URL na príkazovom riadku môžeme stiahnuť viacero súborov naraz.

Curl -O URL1 -O URL2

Príkaz nižšie stiahne index.html aj gettext.html a uloží ich s rovnakými názvami do aktuálneho adresára.

Curl -O http://www.gnu.org/software/gettext/manual/html_node/index.html -O http://www.gnu.org/software/gettext/manual/gettext.html

Upozorňujeme, že keď stiahneme viacero súborov z rovnakého servera, ako je uvedené vyššie, curl sa pokúsi znova použiť pripojenie.

Postupujte podľa hlavičiek HTTP Location s voľbou -L

V predvolenom nastavení CURL nesleduje umiestnenie HTTP v hlavičkách (presmerovania). Keď sa požadovaná webová stránka presunie na iné miesto, odošle sa príslušná odpoveď HTTP hlavičky Miesto.

Napríklad, keď niekto zadá google.com do panela prehliadača zo svojej domovskej krajiny, bude automaticky presmerovaný na google.co.xx. Toto sa vykonáva na základe hlavičky HTTP Location, ako je uvedené nižšie.

Curl https://www.google.com/?gws_rd=ssl 302 Presunuté

302 Presunuté

Dokument sa presunul sem.

Vyššie uvedený výstup hovorí, že požadovaný dokument bol presunutý na „http://www.google.co.th/“.

Curlovi môžete povedať, aby nasledoval presmerovania pomocou možnosti -L, ako je uvedené nižšie. Teraz sa načíta zdroj html z https://www.google.co.th/?gws_rd=ssl.

Curl -L https://www.google.com/?gws_rd=ssl

Pokračovať / Obnoviť predchádzajúce sťahovanie

Pomocou voľby -C môžete pokračovať v sťahovaní, ktoré bolo z nejakého dôvodu zastavené. Bude to užitočné, keď sa preruší sťahovanie veľkých súborov.

Ak povieme '-C -', potom curl vyhľadá, kde má pokračovať v sťahovaní. Môžeme tiež špecifikovať „-C<смещение>'. Zadaný bajtový offset sa preskočí od začiatku zdrojového súboru.

Začať veľké zaťaženie s curl a stlačením Ctrl-C sa zastavíte uprostred sťahovania.

$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html ############## 20,1 %

Sťahovanie bolo zastavené na 20,1 %. Pomocou „curl -C -“ môžeme pokračovať v sťahovaní tam, kde sme prestali. Teraz bude načítanie pokračovať z 20,1 %.

Curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html ############### 21,1 %

Obmedzenie rýchlosti prenosu dát

Prenosovú rýchlosť môžete obmedziť pomocou voľby -limit-rate. Môžete prejsť maximálna rýchlosť ako argument.

$ curl --limit-rate 1000B -O http://www.gnu.org/software/gettext/manual/gettext.html

Vyššie uvedený príkaz obmedzí prenosovú rýchlosť na 1000 bajtov za sekundu. curl môže použiť vyššiu rýchlosť na vrchole. Priemerná rýchlosť však bude asi 1 000 bajtov za sekundu.

Nižšie je lišta priebehu pre vyššie uvedený príkaz. Môžete vidieť, že aktuálna rýchlosť je okolo 1000 bajtov.

% Celkom% Received% Xferd Priemerná rýchlosť Čas Čas Čas Aktuálne predĺženie Nahrávanie Celková vyčerpaná rýchlosť 1 1215 k 1 13601 0 0 957 0 0:21:40 0:00:14 0:21:26 999 1 1215 k 1 1460 0 0 960 0 0:21:36 0:00:15 0:21:21 999 1 1215k 1 15601 0 0 962 0 0:21:34 0:00:16 0:21:18 999

Súbor načítajte iba vtedy, ak bol zmenený pred/po určenom čase

Súbory, ktoré sa zmenili po určitom čase, môžete získať pomocou voľby -z na zvlnenie. Toto bude fungovať pre FTP aj HTTP.

$ curl -z 20-Aug-14

Vyššie uvedený príkaz načíta súbor yy.html iba v prípade, že sa zmenil neskôr ako zadaný dátum a čas.

Vyššie uvedený príkaz načíta súbor file.html, ak sa predtým zmenil daný dátum a čas.

Napíšte „man curl_getdate“, ak sa chcete dozvedieť viac o rôznych syntaxách podporovaných pre výrazy dátumu.

Odovzdanie overenia HTTP v cURL

Niekedy webové stránky vyžadujú na zobrazenie svojho obsahu používateľské meno a heslo. Pomocou voľby -u môžete odovzdať tieto poverenia z cURL na webový server, ako je uvedené nižšie.

$ curl -u užívateľské meno: heslo URL

Poznámka: V predvolenom nastavení curl používa základnú autentifikáciu HTTP. Ďalšie metódy autentifikácie môžeme špecifikovať pomocou -ntlm | -tráviť.

Nahrávanie súborov zo servera FTP

cURL možno použiť aj na sťahovanie súborov z FTP servery... Ak je zadaná cesta FTP adresár, predvolene sa zobrazí zoznam súborov v ňom.

$ curl -u ftpuser: ftppass -O ftp: //ftp_server/public_html/xss.php

Vyššie uvedený príkaz stiahne súbor xss.php z ftp servera a uloží ho do vášho lokálneho adresára.

$ curl -u ftpuser: ftppass -O ftp: // ftp_server / public_html /

Tu adresa URL odkazuje na adresár. Preto cURL zobrazí zoznam súborov a adresárov podľa daná adresa URL adresu.

Zoznam / Načítanie pomocou rozsahov.

CURL podporuje rozsahy adries URL. Keď je zadaný rozsah, načítajú sa zodpovedajúce súbory v tomto rozsahu. To bude užitočné pri sťahovaní balíkov z FTP mirrorov.

$ curl ftp://ftp.uk.debian.org/debian/pool/main//

Vyššie uvedený príkaz zobrazí zoznam všetkých balíkov v rozsah a-z v termináli.

Nahrávanie súborov na FTP server

Curl možno použiť aj na nahrávanie na FTP server s voľbou -T.

$ curl -u ftpuser: ftppass -T myfile.txt ftp://ftp.testserver.com

Vyššie uvedený príkaz odovzdá súbor s názvom myfile.txt na server FTP. Môžete tiež nahrať viacero súborov naraz pomocou rozsahov.

$ curl -u ftpuser: ftppass -T "(súbor1, súbor2)" ftp://ftp.testserver.com

Voliteľne môžeme použiť "." získať z stdin a odoslať ho na vzdialený počítač.

$ curl -u ftpuser: ftppass -T - ftp://ftp.testserver.com/myfile_1.txt

Vyššie uvedený príkaz získa výstup od používateľa zo štandardného vstupu a uloží obsah na ftp server pod názvom „myfile_1.txt“.

Pre každú adresu URL môžete zadať „-T“ a každý pár adries súboru určí, čo sa má kam nahrať

Viac informácií so zvýšenou podrobnosťou a možnosťou sledovania

Čo sa deje, môžete zistiť pomocou voľby -v. Voľba -v zapne verbálny režim a vytlačí podrobnosti.

Curl -v https://www.google.co.th/?gws_rd=ssl

Vyššie uvedený príkaz vypíše nasledovné

* Prestavaná adresa URL na: https://www.google.co.th/?gws_rd=ssl * Názov hostiteľa bol Nenájdené vo vyrovnávacej pamäti DNS * Pokus 27.123.17.49 ... * Pripojené k portu www.google.co.th (27.123.17.49) 80 (# 0)> GET / HTTP / 1.1> User-Agent: curl / 7.38.0> Hostiteľ : www.google.co.th> Prijať: * / *>< HTTP/1.1 200 OK < Date: Fri, 14 Aug 2015 23:07:20 GMT < Expires: -1 < Cache-Control: private, max-age=0 < Content-Type: text/html; charset=windows-874 < P3P: CP="This is not a P3P policy! See https://support.google.com/accounts/answer/151657?hl=en for more info." * Server gws is not blacklisted < Server: gws < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < Set-Cookie: PREF=ID=1111111111111111:FF=0:TM=1439593640:LM=1439593640:V=1:S=FfuoPPpKbyzTdJ6T; expires=Sun, 13-Aug-2017 23:07:20 GMT; path=/; domain=.google.co.th ... ... ...

Ak potrebujete viac detailné informácie potom môžete použiť voľbu -trace. Voľba -trace umožní úplný výpis zo sledovania všetkých prichádzajúcich/odchádzajúcich údajov pre zadaný súbor

=> Odoslať hlavičku, 169 bajtov (0xa9) 0000: 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP / 1.1 .. 0010: 55 7 63 23 66 66 75 72 6c User-Agent: curl .. 0060: 2e 32 2e 33 2e 34 20 6c 69 62 69 64 6e 2f 31 2e .2.3.4 libidn / 1. 0070: 31 35 20 6c 69 62 73 73 68 32 2f 31 2e 32 2e 36 15 libssh2 / 1.2.6 0080: 0d 0a 48 6f 73 207 7 7 7 6 0.0. : 6c 65 2e 63 6f 2e 69 6e 0d 0a 41 63 63 65 70 74 le.co.xx..Prijať 00a0: 3a 20 2a 2f 2a 0d 0a 0d ...0.= Informácie = * , predpokladať tesne po tele<= Recv header, 17 bytes (0x11) 0000: 48 54 54 50 2f 31 2e 30 20 32 30 30 20 4f 4b 0d HTTP/1.0 200 OK. 0010: 0a

Možnosti výrečnosti a sledovania sa hodia, keď zvlnenie z nejakého dôvodu zlyhá a my nevieme prečo.

Definíciu slova a jeho preklad získame pomocou protokolu DICT

Zoznam dostupných slovníkov si môžete pozrieť takto:

Curl dikt: //dict.org/show: db

Preklad slova z angličtiny do ruštiny môžete získať takto:

Curl dict: //dict.org/d: girl: fd-eng-rus 220 pan.alephnull.com dictd 1.12.1 / rf na Linuxe 3.14-1-amd64 <[e-mail chránený]> 250 ok 150 1 nájdených definícií 151 "girl" fd-eng-rus "Anglicko-ruský FreeDict Dictionary ver. 0.3" dievča / gəːl / dievča. 250 ok 221 dovidenia

Viac informácií o DICT nájdete v RFC2229.

Použitie servera proxy na stiahnutie súboru

Môžeme povedať cURL, aby používal proxy pre určité operácie, to sa robí pomocou voľby -x. Musíme nastaviť hostiteľa a port proxy.

$ curl -x proxysever.test.com:3128 https://www.google.co.in/?gws_rd=ssl

Odosielanie e-mailov pomocou protokolu SMTP v curl

cURL možno použiť aj na odosielanie e-mailov pomocou SMTP. Musíte zadať adresu od koho, adresu komu a IP adresu poštového servera, ako je uvedené nižšie.

$ curl --mail-from [e-mail chránený]--mail-rcpt [e-mail chránený] smtp: //mailserver.com

Po zadaní príkazu počká, kým používateľ zadá údaje pre písmeno. Po dokončení písania správy napíšte. (bodka) ako posledný riadok a email bude odoslaný ihneď.

Predmet: Testovanie Toto je testovací mail.

Ručiteľ je dôveryhodným sprostredkovateľom medzi účastníkmi transakcie.



16.02.2006 Jeff Felling

Curl vám pomôže spravovať údaje hosťované na webe Tento článok popisuje bezplatný nástroj Curl, ktorý môžete použiť na odosielanie a prijímanie webových stránok z príkazového riadku. Curl uľahčuje automatizáciu mnohých

Curl vám pomáha spravovať údaje hosťované na webe

Tento článok popisuje bezplatný nástroj Curl, ktorý môžete použiť na odosielanie a prijímanie webových stránok z príkazového riadku. Curl uľahčuje automatizáciu mnohých bezpečnostných a administratívnych operácií, ako je získanie webovej stránky na analýzu alebo stiahnutie bezpečnostnej opravy z webu.

Inštalácia Curl

Curl je súčasťou mnohých unixových distribúcií. Binárne súbory a zdroje sú dostupné pre väčšinu ostatných operačných systémov. Dokonca aj open source PHP programátori môžu použiť Curl na bezpečný prístup k webovému obsahu priamo z PHP skriptov.

Curl vyžaduje balík OpenSSL na používanie webových stránok Secure Sockets Layer (SSL). Existujú dve verzie Curl, jedna s SSL a druhá bez SSL. Odporúčam prvý, pretože SSL spoľahlivo chráni dáta.

Pred použitím Curl s funkcionalitou SSL si musíte stiahnuť a samostatne nainštalovať balík OpenSSL z webu. Binárne súbory OpenSSL pre Windows si môžete stiahnuť zo stránky projektu GnuWin32 SourceForge na adrese. Na tejto stránke je mnoho ďalších užitočných nástrojov prenesených do systému Windows.

Stiahnite si a nainštalujte balík OpenSSL a potom skopírujte dve knižnice DLL do adresára system32:

Skopírujte "C: Program FilesGnuWin32 binlibeay32.dll"% windir% system32 copy "C: Program FilesGnuWin32 binlibssl32.dll"% windir% system32

Potom môžete nainštalovať Curl. Binárne súbory Curl kompatibilné s SSL pre Windows nájdete na http://curl.haxx.se/latest.cgi?curl=win32-ssl-sspi... Najnovšia verzia, curl 7.15.0, je vo win32-ssl-sspi.zip, ktorý obsahuje curl.exe a dokumentáciu.

Po inštalácii Curl by ste sa mali uistiť, že funguje zadaním príkazu

Curl http://isc.sans.org/ infocon.txt

Ak sa na obrazovke objaví slovo pre farbu (napríklad zelená), Curl funguje. V tomto jednoduchom príklade Curl získava obsah Infoconu z Internet Storm Center inštitútu SANS. Zelená znamená, že internet funguje normálne a neboli zistené žiadne závažné hrozby. Ak sa na obrazovke namiesto zelenej objavia slová žltá, oranžová alebo červená, odložte tento článok a navštívte webovú stránku http://isc.sans.org dozvedieť sa o vysoko rizikových podmienkach na internete. V prípade chyby je potrebné skontrolovať správnosť nastavenia Curl.

Curl v podstate načíta webovú stránku a potom odošle zdrojový kód HTML stránky do konzoly. Možnosti utility sú však širšie. Curl má vstavanú funkciu kontroly chýb. Napríklad príkaz

Curl http: // noservertu

vyvolá chybu Curl: (6) Nepodarilo sa vyriešiť hostiteľ: noserverhere; Hostiteľ sa nenašiel. Chybové kódy možno použiť v skriptoch na kontrolu dostupnosti webovej stránky alebo odozvy webového servera. Ak napríklad používate Curl na každodenné získavanie webovej stránky, ako je napríklad denná štatistika webovej lokality, môžete skript doplniť zdrojovým kódom, ktorý hľadá chybové kódy. Ak Curl vydá kód chyby Curl: (7) nemohol sa pripojiť k hostiteľovi, môžete okamžite poslať varovanie alebo poslať e-mailovú správu.

Extrahujte zašifrované údaje

Jednou z najväčších predností Curl je jeho kompatibilita s SSL. Požadované stránky HTTPS sa prenášajú cez sieť v šifrovanej forme a potom Curl zobrazí obnovený text. Curl navyše kontroluje certifikáty – dátum vypršania platnosti certifikátu, názov hostiteľa sa zhoduje s názvom hostiteľa v certifikáte a úroveň dôveryhodnosti koreňového certifikátu – a varuje, ak je certifikát neplatný. Parameter -cacert vám umožňuje zadať konkrétny súbor certifikátu. Kontrola certifikátu sa zruší pomocou voľby -k. Alternatívnym prístupom je použitie parametra -insecure.

Nielen pre WWW

Možnosti Curl presahujú jednoduchý prenos súborov cez internet. Curl možno použiť na rýchly zoznam adresárov FTP lokality:

Curl ftp: // myftpsite

Ak chcete zobraziť podadresáre lokality, zadajte príkaz

Curl ftp: // myftpsite / subdir /

Ak chcete stiahnuť súbor zo siete, stačí zadať názov súboru v adrese URL. Nasledujúci príklad načíta súbor s názvom readme.txt priamo z príkazového riadka a zobrazí ho na obrazovke:

Curl ftp://ftp.microsoft.com/ deskapps / games / readme.txt

Často je jednoduchšie pripraviť skript Curl na zadávanie súborov FTP ako interaktívne používať príkaz FTP.

V predvolenom nastavení sa údaje odosielajú priamo do konzoly, ale môžu byť presmerované do súboru pomocou volieb -o a -O. Ak chcete získať stránku a uložiť ju na disk, použite parameter -o. Voľba -O uloží výslednú stránku do lokálneho súboru a Curl získa názov vzdialeného dokumentu. Ak v adrese URL nie je zadaný názov súboru, táto operácia zlyhá. Ak používate Curl na odoslanie požiadavky na webovú lokalitu bez názvu súboru, ale chcete uložiť výsledok do súboru, môžete zadať názov súboru na príkazovom riadku, napríklad:

Overenie

Curl poskytuje základné, prehľadové a integrované metódy autentifikácie. Na väčšine lokalít je možné pristupovať k stránkam s autentifikáciou založenou na formulári pomocou funkcií odosielania Curl, ako je uvedené nižšie. To znamená, že môžete odoslať údaje formulára, ako napríklad meno používateľa a heslo, na vzdialenú webovú lokalitu, ktorá vás vyzve na zadanie informácií na webovej stránke. Parameter -u môžete použiť na preposielanie poverení alebo ich prilepenie do adresy URL, čo sa tradične robí na FTP, napríklad:

Curl ftp: // používateľské meno: [e-mail chránený] stránky

Curl možno použiť na migráciu techník vypožičaných cez FTP na HTTP, ako v nasledujúcom príklade:

Curl http: // používateľské meno: heslo @ myhtmlsite / default.htm

Curl tiež poskytuje proxy prístup k webovým stránkam. Curl môže byť preto nakonfigurovaný tak, aby používal proxy server na overenie Basic, Digest a NTLM.

Prečítajte si dokumentáciu

Je ťažké pokryť všetky početné funkcie Curl v jednom článku, vrátane nahrávania súborov na server (-T) a zobrazovania iba informácií v hlavičke HTTP (-I) a prezerania všetkých údajov v podrobnom režime (-V) a skrytý výstup ( -s). Odporúčam sa bližšie pozrieť na funkcie Curl v návode uverejnenom na http://curl.haxx.se/docs .

Príklad kučery

Teraz, keď ste oboznámení so základmi Curl, pozrime sa na jednoduchý príklad extrakcie údajov z webovej lokality s daným vstupom. Poďme vytvoriť jednoduchý nástroj Whois, ktorý demonštruje jednoduchosť a jednoduchosť používania Curl a spôsob odosielania údajov na webovú lokalitu pomocou voľby -d. V tomto príklade Curl odošle IP adresu na webovú lokalitu Arin Whois a potom načíta výsledky z tejto lokality. Whois hľadá informácie o vlastníkovi adresy IP.

Pred začatím je dôležité preskúmať webovú lokalitu, pretože zdrojový kód každej lokality má svoje vlastné charakteristiky a Curl nefunguje vždy rovnakým spôsobom so všetkými lokalitami. Predbežná návšteva stránky vám umožňuje zhromaždiť potrebné informácie, aby Curl fungoval. V tomto príklade som na návštevu použil prehliadač http://www.arin.net/whois/, a upozornil na skutočnosť, že stránka má jediné pole na zadávanie údajov, v ktorom návštevníci uvádzajú IP adresu, o ktorú majú záujem. Chcete získať podrobnosti o tomto poli, ktoré je súčasťou webového formulára. Tento príklad používa skript formfind.pl Perl ( http://cool.haxx.se/cvs.cgi/curl/perl/contrib/ formfind? rev = HEAD & content-type = text / vnd.viewcvs-markup). Skript Formfind.pl konvertuje údaje formulára na použiteľný výstup a uľahčuje manuálne vyhľadávanie údajov v HTML. Samozrejme, na spustenie Formfindu musí byť na počítači nasadený Perl. Dobrý balík Win32 Perl je možné objednať z webovej stránky ActiveState ActivePerl na adrese http://www.activestate.com .

Pozrime sa na príklad podrobnejšie. Najprv sa obrátime na webovú stránku, ktorá obsahuje formulár, ktorý požaduje informácie:

Curl -o whoisOutputFile http://www.arin.net/whois/

Tento príkaz extrahuje stránku Whois z http://www.arin.net a uloží ju do textového súboru whoisOutputFile, ktorý obsahuje zdroj HTML, ktorý prehliadač prehrá pri návšteve lokality.

Potom musíte nájsť a vybrať údaje formulára:

./formfind.pl

Výstupy Formfind tvoria premenné a ich možné hodnoty. V tomto príklade je výstup celkom jednoduchý (pozri. obrazovka 1).

Venujte pozornosť údajom vstupného formulára s názvom queryinput. Toto je textové pole, kam má Curl poslať hľadanú IP adresu. Na konkrétnej IP adrese nezáleží – v tomto príklade je použitý Microsoft. Pomocou parametra -d sa hľadaná adresa IP prepošle do poľa vstupu dotazu:

Curl -d "queryinput = 207.46.133.140" http://ws.arin.net/cgibin/ whois.pl

Príkaz Curl s voľbou -d načíta údaje vo formulári, v tomto prípade queryinput, čo je IP adresa, ktorú treba hľadať. Tým sa zmení cieľová adresa; formulár by mal odoslať údaje na novú adresu URL, ktorá je prezentovaná skriptom whois.pl. Novú cieľovú adresu môžete vidieť vo výstupe formfind na obrázku 1.

Tento príklad tiež načítava zdroj HTML odpovede Whois, ale je skrytý skupinou značiek HTML. V predvolenom nastavení sa v správe o stave zvlnenia zobrazuje veľkosť dokumentu, percento dokončenia a rýchlosť prenosu. Výstup je možné trochu vyčistiť a filtrovať podľa názvu organizácie, ktorá vlastní IP adresu. Stav zvlnenia je možné deaktivovať pomocou voľby -s. Príkaz by sa mal spustiť cez grep, aby ste získali iba názov OrgName:

Curl -s -d "queryinput = 207.46.133.140" http://ws.arin.net/cgibin/ whois.pl | grep Názov organizácie

V tomto príklade výstup zobrazuje názov OrgName je Microsoft Corp.

@echo off curl -k -s -d "queryinput =% 1" http://ws.arin.net/cgibin/ whois.pl | grep Názov organizácie



21 odpovedí

Možno už máte kučery

Možno nebudete musieť nič sťahovať:

  • Ak používate Windows 10 verzie 1803 alebo vyššej, váš operačný systém sa dodáva s kópiou curl už nakonfigurovanou a pripravenou na použitie.
  • Ak máte ezoterickejšie potreby (napríklad potrebujete zostavy cygwin, zostavy tretích strán, libcurl, hlavičkové súbory, zdroje atď.), použite sprievodcu sťahovaním curl. Po zodpovedaní piatich otázok sa vám zobrazí zoznam odkazov na stiahnutie.

    Extrakcia a úprava kučier

    Nájdite curl.exe v stiahnutom balíku; pravdepodobne je pod košom \.

    Vyberte si miesto na pevnom disku, ktoré bude slúžiť ako trvalý domov pre kučery:

    • Ak chcete vytvoriť zvlnenie svoj vlastný priečinok, urobí to C: \ Program Files \ curl \ alebo C: \ curl \.
    • Ak máte veľa voľne spustiteľných súborov a nechcete do PATH pridávať veľa samostatných priečinkov, použite na tento účel jeden priečinok, napríklad C: \ Program Files \ tools \ alebo C: \ tools \.

    Umiestnite curl.exe do priečinka. A nikdy nepresúvajte priečinok ani jeho obsah.

    Potom budete chcieť sprístupniť curl kdekoľvek na príkazovom riadku. Ak to chcete urobiť, pridajte priečinok do PATH takto:

    1. Kliknite na ponuku Štart systému Windows 10. Začnite písať prostredie.
    2. Uvidíte výsledok vyhľadávania. Upravte systémové premenné prostredia... Vyberte toto.
    3. Otvorí sa okno Vlastnosti systému. Kliknite na tlačidlo Premenné prostredia na spodku.
    4. Vyberte premennú Path v časti Systémové premenné (spodné pole). Kliknite na tlačidlo Zmeniť.
    5. Kliknite na " Pridať" a vložte cestu do priečinka, kde sa nachádza curl.exe.
    6. Kliknite na dobre, ak je to potrebné. Zatvorte otvorené okná konzoly a znova ich otvorte, aby získali novú PATH.

    Teraz si vychutnajte písanie curl na ľubovoľnom príkazovom riadku. Čas na zábavu!

    Ak chcete spustiť curl z príkazového riadku

    a) Kliknite kliknite pravým tlačidlom myši ikona myši "Tento počítač"

    b) Vyberte "Vlastnosti"

    d) Prejdite na kartu [Rozšírené] – tlačidlo „Premenné prostredia“.

    e) V časti „Systémová premenná“ vyberte „Cesta“ a „Upraviť“

    f) Pridajte bodkočiarku a za ňou cestu, kam ste vložili súbor curl.exe (napr. D: \ software \ curl)

Teraz môžete spustiť z príkazového riadku zadaním:

Curl www.google.com

Počnúc Windowsom 10 verzie 1803 (a staršej s Insider build 17063) už curl neinštalujete. Windows obsahuje svoj vlastný curl.exe (a tar.exe) v C: \ Windows \ System32 \, ku ktorému máte prístup priamo z vášho bežného CMD.

C: \ Users \ vonc> C: \ Windows \ System32 \ curl.exe --version curl 7.55.1 (Windows) libcurl / 7.55.1 WinSSL Release-Date: Protokoly: súbor dict ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Vlastnosti: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL C: \ Users \ vonc> C: \ Windows \ System32 \ tar.exe --version bsdtar 3.3.2 - libarchive 3.3.2 .5.f-ipp

Pravdepodobne stojí za zmienku, že Powershell v3 a ďalšie neskoršie verzie obsahuje rutinu cmdlet Invoke-WebRequest, ktorá má určité možnosti zvlnenia. Za zmienku pravdepodobne stoja aj rutiny cmdlet New-WebServiceProxy a Invoke-RestMethod.

Nie som si istý, či vám budú fungovať alebo nie, ale hoci nie som Windows, musím povedať, že objektový prístup ktoré PS používa, je oveľa jednoduchšie pracovať s nástrojmi ako curl, wget atď. Možno by stálo za to si ich pozrieť

Môžete vytvárať Najnovšia verzia curl, openssl, libssh2 a zlib v 3 jednoduchých krokoch podľa tohto návodu.

Curl je vytvorený staticky, takže nemusíte šíriť potrebný dynamický runtime.

Môžete si tiež stiahnuť predpripravenú verziu (x86 a x64).

Hľadal som proces sťahovania Curl a každý, kde povedali, skopíruje súbor curl.exe v System32 ale neuviedli priamy odkaz. tak si tu môžete užiť curl.exeľahko dovnútra priečinok bin jednoducho

rozbaľte ho a potom prejdite do priečinka bin, kde získate súbor exe

Myslel som, že napíšem presne to, čo som urobil (Windows 10, 64-bit):

Prosím vyber spustiteľný súbor zvlniť.

Vyberte Win64.

Vyberte si všestranné.

Vyberte si kohokoľvek.

curl verzia: 7.53.1 - SSL povolené SSH povolené. Poďakovanie: Viktor Shakats. Tento balík je spustiteľný typ curl. Z tohto odkazu získate predkompilovaný súbor binárny súbor curl (alebo v niektorých prípadoch pomocou informácií uvedených na stránke, na ktorú vás tento odkaz zavedie). Môžete alebo nemusíte nainštalovať libcurl ako zdieľanú knižnicu / DLL. Súbor je zabalený pomocou 7zip. 7zip je formát archivácie súborov.

Kliknite na stiahnutie.

V priečinku sťahovania by ste mali mať súbor curl-7.53.1-win64-mingw.7z.

Nainštalujte si 7-Zip, ak ho nemáte.

Kliknite pravým tlačidlom myši, 7-Zip, rozbaľte sem. Skopírujte a prilepte extrahovaný súbor niekde ako Z: \ Tools \

Ak sa pozriete do priečinka bin, uvidíte curl.exe. Ak naň dvakrát kliknete, okno rýchlo zabliká a zmizne. Ak ho chcete spustiť, musíte použiť príkazový riadok. Prejdite do priečinka bin a napíšte curl a potom svoje možnosti na vytvorenie požiadavky. Musíte použiť dvojité úvodzovky. Jednoduché úvodzovky nebude fungovať s curl v systéme Windows.

Teraz musíte do vlastnej premennej Path pridať zvlnenie, aby ste nemuseli ísť do požadovaný priečinok spustiť program. Prejdite na „Tento počítač“, „Počítač“, „Vlastnosti systému“, „ Extra možnosti systems ", prihláste sa ako správca (nie ste správca, však? nie?). Premenné prostredia, Systémové premenné, pozrite si zoznam a vyberte Cesta, potom Upraviť, potom Nová, potom napr.

Z: \ Nástroje \ curl-7.53.1-win64-MinGW \ Bin

Ak chcete, môžete pridať spätné lomítko, myslím, že na tom nezáleží. Stláčajte navigačné tlačidlo nahor, kým sa nedostane na začiatok zoznamu a z ktorého ho ľahko uvidíte predchádzajúca obrazovka... Kliknite na OK, OK, OK, potom otvorte príkazový riadok a môžete spustiť curl zadaním curl z ľubovoľného priečinka ako každý používateľ. Nezabudnite na dvojité úvodzovky.

Toto je odpoveď, ktorú by som chcel dostať.

Tento inštalačný program mi to uľahčil http://www.confusedbycode.com/curl/


Autor: Obaro Ogbo
Dátum zverejnenia: 29. apríla 2015
Preklad: A. Krivoshey
Dátum prevodu: júl 2015

curl je multiplatformový nástroj príkazového riadka na prijímanie a odosielanie súborov pomocou syntaxe URL. Názov je rekurzívna skratka pre Curl URL Request Library a je to veľmi výkonný program podporujúce veľké množstvo sieťové protokoly vrátane HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, LDAPS, DICT, TELNET, FILE, IMAP, POP3, SMTP a RTSP.

kučeravé podpery veľké množstvo užitočné funkcie vrátane overovania používateľov, serverov proxy, FTP, HTTP príspevok, súbory cookie, obnovenie prenosu súborov, pripojenia SSL a ďalšie. V tomto článku sa pozrieme na hlavné funkcie curl pre tých, ktorí sa s týmto programom prvýkrát stretli alebo o ňom vedia málo.

Inštalácia

Pre inštalácie curlingu v systéme Debian / Ubuntu použite nasledujúci príkaz:

$ sudo apt-get install curl

Syntax

curl očakáva argument adresy URL a pokúsi sa stiahnuť akýkoľvek súbor dostupný na tejto adrese URL.

$ curl http://www.maketecheasier.com

Predvolený obsah prenesený súbor zobrazené na príkazovom riadku. Ak je zadaný výstupný súbor, program zobrazí indikátor priebehu zobrazujúci množstvo prenesených dát, prenosovú rýchlosť, odhadovaný zostávajúci čas a uplynutý čas. Pre uloženie stiahnutého súboru pod krstné meno používa sa možnosť -o:

$ curl -o mte-index.html http://www.maketecheasier.com

Ak chcete uložiť súbor s rovnakým názvom ako na serveri, použite voľbu -O:

$ curl -O ftp://ftp.kernel.org/pub/linux/kernel/v4.x/linux-4.0.tar.xz

Získanie súboru z ftp servera, kde sa vyžaduje autorizácia:

$ curl -O ftp: // používateľské meno: [e-mail chránený]/pub/linux/kernel/v4.x/linux-4.0.tar.xz

Pre nastavenie viacerých URL resp časti adresy URL, vložte tieto časti rovnátka:

$ curl -O http://www.maketecheasier.com/author/(obaro,ivana,vamsi)

Môžete tiež určiť sekvenčný rozsah pomocou hranatých zátvoriek:

$ curl -O ftp://ftp.numericals.com/file.txt $ curl -O ftp://ftp.letters.com/file.txt $ curl -O http://any.org/archive/vol/ časť (a, b, c) .html

$ curl -o "file_ # 1.txt" http: // (jeden, dva) .site.com $ curl -o "output_ # 1_ # 2" http: // (stránky, hostiteľ) .host.com

Môžeš sa opýtať Reťazec User-Agent na autentifikáciu na serveroch použite pre http pripojenia príznak -A:

$ curl -A "Mozilla / 5.0 (Windows NT 6.3; rv: 36.0) Gecko / 20100101 Firefox / 36.0" -o mte-index.html http://www.maketecheasier.com

Na odosielanie údajov z pomocou HTTP POST je pre možnosť -d:

$ curl -d "používateľské meno = obaro" -d "heslo = heslo" http://maketecheasier.com

$ curl -d "používateľské meno = obaro" -d "heslo = heslo" -c mte-cookies http://maketecheasier.com

Možnosť -b sa používa na používanie týchto uložených súborov cookie:

$ curl -b mte-cookies -d "hc_comment = Toto je komentár a odoslať = pravda" http://www.maketecheasier.com/monitor-hard-disk-health-linux/

Ak chcete na stránku nahrať súbor, použite možnosť -T. Pre http (s) servery sa namiesto toho používa príkaz PUT:

$ curl -T "file1.jpg" http://www.uploadmania.com/upload

Ak chcete vynútiť pripojenie SSL / TLS, použite príznak --ssl-reqd. Môžete tiež aktivovať SSL / TLS jedným príkazom pre niekoľko súborov:

$ curl --ssl-reqd -T "file.jpg" ftp: // meno používateľa: [e-mail chránený]/ nahrať

Pomocou voľby -u môžete zadať poverenia:

$ curl -u používateľské meno: heslo --ssl-reqd -T "file.jpg" ftp://ftp.uploadmania.com/upload

curl je veľmi jednoduchý, spoľahlivý a funkčný program... Má obrovské množstvo možností a podporuje veľa protokolov, zvážili sme len malú časť jeho možností. Ak sa to chcete naučiť k dokonalosti, prečítajte si manuálovú stránku.

Život webového vývojára je zahalený zložitosťou. Je to obzvlášť frustrujúce, keď zdroj týchto komplikácií nie je známy. Je to problém s odoslaním požiadavky alebo s odpoveďou, alebo s knižnicou tretej strany, alebo je externé API chybné? Existuje množstvo rôznych úprav, ktoré nám môžu uľahčiť život. Tu je niekoľko nástrojov príkazového riadku, ktoré osobne považujem za neoceniteľné.

cURL
cURL je program na prenos dát cez rôzne protokoly, podobne ako wget. Hlavný rozdiel je v tom, že wget štandardne ukladá do súboru, zatiaľ čo cURL tlačí na príkazový riadok. Vďaka tomu je veľmi jednoduché prezerať obsah webovej stránky. Tu je napríklad postup, ako rýchlo získať aktuálnu externú adresu IP:

$ curl ifconfig.me 93.96.141.93
možnosti -i(zobraziť hlavičky) a -Ja(zobraziť iba hlavičky) make cURL skvelý nástroj na ladenie odpovedí HTTP a analýzu toho, čo presne vám server posiela:

$ curl -I site HTTP / 1.1 200 OK Server: nginx Dátum: štvrtok, 18. august 2011 14:15:36 GMT Content-Type: text / html; charset = utf-8 Spojenie: keep-alive Keep-alive: timeout = 25
Parameter -L Užitočné je aj to, že cURL automaticky sleduje presmerovania. cURL podporuje HTTP autentifikáciu, cookies, HTTP Proxy Tunneling, manuálne nastavenia v titulkoch a oveľa, oveľa viac.

Obliehanie
- nástroj na stresové testovanie. Navyše má šikovnú možnosť -g ktorý je veľmi podobný curl –iL, ale zobrazí aj hlavičky http požiadavky. Tu je príklad z google.com (niektoré hlavičky boli kvôli stručnosti odstránené):

$ siege -g www.google.com GET / HTTP / 1.1 Hostiteľ: www.google.com User-Agent: JoeDog / 1.00 (X11; I; Siege 2.70) Pripojenie: zavrieť HTTP / 1.1 302 Nájdené miesto: http: // www.google.co.uk/ Content-Type: text / html; znaková sada = UTF-8 Server: gws Dĺžka obsahu: 221 Pripojenie: zatvorte GET / HTTP / 1.1 Hostiteľ: www.google.co.uk User-Agent: JoeDog / 1.00 (X11; I; Siege 2.70) Pripojenie: zatvorte HTTP / 1.1 200 OK Content-Type: text / html; znaková sada = ISO-8859-1 X-XSS-Protection: 1; režim = blok Pripojenie: zavr
Na čo je však Siege naozaj skvelý, je záťažové testovanie. Ako benchmark Apache ab, môže na stránku posielať veľa súbežných požiadaviek a vidieť, ako zvláda návštevnosť. Nasledujúci príklad ukazuje, ako testujeme Google s 20 dopytmi po dobu 30 sekúnd, po ktorých vypíše výsledok:

$ siege -c20 www.google.co.uk -b -t30s ... Zrušenie obliehania servera ... hotovo. Transakcie: 1400 prístupov Dostupnosť: 100,00 % Uplynutý čas: 29,22 s Prenesené dáta: 13,32 MB Čas odozvy: 0,41 s Rýchlosť transakcie: 47,91 trans/sek Priepustnosť: 0,46 MB/s Súbežnosť: 4 úspešných transakcií: 100,5 dlhých transakcií. 4,08 Najkratšia transakcia: 0,08
Jednou z najužitočnejších funkcií Siege je, že dokáže pracovať nielen s jednou adresou, ale aj so zoznamom URL zo súboru. To je skvelé pre testovanie záťaže, pretože môžete simulovať reálna premávka na webe, nie len opakovaným narážaním na rovnakú adresu URL. Napríklad tu je návod, ako použiť Siege na načítanie servera pomocou adries z vášho denníka Apache:

$ cut -d "" -f7 /var/log/apache2/access.log> urls.txt $ siege -c -b -f urls.txt
Ngrep
Pre serióznu analýzu návštevnosti je tu Wireshark s tisíckami nastavení, filtrov a konfigurácií. Existuje aj verzia príkazového riadku tshark... Ale pre jednoduché úlohy Funkciu Wireshark považujem za nadbytočnú. Takže pokiaľ nepotrebujem silnú zbraň, používam. To vám umožní robiť s sieťové balíky rovnake ako grep robí so súbormi.

Pre návštevnosť webu budete takmer vždy chcieť použiť parameter -W zachovať formátovanie reťazca, ako aj možnosť -q ktorý skrýva nadbytočné informácie o nevhodných paketoch. Tu je príklad príkazu, ktorý zachytí všetky pakety pomocou príkazu GET alebo POST:

Ngrep -q -W vedľajší riadok "^ (GET | POST). *"
Môžete pridať prídavný filter pre pakety, napríklad na danom hostiteľovi, IP adrese alebo porte. Tu je filter pre všetko, čo prichádza a odchádzajúca prevádzka na google.com, port 80, ktorý obsahuje slovo „hľadať“.

Ngrep -q -W vedľajší riadok „hľadať“ hostiteľ www.google.com a port 80