`nmap -p0-65535 0.0.0.0` 로컬 호스트의 모든 IP 주소를 스캔하시겠습니까?

`nmap -p0-65535 0.0.0.0` 로컬 호스트의 모든 IP 주소를 스캔하시겠습니까?

nmap -p0-65535 0.0.0.0모든 TCP 포트 스캔어느localhost의 IP 주소 수는 192.168.1.97 및 127.0.0.1을 포함한 모든 로컬 IP 주소에서 TCP 포트를 수신하는 서비스를 보고합니까?

$ nmap -p0-65535 0.0.0.0

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:48 EDT
Nmap scan report for 0.0.0.0
Host is up (0.00066s latency).
Not shown: 65529 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
631/tcp   open  ipp
3306/tcp  open  mysql
5432/tcp  open  postgresql
9050/tcp  open  tor-socks
33060/tcp open  mysqlx

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

유니온을 출력하는 것 같습니다.

$ nmap -p0-65535 localhost

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:48 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00033s latency).
Other addresses for localhost (not scanned):
Not shown: 65529 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
631/tcp   open  ipp
3306/tcp  open  mysql
5432/tcp  open  postgresql
9050/tcp  open  tor-socks
33060/tcp open  mysqlx

그리고

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

$ nmap -p0-65535 192.168.1.97

Starting Nmap 7.60 ( https://nmap.org ) at 2019-03-24 17:49 EDT
Nmap scan report for ocean.fios-router.home (192.168.1.97)
Host is up (0.00036s latency).
Not shown: 65532 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
3306/tcp  open  mysql
33060/tcp open  mysqlx

감사해요.

답변1

습관. 여러 IP 주소를 스캔 하면 nmap별도의 포트 목록이 표시됩니다. 다른 IP 주소의 결과는 병합되지 않습니다. 비교 결과 nmap 127.0.0.1-2(또는) nmap 127.0.0.1 127.0.0.2.

nmap 0.0.0.0nmap 127.0.0.1 최소한 사용 중인 소프트웨어에 대해서는 동일합니다 .


nmap사용자 로 실행 하면 root기본적으로 다른 검색 방법이 사용됩니다. 예를 들어 이것이 "포트 0"을 스캔할 수 있게 해주는 것입니다. 그러나 루트로 실행되지 않는 경우 "Nmap은 기본 운영 체제가 연결 시스템 호출을 실행하여 대상 컴퓨터 및 포트에 대한 연결을 설정하도록 요구합니다."

요점은 제가 그 차이점을 잊어버렸다는 것입니다 :-) 그래서 어떤 OS를 사용하고 계시는지 추적하러 갔는데, 바로 Linux입니다. 나는 이것을 이전에 본 적이 있습니다. 하하, 이 동작은 공식 Linux 문서의 일부가 아닙니다. 일반적으로 127.0.0.1문서화되어 있으며 모든 IPv4 구현에서 표준이 되는 를 사용하는 것을 선호해야 합니다 .

당신은 추적할 수 있습니다tcp_v4_connection에 이르기까지특정 조건:

if (!fl4->daddr) {
    fl4->daddr = fl4->saddr;
    if (!fl4->daddr)
        fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
    dev_out = net->loopback_dev;
    fl4->flowi4_oif = LOOPBACK_IFINDEX;
    res->type = RTN_LOCAL;
    flags |= RTCF_LOCAL;
    goto make_route;
}

이는 Linux nmap -sT 0.0.0.0에서 nmap -sT 127.0.0.1.

또한 nmap -sT 0.0.0.0 -S 192.168.1.97동등합니다 nmap -sT 192.168.1.97:-). (IP 주소가 192.168.1.97이라고 가정). 여기까지 읽으셨다면 직접 시도해 보시는 것도 좋을 것 같습니다 :-).

마찬가지로 루트로 실행하는 경우 기본 검색 유형은 다음과 같습니다.아니요운영 체제 호출 connect()를 사용하여 각 TCP 포트에 연결합니다. 대신 nmap은 "원시 TCP 패킷을 보내고 받습니다". 따라서 패킷을 생성하고 스스로 결정을 내리려면 전적으로 nmap 코드에 의존해야 합니다. nmap은 운영 체제와 동일한 패킷을 생성하지 않을 수 있습니다. 따라서 sudo nmap 0.0.0.0 -S 192.168.1.97와 동일한 결과를 얻지 못할 수도 있습니다 sudo nmap 192.168.1.97. 그러나 아마도. 모르겠어요. 시도해본 적이 없어요.

관련 정보