Busybox, netstat, không -p


10

Tôi có một BusyBox siêu cũ (không hỏi tại sao) BusyBox (BusyBox v1.01 (2008.12.19-21: 31 + 0000) Vỏ tích hợp (tro)) trên DreamBox của tôi. Tôi muốn tìm hiểu quá trình nào đã mở kết nối nào bằng netstat. Nhưng tôi phát hiện ra rằng netstat của BusyBox không chứa tùy chọn -p . Tôi có những khả năng nào khác để tìm ra quy trình nào đã mở (và đang sử dụng) ổ cắm tương ứng?


Là một phần của phiên bản busybox đó?
Zoredache

Không may măn.
a1337q

Câu trả lời:


15

Bạn có thể tìm thấy thông tin tương đương ở dạng hơi xấu hơn (còn gọi là thập lục phân) trong /proc/net/tcp. Ở đó, bạn có thể tìm thấy nút của kết nối mà bạn có thể tra cứu bên dưới /proc/$pid/fd/.

Ví dụ:

$ 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
...

(Trong netstat bình thường, nhưng không phải trong netboxat busybox, -etùy chọn cũng cung cấp cho bạn thông tin bổ sung đó.)

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

Bạn cần quyền truy cập root cho bước thứ hai.

Không thuận tiện như -ptùy chọn, rõ ràng, nhưng hoạt động trong một ràng buộc. Có thể được viết kịch bản, nếu cần thiết.


Nghe có vẻ hay, nhưng netstat của tôi không hoạt động như bình thường, nó không tạo ra gì thêm với tùy chọn -e . Tôi cũng có 6 cột với -e : Proto, Recv-Q, Send-Q, Địa chỉ địa phương, Địa chỉ nước ngoài, Bang. Có cách nào với các cổng không? Tôi có thể thấy cổng ..
a1337q

Bạn nói đúng, tôi đã làm hỏng bài kiểm tra của mình. Tôi chỉnh sửa nó để cung cấp cho bạn một giải pháp làm việc.
Peter Eisentraut

1
Làm thế nào để bạn tìm thấy số "2560" bạn nhập vào lệnh thứ hai của bạn? Đó là câu hỏi.
ygoe

@ygoe bạn phải sử dụng 6115và sử dụng nó như thế này:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
Sam

3

Điều này có thể không hữu ích, nếu bạn không có cơ hội xây dựng lại Busybox, nhưng trong trường hợp nó giúp được bất cứ ai ...

Busybox có tùy chọn cấu hình để hỗ trợ -pchuyển đổi Busyboxnetstat . Xem tùy chọn CONFIG_FEATURE_NETSTAT_PRG, được chọn trong busybox menuconfig thông qua Tiện ích mạng → netstat → Bật đầu ra tên chương trình / PID .


0

Nếu bạn có hoặc có thể truy cập ssvào thiết bị của mình, nó cũng có thể hiển thị cho bạn PID:

ss -ltp # for TCP
ss -lup # for UDP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.