<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=%E5%88%86%E6%9E%90%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3%E8%A2%AB%E8%B0%81%E5%8D%A0%E7%94%A8</id>
	<title>分析网络端口被谁占用 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=%E5%88%86%E6%9E%90%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3%E8%A2%AB%E8%B0%81%E5%8D%A0%E7%94%A8"/>
	<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=%E5%88%86%E6%9E%90%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3%E8%A2%AB%E8%B0%81%E5%8D%A0%E7%94%A8&amp;action=history"/>
	<updated>2026-09-01T06:22:38Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=%E5%88%86%E6%9E%90%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3%E8%A2%AB%E8%B0%81%E5%8D%A0%E7%94%A8&amp;diff=885&amp;oldid=prev</id>
		<title>2015年5月6日 (三) 12:30 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=%E5%88%86%E6%9E%90%E7%BD%91%E7%BB%9C%E7%AB%AF%E5%8F%A3%E8%A2%AB%E8%B0%81%E5%8D%A0%E7%94%A8&amp;diff=885&amp;oldid=prev"/>
		<updated>2015-05-06T12:30:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;原因是CTS测试FAIL：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- testNoListeningLoopbackTcpPorts	&lt;br /&gt;
fail&lt;br /&gt;
	&lt;br /&gt;
junit.framework.AssertionFailedError: Found port listening on addr=127.0.0.1, port=5678, UID=0 in /proc/net/tcp &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
那现在就要看 5678是被谁占用的：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
F:\tmp\a\0423&amp;gt; adb shell cat /proc/net/tcp&lt;br /&gt;
  sl  local_address rem_address   st tx_queue rx_queue tr tm-&amp;gt;when retrnsmt   uid  timeout inode&lt;br /&gt;
&lt;br /&gt;
   0: 0100007F:13AD 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 5500 1 00000000 100 0 0 10 -1&lt;br /&gt;
&lt;br /&gt;
   1: 0100007F:162E 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 9210 1 00000000 100 0 0 10 -1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
上面的端口是16进制，5678的十六进制是 162E，即第二个，其inode为 9210&lt;br /&gt;
&lt;br /&gt;
开始找这个inode对应的进程：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
F:\tmp\a\0423&amp;gt; adb shell ls -l /proc/*/fd/ | grep 9210&lt;br /&gt;
lrwx------ root     system            2014-01-04 10:59 10 -&amp;gt; socket:[9210]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
找到了，可是还是没显示出来对应的进程&lt;br /&gt;
&lt;br /&gt;
但从上面可以确定这个文件的fd为10，因此可以用穷举来找到这个进程：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;prettyprint&amp;quot;&amp;gt;&lt;br /&gt;
for /l %%i in (1, 1, 2000) do (&lt;br /&gt;
    @echo %%i&lt;br /&gt;
    adb shell ls -l /proc/%%i/fd/10&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
另存为loop.bat，跑起，后面就可找到对应的进程号，为302：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
F:\tmp\android\0423&amp;gt;(&lt;br /&gt;
&lt;br /&gt;
 adb shell ls -l /proc/302/fd/10&lt;br /&gt;
)&lt;br /&gt;
302&lt;br /&gt;
lrwx------ root     system            2014-01-04 10:59 10 -&amp;gt; socket:[9210]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
</feed>