Wie kann ich wissen, welche Ports auf meinem Android-Gerät und wie man sie in der Nähe geöffnet sind ?

? QnA_J @ | Original: StackOverFlow
---

ist es eine einfache Möglichkeit, um zu sehen, welche Ports auf meinem Android-Gerät und ein Weg, um die offenen Ports zu schließen geöffnet sind ?

---

Top 5 Antwort

1ik024 @

Sie können einen bestimmten Port nicht anpingen. Ein "Ping" ist ein ICMP-Echo- Anfrage. ICMP ist ein Internet- Layer-Protokoll und als solche hat kein Konzept für einen "Port" .

Sie könnten einen Sockel verwenden, um zu versuchen, eine TCP-Verbindung mit dem Anschluss zu schaffen. Wird die Verbindung hergestellt, wird dann etwas für TCP-Verbindungen hören . Wenn es nicht zu verbinden, dann war es nicht erreichbar in irgendeiner Weise.

Sie könnten ein Datagram um zu versuchen, ein Paket an den Port zu senden . Wenn es erfolgreich ist, wird dann wahrscheinlich etwas Empfangen von Daten . Schlägt dies fehl, dann ging etwas definitiv falsch (übrigens eine ICMP- Fehlermeldung wird zurückgegeben, wenn ein UDP-Paket empfangen wird, wird an einen Port, der nicht für UDP öffnen angesprochen, oder wenn etwas das Paket auf dem Weg aktiv verweigert ) .

Sie müssten sowohl der oben auf TCP und UDP überprüfen zu nutzen.

Beachten Sie, dass InetAddress verwendet ein ICMP- Ping- Anfrage als standardmäßig, aber wenn es nicht über die Berechtigung, das zu tun, wird es wieder ein Versuch, eine TCP-Verbindung aufzubauen, anstatt zu fallen. Jedoch in dem Fall, dass es hat die Erlaubnis, ICMP-Pakete zu erzeugen, gibt es keinen Weg, um es zu zwingen, um eine TCP-Verbindung, anstatt zu versuchen. Also, wenn Sie diese Methode verwenden möchten, verwenden Sie einfach einen Sockel .

Courtesy http://stackoverflow.com/users/616460/jason-c

2Chris Stratton @

Sie können die aktuell geöffnete Ports durch das Lesen der Text / proc Pseudo- Dateien wie bestimmen

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

Dies ist im Grunde, was ein Befehl netstat ( wenn implementiert) hat - möchten Sie vielleicht zu finden und zu untersuchen, die Ursache eines einfachen netstat Umsetzung ( sollte es möglich sein, den Port java )

Jedoch bei der Ausführung als unprivilegierten Benutzer-ID App, werden Sie nur in der Lage, Steckdosen eigene Verfahren gehören zu schließen (oder Umwegen mit ptrace oder Prozess Tötung, andere Prozesse, Ihre Benutzer-ID gehört) . Beachten Sie auch, dass die Schließung einer Steckdose nicht unbedingt machen, dass Anschluss zur sofortigen Wiederverwendung.

3Prakash @

Sie können verschiedene Netzwerkbefehle durch Laufzeit versuchen und überprüfen Sie die Ergebnisse

// netstat -lptu 
// netstat -vat 


Process su = Runtime.getRuntime().exec("netstat -vat ");
4aboujanane @ Create a wifi hotspot on your phone Connect your computer to the hotspot use ipconfig or ifconfig to know the gateway IP adresse ( ie: your phone's IP adress ) Download nmap : http://nmap.org/ Use the nmap command : nmap -sS -Pn -p- your_phone_ip_adress

die offenen TCP-Ports werden wie folgt angezeigt:

65.531 geschlossenen Ports PORT STATE SERVICE 53 / tcp open domain 8187 / tcp open unbekannt 38647 / tcp open unbekannt 42761 / tcp open unbekannte MAC-Adresse: A4: 9A : 58 ::: ** ( Samsung Electronics Co. )

PS : For UDP ports use: nmap -sU -Pn -p- your_phone_ip_adress