За да знам кои портове се използват в системата е основна задача за всеки администратор. От конфигурирането на интерфейси до защитата срещу проникване и преминаването през каквото и да е отстраняване на неизправности, което можем да си представим, трябва да можем да проверим дали даден порт предоставя някаква услуга в нашата среда.
Представете си ситуацията, в която сте инсталирали услугата за печат CUPS във вашата система и не знаете дали услугата е стартирана правилно и е повдигнала съответния си порт 631 или опционалния си 515. В това ръководство ще ви покажем три основни команди за откриване на портовете, използвани от системата и какъв е неговият статус.
След това ще разгледаме 3 основни команди, които са особено полезни при администрирането на всяка система. Е за lsof, netstat и nmap, помощни програми, които ще стартираме от терминалната конзола и с root права.
Команда Lsof
Командата също е най-основният от колко сме ви заели и, тъй като сте родом от Linux, основата, която всеки потребител трябва да знае. За да знаете портовете, отворени в системата чрез тази команда, трябва да въведете последователност като следната, която ще ви покаже различна информация където ще подчертаем: името на приложението (например sshd), гнездо на програмата (в този случай IP адресът 10.86.128.138, свързан с порт 22, който е LISTENING) и идентификаторът на процеса (който би бил 85379).
$ sudo lsof -i -P -n $ sudo lsof -i -P -n | grep LISTEN
Команда Netstat
Командата NETSTAT варира леко в синтаксиса си по отношение на предишния, но представя някои параметри много по-лесно за запомняне благодарение на проста мнемонична дума. Отсега нататък не забравяйте думата путона, който се отнася до следните характеристики:
- p: Показва връзките за посочения протокол, който може да бъде TCP или UDP.
- u: Списък на всички UDP портове.
- t: Списък на всички TCP портове.
- o: Показва таймери.
- n: Показва номера на порта.
- a: Показва всички активни връзки в системата.
По този начин, въвеждане на командата и филтриране с тръба можем да получим информация за определен порт.
$ netstat -putona | grep numero-de-puerto
Команда Nmap
Nmap Това е полезност, която ние позволява да се извършват множество сканирания в нашата система и един от тях, този на отворените портове в оборудването. За да го изпълним, трябва да въведем последователност от типа nmap -sX -OY, като X стойността T или U за TCP или UDP връзка съответно и стойността Y IP адреса на нашата машина (или накратко localhost). Разгледайте следния пример.
</pre> $ sudo nmap -sU -O localhost $ sudo nmap -sT -O 192.168.0.1 <pre>
С тези три приложения вече имате достатъчно инструменти за определяне на отворените портове на вашата машина. Използвате ли същите инструменти или знаете ли някакъв друг начин за проверка на отворените портове на системата?
Не разбирам нищо. Нормално, не съм специалист, но е интересно 🙂
Здравейте добър ден, как мога да видя данните, които пристигат през порт?
Имам устройство, което ми изпраща низове през gprs към порт 10005 на моя ubuntu и имам нужда от терминал, за да видя струните, които идват при мен, можете ли да ме подкрепите? Благодаря ти. slds
С командата netstat -putona забелязвам, че адресът 127.0.0.1 се появява в два протокола tcp и upd, и в двата случая порт 53. Това нормално ли е или правилно? По случайност имам проблеми с работния плот dnsmasq и zimbra, който не се повдига в ubuntu 16.04.
При опит за стартиране на zimbra ми показва: Страница 127.0.0.1 е отхвърлила връзката.
Оценявам вашата помощ при присъединяването към тази общност.
Много добре.
Просто добавете: С ls можете да знаете пътя на процеса, а има и други команди като ss или fuser, с които можем да видим кой процес използва порт.
Видяно тук: https://www.sysadmit.com/2018/06/linux-que-proceso-usa-un-puerto.html
Отлично, добре обобщено и обяснено, не забравям за PUTONA хехе. ;-Д