我怎么知道我的Android设备上打开了哪些端口以及如何关闭它们?

时间:2014-03-08 16:04:02

标签: android ports

有没有简单的方法,看看我的Android设备上打开了哪些端口以及关闭开放端口的方法?

3 个答案:

答案 0 :(得分:9)

  1. 在手机上创建一个wifi热点
  2. 将计算机连接到热点
  3. 使用ipconfig或ifconfig了解网关IP地址(即:手机的IP地址)
  4. 下载nmap:http://nmap.org/
  5. 使用nmap命令:nmap -sS -Pn -p- your_phone_ip_adress
  6. 打开的TCP端口将显示如下:


    65531关闭的港口PORT
    国家服务
    53 / tcp open domain
    8187 / tcp open unknown 38647 / tcp open unknown
    42761 / tcp打开 未知MAC地址:A4:9A:58::**(三星电子公司)


    • PS:对于UDP端口,请使用:nmap -sU -Pn -p- your_phone_ip_adress

答案 1 :(得分:4)

您可以通过读取文本/ proc伪文件(例如

)来确定当前打开的端口
/proc/net/tcp
/proc/net/udp

这基本上就是netstat命令(实现的地方)的作用 - 你可能希望找到并检查一个简单的netstat实现的源代码(应该可以将它移植到java)

但是,当作为无特权的应用程序用户ID运行时,您将只能关闭属于您自己的进程的套接字(或通过涉及ptrace或进程终止的环形交叉口,以及属于您的用户ID的其他进程)。另请注意,关闭套接字并不一定能使该端口立即重用。

答案 2 :(得分:0)

您可以通过运行时尝试不同的网络命令并检查结果

// netstat -lptu 
// netstat -vat 


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