587
查看分析网络端口被谁占用的源代码
分析网络端口被谁占用
0
←
分析网络端口被谁占用
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
你被禁止执行你刚才请求的操作。
您可以查看并复制此页面的源代码:
原因是CTS测试FAIL: <pre> -- testNoListeningLoopbackTcpPorts fail junit.framework.AssertionFailedError: Found port listening on addr=127.0.0.1, port=5678, UID=0 in /proc/net/tcp </pre> 那现在就要看 5678是被谁占用的: <pre> F:\tmp\a\0423> adb shell cat /proc/net/tcp sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0: 0100007F:13AD 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 5500 1 00000000 100 0 0 10 -1 1: 0100007F:162E 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 9210 1 00000000 100 0 0 10 -1 </pre> 上面的端口是16进制,5678的十六进制是 162E,即第二个,其inode为 9210 开始找这个inode对应的进程: <pre> F:\tmp\a\0423> adb shell ls -l /proc/*/fd/ | grep 9210 lrwx------ root system 2014-01-04 10:59 10 -> socket:[9210] </pre> 找到了,可是还是没显示出来对应的进程 但从上面可以确定这个文件的fd为10,因此可以用穷举来找到这个进程: <pre class="prettyprint"> for /l %%i in (1, 1, 2000) do ( @echo %%i adb shell ls -l /proc/%%i/fd/10 ) </pre> 另存为loop.bat,跑起,后面就可找到对应的进程号,为302: <pre> F:\tmp\android\0423>( adb shell ls -l /proc/302/fd/10 ) 302 lrwx------ root system 2014-01-04 10:59 10 -> socket:[9210] </pre>
返回
分析网络端口被谁占用
。
导航菜单
个人工具
   
个人维基
注册
登录
名字空间
页面
变换
查看
阅读
查看源代码
统计
查看历史
操作
搜索
导航
首页
Ubuntu
Android
C&CPP
Java
Python
大杂烩
最近更改
工具箱
所有页面
文件列表
特殊页面