Paano Ilista ang Mga Buksan na Port sa Linux?

How List Open Ports Linux



Sa networking, ang isang port ay isang nakawiwiling tampok. Ito ay isang paraan para makilala ang trapiko sa network ang patutunguhang app o serbisyo. Ang bawat proseso / serbisyo ay nakakakuha ng natatanging port. Ang isang port ay palaging maiugnay sa IP address ng host kasama ang protokol.

Ito ay isang paboritong talinghaga sa akin upang ilarawan kung ano ang isang port. Mag-isip ng isang barkong puno ng karga, na maglalakbay sa isang malayong lupain. Anong impormasyon ang kinakailangan upang maabot nang maayos ang patutunguhan? Alang-alang sa pagiging simple, sabihin nating kailangan nito ang bansa (ang IP address) at ang daungan ang barko ay dock.







Sa gabay na ito, suriin kung paano ilista ang mga bukas na port sa Linux.



Mga Port sa Linux

Ang mga port ay kumikilos bilang isang endpoint ng komunikasyon. Ito ay isang 16-bit na numero (0 hanggang 65535 sa decimal). Habang ang saklaw ay malaki, para sa madaling paggamit, ang mga port ay ikinategorya sa tatlong kategorya. Ang bawat kategorya ay may label na bilang saklaw ng halaga ng port:



  • 0 hanggang 1023: Ito ang mga kilalang port, kilala rin bilang mga System port, na nakalaan para sa mga proseso ng system na nag-aalok ng iba't ibang mga serbisyo sa network. Upang maiugnay sa isang kilalang port, ang isang proseso ay dapat magkaroon ng pribilehiyo ng superuser.
  • 1024 hanggang 49151: Ito ang Mga nakarehistrong port, na kilala rin bilang mga port ng User, na itinalaga ng IANA para sa mga tiyak na serbisyo. Kapag hiniling, ang isang proseso ay maaaring may access sa kanila. Sa kaso ng karamihan sa mga system, hindi ito nangangailangan ng anumang pribilehiyo ng superuser na gamitin ang mga port na ito.
  • 49152 hanggang 65535: Ito ang mga Dynamic port, na kilala rin bilang Pribadong port. Ang mga port na ito ay hindi maaaring mairehistro sa IANA. Ang mga port na ito ay bukas upang magamit para sa pribado o na-customize na mga serbisyo at maaari ding awtomatikong inilalaan bilang mga ephemeral port (panandaliang port na ginagamit ng IP).

Sa Linux, maraming paraan ng pag-check sa mga bukas na port. Bilang default, ang anumang port ay mananatiling sarado maliban kung ginagamit ito ng isang app. Kung bukas ang isang port, dapat itong italaga sa isang serbisyo / proseso.





Maglista ng Buksan ang Mga Port

Mas madaling makilala kung aling mga port ang ginagamit kaysa sa kung aling mga port ang bukas. Iyon ang dahilan kung bakit magtatampok ang sumusunod na seksyon ng mga pamamaraan upang ilista ang lahat ng mga port na kasalukuyang ginagamit. Sa Linux, maraming mga tool na magagamit para sa gawain. Karamihan sa kanila ay built-in sa anumang distro ng Linux.

Ang pag-aaral kung aling mga port ang kasalukuyang bukas ay maaaring maging kapaki-pakinabang sa iba't ibang mga sitwasyon. Posibleng i-configure ang isang nakatuong port para sa isang tiyak na application. Ang isang bukas na port ay maaari ding maging isang malakas na indikasyon ng panghihimasok sa network.



Ang mga sumusunod na pamamaraan ay ipinakita sa Ubuntu 20.04.1 LTS.

Maglista ng mga protokol at bukas na port mula sa / etc / na mga serbisyo

Naglalaman ang file ng / etc / services ng impormasyon tungkol sa kasalukuyang tumatakbo na mga serbisyo. Ito ay isang malaking file, kaya handa nang magapi.

$pusa /atbp/mga serbisyo| mas kaunti

Ilista ang mga bukas na port gamit ang netstat

Ang netstat tool ay isang utility para sa pagpapakita ng mga koneksyon sa network para sa TCP, mga mesa sa pagruruta, at iba't ibang mga interface ng network. Nag-aalok din ito ng mga istatistika ng network protocol. Sa pamamagitan ng paggamit ng netstat, maaari nating mailista ang lahat ng mga bukas na port ng system.

Patakbuhin ang sumusunod na utos ng netstat:

$netstat -atu

Magkaroon tayo ng isang mabilis na pagkasira ng lahat ng mga flag na ginamit namin sa utos na ito.

  • sa : Sinasabi sa netstat upang ipakita ang lahat ng mga socket
  • t : Sinasabi sa netstat na ilista ang mga port ng TCP
  • ikaw : Sinasabi sa netstat na ilista ang mga port ng UDP

Narito ang isa pang pagkakaiba-iba ng utos ng netstat:

$netstat -lntu

Mayroong dalawang bagong watawat na ginamit sa utos. Anong ibig nilang sabihin?

  • ang : Sinasabi sa netstat na mai-print lamang ang mga sockets ng pakikinig
  • n : Sinasabi sa netstat upang ipakita ang numero ng port

Upang maipakita ang PID ng proseso na gumagamit ng isang port, gamitin ang -p flag:

$netstat -Napasok

Ilista ang mga bukas na port gamit ang ss

Ang tool na ss ay isang utility para sa pagsisiyasat ng socket. Ang paggamit nito ay katulad sa netstat.

Upang mailista ang mga bukas na port, patakbuhin ang sumusunod na utos ng ss:

$ss-lntu

Ang mga watawat ay katulad ng netstat. Ang mga pagpapaandar na inilalarawan nila ay medyo magkatulad din.

  • ang : Sinasabi sa ss na ipakita ang mga sockets ng pakikinig
  • n : Sinasabi sa ss na huwag subukang lutasin ang mga pangalan ng serbisyo
  • t : Sinasabi sa ss na ipakita ang mga socket ng TCP
  • ikaw : Sinasabi sa ss na ipakita ang mga socket ng UDP

Ilista ang mga bukas na port gamit ang lsof

Ang utos ng lsof ay upang ilista ang mga bukas na file. Gayunpaman, maaari rin itong magamit para sa pagpapakita ng mga bukas na port.

Patakbuhin ang sumusunod na utos ng lsof:

$lsof-ako

Upang makuha ang mga bukas na port ng isang tukoy na protocol (TCP, UDP, atbp.) Pagkatapos ay tukuyin ito pagkatapos ng bandila ng i-flag, gamitin ang:

$lsof-ako <protokol>

Ilista ang mga bukas na port gamit ang nmap

Ang tool na nmap ay isang malakas para sa paggalugad sa network at pag-scan sa seguridad / port. Maaari nitong iulat ang lahat ng mga bukas na port sa system.

Upang mailista ang bukas na mga port ng TCP, patakbuhin ang sumusunod na utos ng nmap. Dito, ang IP address ay ng host computer:

$sudo nmap -sT -p-localhost

Dito, mayroong dalawang bahagi ng argument ng utos.

  • -sT : Sinasabi sa seksyong ito ang nmap upang i-scan ang mga port ng TCP.
  • -p- : Sinasabi nito sa nmap na mag-scan para sa lahat ng mga port ng 65535. Kung hindi ginamit, pagkatapos ay i-scan lamang ng nmap ang 1000 port bilang default.

Kung kailangan mong ilista ang bukas na mga port ng UDP, pagkatapos ay patakbuhin ang sumusunod na utos ng nmap:

$sudo nmap -ito -p-localhost

Upang makuha ang parehong bukas na mga port ng TCP at UDP, gamitin ang sumusunod na utos:

$sudo nmap -n -PN -sT -ito -p-localhost

Ilista ang mga bukas na port gamit ang netcat

Ang netcat tool ay isang utos ng linya ng utos para sa pagbabasa at pagsusulat ng data sa mga koneksyon sa network sa mga TCP at UDP na protokol. Maaari ding magamit ang tool na ito para sa listahan ng mga bukas na port. Maaari itong magsagawa ng mga pagsubok sa isang tukoy na port o isang saklaw ng mga port.

Ang sumusunod na command na netcat ay i-scan ang port mula 1 hanggang 1000. Gagawa ng command ng netcat ang pag-scan sa TCP protocol bilang default:

$nc-Nga -vlocalhost1-1000

Maaari rin itong mapalawak sa buong listahan ng mga posibleng port:

$nc-Nga -vlocalhost1-65535

Magkaroon tayo ng mabilis na pagkasira ng mga watawat.

  • Kasama si : Sinasabi sa netcat na i-scan lamang para sa mga bukas na port nang hindi nagpapadala ng anumang data
  • v : Sinasabi sa netcat na tumakbo sa mode na verbose

Upang makuha lamang ang mga bukas na port mula sa listahang ito, i-filter ang output gamit ang grep para sa term na nagtagumpay.

$nc-Nga -vlocalhost0-65535 2> &1 | mahigpit na pagkakahawaknagtagumpay

Kung nais mong isagawa ang pag-scan sa UDP protocol, pagkatapos ay idagdag ang -u flag.

$nc-Nga -v -ulocalhost0-65535 2> &1 | mahigpit na pagkakahawaknagtagumpay

Pangwakas na Saloobin

Tulad ng ipinakita, maraming tonelada ng mga paraan upang i-scan ang mga bukas na port sa Linux. Iminumungkahi kong subukan ang lahat ng mga pamamaraan bago ka magpasya kung alin ang dapat pangasiwaan. Kung gumagamit ka ng isang tiyak na tool tulad ng netcat o nmap nang regular, kung gayon ang pag-master ng nauugnay na pamamaraan ang magiging pinaka-kapaki-pakinabang.

Maligayang computing!