web-dev-qa-db-fra.com

Est-il possible d'effectuer une analyse de port de l'hôte local lui-même en tant qu'autre hôte?

En d'autres termes, je veux voir à quoi le serveur ressemble à l'extérieur lorsque je n'ai pas accès à un autre ordinateur pour le scanner. Laissez-moi vous donner un exemple:

Cas 1: Lorsque je suis SSH connecté à mon VPS, qui est Ubuntu Server, le résultat de l'analyse du port ressemble à ceci:

[email protected]:~$ nmap -p 1-20000 77.77.77.70

Nmap scan report for 77.77.77.70

PORT      STATE SERVICE
25/tcp    open  smtp
80/tcp    open  http
111/tcp   open  rpcbind
443/tcp   open  https
8142/tcp  open  unknown
11273/tcp open  unknown
18142/tcp open  unknown
18143/tcp open  unknown
18144/tcp open  unknown
18145/tcp open  unknown
18146/tcp open  unknown
18147/tcp open  unknown

Nmap done: 1 IP address (1 Host up) scanned in 0.36 seconds

Cas 2: Lorsque j'exécute la même commande à partir de ma machine Ubuntu Desktop, le résultat est filtré par le pare-feu du SMV et se présente comme suit:

user@Desktop:~$ Sudo nmap -p 1-20000 77.77.77.70

Nmap scan report for 77.77.77.70

PORT      STATE SERVICE
80/tcp    open  http
443/tcp   open  https
11273/tcp open  unknown

Nmap done: 1 IP address (1 Host up) scanned in 4298.23 seconds

Ma question est donc la suivante: Y a-t-il un moyen d'obtenir un résultat comme dans le "Cas 2" à partir du VPS lui-même? L'utilisation de nmap n'est pas obligatoire.

1
pa4080

La réponse courte est: non, vous ne pouvez pas voir l'apparence de votre serveur de l'extérieur en regardant de l'intérieur.

Réponse longue: Comme vous l'avez écrit vous-même, l'analyse de l'extérieur est affectée par le pare-feu et éventuellement par d'autres composants réseau. En théorie, vous pouvez simuler cette influence à l'aide d'un réseau virtuel que vous avez configuré sur votre VPS. Mais cela demande beaucoup de travail et vous devez savoir exactement quels sont ces composants et comment ils sont configurés. La seule approche possible consiste à rechercher un hôte externe à partir duquel vous pouvez effectuer l'analyse.

3
Tilman

Si vous n'avez pas de pare-feu, vous pouvez exécuter netstat -ln --inet --inet6 pour répertorier les sockets en écoute. Cela montrera ce qui écoute quelles interfaces.

Échantillon rapide:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address       State      

tcp        0      0 0.0.0.0:5298            0.0.0.0:*            LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*            LISTEN      
tcp        0      0 127.0.0.1:631           0.0.0.0:*            LISTEN      
tcp        0      0 127.0.0.1:1080          0.0.0.0:*            LISTEN     

Nous voyons ici deux types:

  1. Sockets écoutant 0.0.0.0 (ou :: si vous avez IPv6)
  2. Sockets écoutant 127.0.0.1 (ou :: 1 sur IPv6)

Le premier type, à l'écoute de 0.0.0.0 ou :: (toute adresse IP) sera disponible à distance, sauf si un pare-feu est utilisé. Les sockets qui n'écoutent que sur localhost (127.0.0.1 ou :: 1) sont uniquement accessibles via l'interface de bouclage, et donc pas à distance.

De plus, vous pouvez avoir des sockets liés à une interface spécifique, auquel cas l'adresse IP de l'interface sera indiquée dans la colonne 3, par ex. 192.168.8.1 - ce qui signifie qu'ils ne sont accessibles que sur cette interface.

Ce n'est pas la même chose qu'une analyse de port, car elle ne prend pas en compte le pare-feu. Combinée à la lecture de la configuration du pare-feu, elle peut constituer un bon moyen de procéder à la configuration.

1
vidarlo