Làm thế nào tôi có thể nhìn thấy từ vỏ các tùy chọn socket nào được đặt? Cụ thể là Tôi muốn biết liệu SO_BROADCAST có được đặt không?Tùy chọn ổ cắm hiển thị
8
A
Trả lời
7
Bạn có thể sử dụng lsof(8)
. Nếu PID
là quá trình ID và FD
là số mô tả tập tin của ổ cắm bạn quan tâm, bạn có thể làm điều này:
lsof -a -p PID -d FD -T f
Để liệt kê tất cả các socket IPv4 của một quá trình:
lsof -a -p PID -i 4 -T f
Thao tác này sẽ in ra các tùy chọn ổ cắm với một số SO=
, cùng với các thông tin khác. Lưu ý rằng nếu không có tùy chọn nào được đặt, bạn sẽ nhận được chuỗi trống, vì vậy bạn sẽ thấy một cái gì đó như SO=PQLEN=0
v.v. Để kiểm tra SO_BROADCAST
, chỉ cần grep cho chuỗi SO_BROADCAST
sau SO=
, ví dụ:
if lsof -a -p PID -d FD -T f | grep -q 'SO=[^=]*SO_BROADCAST'; then
# socket has SO_BROADCAST
else
# it doesn't
fi
2
Trên Linux, bạn có thể sử dụng các mô-đun knetstat hạt nhân để kiểm tra tùy chọn ổ cắm, bao gồm SO_BROADCAST
.
Các vấn đề liên quan
- 1. Các sự cố với tùy chọn ổ cắm SO_BINDTODEVICE Linux
- 2. Ember.js - mẫu mặc định để hiển thị trong ổ cắm?
- 3. phá vỡ ra khỏi ổ cắm chọn
- 4. Ổ cắm Python - giữ ổ cắm còn sống?
- 5. Ổ cắm miền PostgreSQL UNIX và ổ cắm TCP
- 6. Cách tạo ổ cắm Boost.Asio từ ổ cắm gốc?
- 7. Tách một ổ cắm riêng khỏi ổ cắm của Boost.ASIO
- 8. HTML Chọn + giới hạn số tùy chọn hiển thị
- 9. Hiển thị div nếu tùy chọn được chọn trong jQuery
- 10. Lỗi ổ cắm - đôi khi?
- 11. android ổ cắm DataOutputStream.writeUTF
- 12. quyền ổ cắm uwsgi
- 13. Ổ cắm ICMP (linux)
- 14. Ổ cắm Python +
- 15. Ổ cắm trong Rust
- 16. Ổ cắm: BufferedOutputStream hoặc chỉ OutputStream?
- 17. chọn trên ổ cắm UDP không kết thúc khi ổ cắm bị đóng - tôi đang làm gì sai?
- 18. Không thể tạo ổ cắm trên Windows
- 19. Tự động chạy ứng dụng trong khi cắm ổ USB
- 20. jQuery Chosen cắm thêm tùy chọn động
- 21. Sử dụng gprof với ổ cắm
- 22. Không chặn các ổ cắm python
- 23. hiển thị: json không chấp nhận các tùy chọn
- 24. UIActivityViewController không hiển thị tùy chọn "Mở trong iBooks"
- 25. Cách hiển thị menu tùy chọn trong android 4.2
- 26. Luôn hiển thị các tùy chọn thả xuống trong TValueListEditor
- 27. Ổ cắm Async là gì?
- 28. Ổ cắm thô trong Haskell
- 29. mô phỏng lỗi ổ cắm
- 30. AS3: Ổ cắm & HTTPS/SSL
Trên hệ thống của tôi (RHEL 5.3) cờ "-T" của lsof có thể chấp nhận "q" và "s", nhưng không phải là "f". Có giải pháp nào khác không? – dimba
Bạn cũng có thể thử 'fuser (1)' http://linux.die.net/man/1/fuser hoặc 'netstat (8)' http://linux.die.net/man/8/netstat, nhưng nếu lsof không hoạt động và chúng không hoạt động, bạn có thể không may mắn trên hệ thống của bạn. –