원격 시스템 용 포트가 열려 있는지 확인하는 방법 (우분투) [닫기]


53

우분투 서버의 원격 시스템에 포트가 열려 있는지 확인할 수 있습니까?

내 컴퓨터의 포트 (예 : ssh)가 원격 컴퓨터에 열려 있는지 확인할 수 있습니다.

답변:


72

오래된 텔넷을 사용하십시오 :

[user@lappie ~]$ telnet host 22
Trying ip.adr.tld ...
Connected to host  (ip.addr.tld).
Escape character is '^]'.
SSH-2.0-OpenSSH_5.1p1 Debian-5

이것은 성공적인 시도입니다. 실패한 것은 다음과 같아야합니다.

[user@lappie ~]$ telnet host 23
Trying ip.adr.tld ...
telnet: connect to address ip.adr.tld: Connection refused
telnet: Unable to connect to remote host: Connection refused

또는 nmap으로

[user@lappie ~]$ nmap host

Starting Nmap 5.21 ( http://nmap.org ) at 2010-10-07 11:25 CEST
Nmap scan report for host (ip.adr.tld)
Host is up (0.0052s latency).
rDNS record for ip.adr.tld : host.domain.tld
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3000/tcp open  ppp
5666/tcp open  nrpe

Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds

큰 도움!. 지정된 호스트에서 서비스가 실행되는 포트 번호 만 나열한다고 느꼈습니다. 서비스를 중지하고 nmap 명령을 다시 실행하는지 확인했습니다. 그래서 내가 멈춘 포트를 나열하지 않았습니다. 원격 시스템의 열린 포트가 실제로 표시됩니까?
user53864

1
@ user53864 :이 테스트는 원격 컴퓨터에서 실행해야합니다.
natxo asenjo

2
이것은 TCP 서비스에서만 작동합니다.

nmapAWS 시스템에서 사용 하면 악용 사례 보고서가 트리거됩니다.
Newbee

10

NMAP을 사용하십시오. 예:

nmap example.com

도메인 이름 대신 IP 주소를 사용할 수 있습니다. 전체 문서는 다음과 같습니다. http://nmap.org/book/man.html


1
지정된 시스템에서 서비스가 실행되는 포트만 나열합니다.
user53864

그런 다음 잘못 사용하고 있습니다.
Christoffer Hammarström

@ user53864, 맞습니다. 보다 구체적으로, 모든 OPEN 포트를 나열하고 포트를 사용하는 서비스를 설명합니다. 특정 포트를 찾고 있다면 natxo asenjo가 말한 것처럼 "nmap example.com 22"를 사용해보십시오. 포트 22 (SSH)가 열려 있는지 확인합니다.
Joshua

9

이것은 다음과 같이 간단합니다.

nc -zw3 domain.tld 22 && echo "opened" || echo "closed"

-w3 타임 아웃


1
nc -vzw3 domain.tld 22는 더 짧고 약간 더 유익 할 수 있습니다.
g2mk

5

스크립트의 경우 다음과 같은 것을 사용합니다.

nmap example.com -p 22 -sV --version-all -oG - | grep -iq '22/open'

리턴 값은 포트가 열려 있는지 알려줍니다!


5

StackOverflow 답변에서 :

Windows, Linux 및 Mac OS X에서 모두 사용할 수있는 nmap 또는 netcat과 같은 포트 스캐너를 찾고있는 것 같습니다.

예를 들어, 알려진 IP에서 텔넷을 확인하십시오.

  nmap -A 192.168.0.5/32 -p 23

예를 들어 host.example.com에서 20에서 30 사이의 열린 포트를 찾으십시오.

  nc -z host.example.com 20-30


2

텔넷은 TCP 서비스에서만 작동하므로 DHCP 서버 (UDP / 68)가 원격 시스템에서 실행되고 있는지 확인하려고하면 작동하지 않습니다. 마찬가지로 nmap의 기본값은 스캔 TCP 포트만입니다.

UDP 포트의 경우 다음을 사용하십시오.

nmap -sU example.com -p 68


1

나는 다음 명령을 사용했다. 내가 원하는 것을 출력했다. nmap -A IPAddressOfRemoteSystem -p portNumber 예 : nmap -A 192.168.1.87 -p 8080 (또는) 로컬 포트도 확인할 수 있습니다

그 전에 먼저 다음 명령을 사용하여 포트가 열린 / 청취 모드인지 확인하십시오.

netstat -ntlp | grep LISTEN

그 후

nmap -A localhost -p portNumber

예를 들어 mysql이 3306에서 실행중인 경우 하나의 포트를 닫으십시오.

sudo service mysql stop

그리고,

nmap -A localhost -p 3306

이것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.