Câu trả lời:
Cú pháp đúng là:
lsof -a -i4 -i6 -itcp
Điều này chọn các socket TCP là IPv4 hoặc IPv6.
Hãy nhìn vào hai đầu ra. Dưới đây là các mẫu từ hệ thống của tôi
lsof -n -itcp | head -4
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 1509 root 8u IPv4 9013 0t0 TCP *:sunrpc (LISTEN)
rpcbind 1509 root 11u IPv6 9016 0t0 TCP *:sunrpc (LISTEN)
rpc.statd 1537 statd 8u IPv4 10059 0t0 TCP *:36035 (LISTEN)
lsof -n | grep TCP | head -4
rpcbind 1509 root 8u IPv4 9013 0t0 TCP *:sunrpc (LISTEN)
rpcbind 1509 root 11u IPv6 9016 0t0 TCP *:sunrpc (LISTEN)
rpc.statd 1537 statd 8u IPv4 10059 0t0 TCP *:36035 (LISTEN)
rpc.statd 1537 statd 10u IPv6 10063 0t0 TCP *:45203 (LISTEN)
Một sự nhìn chăm chú nhanh chóng cho thấy sự khác biệt rõ ràng duy nhất cho đến nay là khoảng trắng. Điều này có thể được so sánh đủ dễ dàng để tìm thấy sự khác biệt thực sự:
lsof -n -itcp | sort >1
lsof -n | grep TCP | sort >2
diff -wu 1 2 | grep '^[+-]'
--- 1 2015-10-13 20:43:12.588658249 +0100
+++ 2 2015-10-13 20:43:18.272678740 +0100
-COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
+dconf 3618 3634 roaima 11u IPv6 12705 0t0 TCP [::1]:45177->[::1]:6010 (ESTABLISHED)
+gdbus 3632 3633 roaima 5u IPv6 14008 0t0 TCP [::1]:45179->[::1]:6010 (ESTABLISHED)
+virt-mana 3618 3636 roaima 11u IPv6 12705 0t0 TCP [::1]:45177->[::1]:6010 (ESTABLISHED)
+virt-mana 3618 3645 roaima 11u IPv6 12705 0t0 TCP [::1]:45177->[::1]:6010 (ESTABLISHED)
Dựa trên đầu ra này, tôi đề nghị rằng sự khác biệt trong trường hợp của tôi là lưu lượng IPv6. Bạn có thể muốn xem lại tình huống của mình nhưng tôi nghi ngờ nó cũng như vậy.
-a
nó vào VÀ chúng