วิธีการเรียก lsof อย่างถูกต้องเพื่อดึงการเชื่อมต่อ TCP ทั้งหมด?


14
# lsof -n -itcp | wc
     92     919   10212

# lsof -n | grep TCP | wc
   2482   27222  373861

สิ่งที่ฉันทำผิดพลาดกับlsof -itcp? การโทรดังกล่าวกำลังข้ามส่วนหนึ่งของการเชื่อมต่อดูเหมือนว่านี่เป็นการเชื่อมต่อของเธรด

คำตอบ:


16

ไวยากรณ์ที่ถูกต้องคือ:

lsof -a -i4 -i6 -itcp

ค่านี้เลือกซ็อกเก็ต TCP ที่เป็น IPv4 หรือ IPv6


1
คุณควรเพิ่ม-aสิ่งนี้ลงในและพวกเขา
คริสเตียน

ขอบคุณคริสเตียนโซลูชันดั้งเดิมของฉันรวมถึงกิจกรรม UDP ด้วย Updated
CodeWriter23

1

ลองดูที่เอาต์พุตทั้งสอง นี่คือตัวอย่างจากระบบของฉัน

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)

การตรวจอย่างรวดเร็วแสดงให้เห็นว่ามีความแตกต่างที่ชัดเจนเพียงอย่างเดียวคือช่องว่าง สามารถเปรียบเทียบได้ง่ายพอที่จะค้นหาความแตกต่างที่แท้จริง:

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)

จากผลลัพธ์นี้ฉันขอแนะนำว่าความแตกต่างในกรณีของฉันคือปริมาณการใช้งาน IPv6 คุณอาจต้องการตรวจสอบสถานการณ์ของคุณเอง แต่ฉันคิดว่ามันเหมือนกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.