Busybox, netstat, no -p


10

ฉันอายุมากเป็นพิเศษ (อย่าถามว่าทำไม) BusyBox (BusyBox v1.01 (2008.12.19-21: 31 + 0000) เชลล์ในตัว (เถ้า))บน DreamBox ของฉัน ฉันต้องการทราบว่ากระบวนการใดที่เปิดการเชื่อมต่อโดยใช้ netstat แต่ฉันพบว่า netstat ของ BusyBox นั้นไม่มีตัวเลือก-p ฉันต้องมีสมบัติอื่นใดอีกบ้างที่ต้องทราบว่ากระบวนการใดเปิดซ็อกเก็ตที่เกี่ยวข้อง (และใช้งานอยู่)


เป็นส่วนหนึ่งของ busybox รุ่นนั้นหรือไม่?
Zoredache

แต่น่าเสียดายที่ไม่ได้.
a1337q

คำตอบ:


15

คุณสามารถค้นหาข้อมูลเทียบเท่าในรูปแบบสวยงามเท่าเล็กน้อย (aka เลขฐานสิบหก) /proc/net/tcpใน มีคุณสามารถหา inode /proc/$pid/fd/ของการเชื่อมต่อซึ่งคุณสามารถมองขึ้นภายใต้

ตัวอย่างเช่น:

$ cat /proc/net/tcp
sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
 0: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6115 1 f5adc4c0 300 0 0 2 -1
...

(ใน netstat ปกติ แต่ไม่ได้อยู่ใน busybox netstat -eตัวเลือกจะให้ข้อมูลเพิ่มเติมแก่คุณ)

และ

$ sudo ls -l /proc/2560/fd
...
lrwx------ 1 root root 64  7 jan 22.50 3 -> socket:[6115]

คุณต้องเข้าใช้งานรูทในขั้นตอนที่สอง

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


เสียงเย็น แต่ netstat ฉันไม่ทำงานตามที่ควรมันออกอะไรเพิ่มเติมกับอีตัวเลือก ฉันมี 6 คอลัมน์ด้วย-e : Proto, Recv-Q, Send-Q, ที่อยู่ในพื้นที่, ที่อยู่ต่างประเทศ, รัฐ มีวิธีกับพอร์ตหรือไม่ ฉันเห็นพอร์ต ..
a1337q

คุณพูดถูกฉันต้องทำให้การทดสอบของฉันยุ่ง ฉันแก้ไขมันเพื่อให้ทางออกแก่คุณ
Peter Eisentraut

2
คุณจะค้นหาหมายเลข "2560" ที่คุณพิมพ์ในคำสั่งที่สองได้อย่างไร นั่นคือคำถาม
ygoe

1
@ygoe คุณต้องใช้6115และใช้มันเช่นนี้find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
แซม

3

สิ่งนี้อาจไม่ช่วยถ้าคุณไม่มีโอกาสสร้าง Busybox ขึ้นใหม่ แต่ในกรณีนี้จะช่วยใคร ...

Busybox จะมีตัวเลือกการกำหนดค่าเพื่อสนับสนุน-pสวิทช์ของBusybox netstatเห็นตัวเลือกCONFIG_FEATURE_NETSTAT_PRGที่เลือกใน busybox menuconfig ผ่านทางเครือข่ายสาธารณูปโภค→ netstat →เปิดใช้ PID / โครงการชื่อเอาท์พุท


0

หากคุณมีหรือสามารถssขึ้นบนอุปกรณ์ของคุณมันสามารถแสดง PID ให้คุณได้เช่นกัน:

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