Android

Paano suriin (scan) para sa mga bukas na port sa linux

Сканирование портов сети - NMAP Linux Kali - Network port scanning

Сканирование портов сети - NMAP Linux Kali - Network port scanning

Talaan ng mga Nilalaman:

Anonim

Kung nag-aayos ka ng mga isyu sa pagkonekta sa network o pag-configure ng isang firewall ang isa sa mga unang bagay upang suriin ay kung ano ang mga port ay aktwal na binuksan sa iyong system.

Inilalarawan ng artikulong ito ang ilang mga diskarte upang malaman kung anong mga port ang nakabukas sa labas sa iyong Linux system.

Ano ang Open Port

Ang isang daungan ng pakikinig ay isang network port na nakikinig sa isang application. Maaari kang makakuha ng isang listahan ng mga daungan ng pakikinig sa iyong system sa pamamagitan ng pag-query sa stack ng network na may mga utos tulad ng ss , netstat o lsof . Ang bawat daungan ng pakikinig ay maaaring buksan o sarado (mai-filter) gamit ang isang firewall.

Sa pangkalahatang mga term, ang isang bukas na port ay isang network port na tumatanggap ng mga papasok na packet mula sa mga malalayong lokasyon.

Halimbawa, kung nagpapatakbo ka ng isang web server na nakikinig sa mga port 80 at 443 at ang mga port ay bukas sa iyong firewall kahit sino (maliban sa mga naka-block na mga ip) ay mai-access ang mga web site na naka-host sa iyong web server gamit ang kanyang browser. Sa kasong ito, pareho ang 80 at 443 ay bukas na mga port.

Ang mga bukas na port ay maaaring maglagay ng panganib sa seguridad dahil ang bawat bukas na port ay maaaring magamit ng mga umaatake upang samantalahin ang isang kahinaan o magsagawa ng anumang iba pang uri ng pag-atake. Dapat mong ilantad lamang ang mga port na kinakailangan para sa pag-andar ng iyong aplikasyon at isara ang lahat ng iba pang mga port.

Suriin ang Buksan ang Mga Ports na may nmap

Ang Nmap ay isang makapangyarihang tool sa pag-scan ng network na maaaring mag-scan ng solong host at malalaking network. Ito ay pangunahing ginagamit para sa mga pag-audit ng seguridad at pagsubok sa pagtagos.

Kung magagamit, ang nmap ay dapat ang iyong unang tool pagdating sa pag-scan ng port. Bukod sa port ng pag-scan ng port ay maaari ring makita ang address ng Mac, uri ng OS, mga bersyon ng kernel, at marami pa.

Ang sumusunod na utos na inilabas mula sa console ay tumutukoy kung aling mga port ang nakikinig para sa mga koneksyon ng TCP mula sa network:

sudo nmap -sT -p- 10.10.8.8

Sinasabi ng -sT nmap mag-scan para sa mga port ng TCP at -p- upang i-scan para sa lahat ng 65535 port. Kung -p- ay hindi ginagamit nmap ay i-scan lamang ang 1000 port.

Starting Nmap 7.60 (https://nmap.org) at 2019-07-09 23:10 CEST Nmap scan report for 10.10.8.8 Host is up (0.0012s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds

Ang output sa itaas ay nagpapakita na ang mga port 22 , 80 at 8069 ang nakabukas sa target na system.

Upang mag-scan para sa mga UDP port na ginagamit -sU halip na -sT :

sudo nmap -sU -p- 10.10.8.8

Para sa karagdagang impormasyon bisitahin ang pahina ng tao ng nmap at basahin ang tungkol sa lahat ng iba pang malakas na pagpipilian ng tool na ito.

Suriin ang Buksan ang Mga Ports na may netcat

Ang Netcat (o nc ) ay isang tool na command-line na maaaring basahin at isulat ang data sa mga koneksyon sa network, gamit ang TCP o UDP protocol.

Sa netcat maaari mong mai-scan ang isang solong port o isang port range.

Halimbawa upang i-scan para sa bukas na mga port ng TCP sa isang malayong makina na may IP address 10.10.8.8 sa saklaw 20-80 gagamitin mo ang sumusunod na utos:

nc -z -v 10.10.8.8 20-80

Ang pagpipilian na -z nagsasabi sa nc mag-scan lamang para sa mga bukas na port, nang walang pagpapadala ng anumang data at ang -v ay para sa higit pang impormasyon ng pandiwa.

Ang output ay magiging hitsura ng isang bagay tulad nito:

nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded!… Connection to 10.10.8.8 80 port succeeded!

nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded

Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!

Upang i-scan para sa mga UDP port ay ipasa ang -u pagpipilian sa nc utos:

nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded

Suriin ang Buksan ang Mga Port gamit ang Bash Pseudo Device

Ang isa pang paraan upang suriin kung ang isang tiyak na port ay bukas o sarado ay sa pamamagitan ng paggamit ng Bash shell /dev/tcp/.. o /dev/udp/.. pseudo aparato.

Kapag nagsasagawa ng isang utos sa isang /dev/$PROTOCOL/$HOST/$IP pseudo-aparato, magbubukas ang Bash ng isang koneksyon sa TCP o UDP sa tinukoy na host sa tinukoy na port.

Ang sumusunod na kung.. ang pahayag ay susuriin kung ang port 443 sa kernel.org ay bukas:

if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi

Port is open

Paano gumagana ang code sa itaas?

Ang default na timeout kapag kumokonekta sa isang port gamit ang isang pseudo aparato ay napakalaking kaya ginagamit namin ang timeout utos upang patayin ang pagsubok na pagsubok pagkatapos ng 5 segundo. Kung ang koneksyon ay itinatag sa kernel.org port 443 ang pagsubok na utos ay magiging totoo.

Maaari mo ring gamitin ang para sa loop upang suriin para sa isang saklaw ng port:

for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done

Ang output ay magiging hitsura ng isang bagay tulad nito:

port 22 is open port 80 is open

Konklusyon

Ipinakita namin sa iyo ang ilang mga tool na maaari mong magamit upang i-scan para sa mga bukas na port. Mayroon ding iba pang mga kagamitan at pamamaraan upang suriin para sa bukas na mga port, halimbawa, maaari mong gamitin ang module ng socket Python, curl , telnet o wget .

terminal