已解决:见 11 楼
问题: 8080 端口被占用
系统版本:OSX 10.9.3.
问题描述:
8080 端口被占用,但找不到什么应用占用了这个端口,故无法解绑。
重启无法解决。
系统设置中「共享」下的所有服务均处于关闭状态。
curl 测试结果如下:
$ curl -v 127.0.0.1:8080
* About to connect() to 127.0.0.1 port 8080 (#0)
* Trying 127.0.0.1...
* Adding handle: conn: 0x7fbb51004000
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fbb51004000) send_pipe: 1, recv_pipe: 0
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.30.0
> Host: 127.0.0.1:8080
> Accept: */*
>
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
curl: (52) Empty reply from server
nc 的测试结果如下:
$ nc -v -w 2 127.0.0.1 8080
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif lo0
src 127.0.0.1 port 49382
dst 127.0.0.1 port 5001
rank info not available
TCP aux info available
Connection to 127.0.0.1 port 8080 [tcp/http-alt] succeeded!
但 sudo lsof -i :8080
的结果为空,找不到是什么进程占用了 8080 端口。
请教该怎么解决这个问题?
找到了
重启后(减少已打开的各种软件和服务的带来干扰)再根据各位提供的命令尝试了一下。
nc -v -w 2 localhost 8080
看到的信息如下:
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif lo0
src ::1 port 49246
dst ::1 port 5001
rank info not available
TCP aux info available
Connection to localhost port 8080 [tcp/http-alt] succeeded!
然后使用 sudo lsof -Pni4 | grep LISTEN
看到信息是:
launchd 1 root 26u IPv4 0x8761c83dbff72f9b 0t0 TCP 127.0.0.1:631 (LISTEN)
vpnagentd 87 root 6u IPv4 0x8761c83dc179bf9b 0t0 TCP 127.0.0.1:29754 (LISTEN)
ciscod 163 root 3u IPv4 0x8761c83dc1644f9b 0t0 TCP 127.0.0.1:1023 (LISTEN)
acwebseca 244 root 27u IPv4 0x8761c83dc16447b3 0t0 TCP 127.0.0.1:5003 (LISTEN)
acwebseca 244 root 29u IPv4 0x8761c83dbff727b3 0t0 TCP 127.0.0.1:5001 (LISTEN)
看到 5001
端口在两处都出现,怀疑是这个的原因。于是用 nettop -nm tcp
来打开监控(里面没找到 8080 端口字样),然后用 nc -v -w 2 localhost 8080
来发送请求,发现在 acwebseca
的列表下会发生变化,于是确定是这个的影响。
用 ps aux | grep acweb
查了一下,属于 cisco 的 anyconnect ,应是有守护进程,结束对应的进程后会自动生成新的,干脆先把其删了。然后重新用 nc 测了一下,这下提示无连接了,别的程序也可以顺利地使用该端口了。至于那个程序,后面要用再装上,至少知道这个端口被谁占了……
对工具的不熟悉和命令结果不直接出现 8080 (这是为什么呢?)导致花了很多的时间,so sad。