Câu trả lời:
nethogs có vẻ như nó sẽ làm những gì bạn muốn.
EDIT: Tôi cần cài đặt ncurses-devel, libpcap và libpcap-devel để xây dựng.
Để tìm những kết nối nào được liên kết với mỗi quá trình, hãy sử dụng lsof. Ví dụ:
lsof | grep TCP
Điều đó sẽ cung cấp cho bạn một danh sách các kết nối, như thế này:
bash 10887 luke 3u IPv4 44638801 0t0 TCP littleyerry.example.com:55212->barista.example.com:ldap (ESTABLISHED)
bash 10913 luke 3u IPv4 44638905 0t0 TCP littleyerry.example.com:55216->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 3u IPv4 44639001 0t0 TCP littleyerry.example.com:55219->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 4u IPv4 44639008 0t0 TCP littleyerry.example.com:59459->launchpad.example.com:ssh (ESTABLISHED)
bash 10938 luke 3u IPv4 44639107 0t0 TCP littleyerry.example.com:55221->barista.example.com:ldap (ESTABLISHED)
Từ đó, bạn sẽ có thể tìm hiểu về từng kết nối bằng cách sử dụng các công cụ bạn đã đề cập (iftop, iptraf). Bạn có thể xây dựng một tập lệnh nhỏ để tổng hợp dữ liệu cụ thể mà bạn đang tìm kiếm.
lsof -niTCP
là tương đương nhưng cách nhanh hơn và lsof -niTCP -sTCP:ESTABLISHED
đang hiển thị các kết nối hiện tại.