web-dev-qa-db-fra.com

Comment savoir quels ports sont ouverts sur mon appareil Android et comment les fermer?

Existe-t-il un moyen simple de savoir quels ports sont ouverts sur mon appareil Android et de fermer les ports ouverts? 

11
QnA_J
  1. Créez un point d'accès wifi sur votre téléphone 
  2. Connectez votre ordinateur au hotspot
  3. utilisez ipconfig ou ifconfig pour connaître l'adresse IP de la passerelle (c'est-à-dire l'adresse IP de votre téléphone)
  4. Télécharger nmap: http://nmap.org/
  5. Utilisez la commande nmap: nmap -sS -Pn -p- your_phone_ip_adress

les ports TCP ouverts seront affichés comme suit: 


65531 ports fermés PORT
SERVICE D'ETAT 
53/tcp domaine ouvert
8187/tcp ouvert inconnu 
38647/tcp ouvert inconnu
42761/tcp ouvert Adresse MAC inconnue: A4: 9A: 58: :: ** (Samsung Electronics Co.)


  • PS: Pour les ports UDP, utilisez: nmap -sU -Pn -p- your_phone_ip_adress
9
aboujanane

Vous pouvez déterminer les ports actuellement ouverts en lisant les pseudo-fichiers textuels/proc tels que

/proc/net/tcp
/proc/net/udp

C’est essentiellement ce que fait une commande netstat (où elle est implémentée) - vous pouvez rechercher et examiner le source d’une implémentation simple de netstat (il devrait être possible de porter ce type de données en Java)

Cependant, lorsque vous exécutez en tant qu'utilisateur id d'application non privilégiée, vous ne pourrez fermer que les sockets appartenant à votre propre processus (ou par des moyens détournés impliquant implicitement ptrace ou la suppression de processus, d'autres processus appartenant à votre id utilisateur). Notez également que la fermeture d'un socket ne rend pas nécessairement ce port disponible pour une réutilisation immédiate.

4
Chris Stratton

Vous pouvez essayer différentes commandes de réseau via l'exécution et vérifier les résultats.

// netstat -lptu 
// netstat -vat 


Process su = Runtime.getRuntime().exec("netstat -vat ");
0
Prakash