Làm thế nào để xem IP đến trong Linux?


21

Tôi đang tự hỏi lệnh / tiện ích nào để có chế độ xem IP thời gian thực đến máy chủ của tôi, lý tưởng là cùng với cổng và được kết nối.

Câu trả lời:


25

Sử dụng pktstat -n

interface: eth0
bps

   bps    % desc
 162.3   0% arp
 286.5   0% llc 802.1d -> 802.1d
 544.3   1% tcp 172.16.1.5:22 <-> 172.16.1.95:8074
 34.0k  87% udp 172.16.1.1:514 <-> 172.16.1.5:514
 350.1   0% udp 172.16.1.5:24330 <-> 209.18.47.62:53
 329.4   0% udp 172.16.1.5:34870 <-> 209.18.47.62:53
 388.3   0% udp 172.16.1.5:4470 <-> 209.18.47.62:53
 407.4   1% udp 172.16.1.5:47008 <-> 209.18.47.62:53
 741.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:43289
 663.6   1% udp 172.16.1.5:53 <-> 172.16.1.74:44589
 647.7   1% udp 172.16.1.5:53 <-> 172.16.1.74:58223
 128.9   0% udp 172.16.1.74:5353 <-> 224.0.0.251:5353
 160.7   0% udp6 fe80::21c:bfff:fecf:a798,5353 <-> ff02::fb,5353

Các mã nguồn pktstat được lưu trữ trên trang web của Debian, hoặc bạn có thể lấy nó từ SourceArchive.com


1
Kinh ngạc. Chính xác những gì tôi đang tìm kiếm. Điều này khá rõ ràng nhưng để hoàn thành câu trả lời bạn có thể muốn thêm rằng nó có thể được cài đặt đơn giản bằng 'apt-get install pkstat'.

Ngoài ra, nếu bạn nhận được pktstat: pcap_lookupdev: no suitable device foundkhi chạy này, bạn có thể cần phải root.
Tim Malone

10

Đối với màn hình 'purdy', tôi là một phần của một công cụ gọi là 'iptraf' sẽ thực hiện đúng những gì bạn đề cập, cũng như trên mỗi giao diện và trên mỗi tổng hợp cổng.

Đối với các công cụ Linux cốt lõi, netstat đáng tin cậy sẽ thực hiện thủ thuật ...


1
Iptraf là công cụ tốt nhất mà tôi đã nhìn thấy về khả năng sử dụng và chức năng - rõ ràng là bạn vẫn có thể kịch bản một số công cụ sử dụng công cụ tiêu chuẩn như netstat và ngrep và tcpdump nhưng tại sao bạn lại muốn phát minh lại bánh xe :)
Gyre

Để hoàn thiện, iftop tương tự như iptraf - một ứng dụng dựa trên ncurses sử dụng biểu đồ thanh thay vì chỉ số - để hiển thị mức sử dụng băng thông cho mỗi địa chỉ IP. Với tùy chọn -P, bạn cũng có thể nhận được mỗi cổng.
gsreynold

7

A tcpdumpsẽ cho bạn thấy rằng; nếu bạn chỉ muốn một danh sách IP, bạn có thể lọc trên các gói SYN và chỉ xuất địa chỉ IP nguồn. Cái gì đó như:

tcpdump -i eth0 -n 'tcp[tcpflags] & tcp-syn != 0 and not src and dst net localnet' | sed 's/^.*IP \([^ ]*) >.*$/\1/'

Sẽ giúp bạn có được danh sách IP, trong thời gian thực. Bạn cũng có thể teegửi tệp đó và định kỳ thực hiện sort -utrên đó để nhận danh sách các địa chỉ IP duy nhất đã gửi kết nối theo cách của bạn.


3

Dưới đây là cách xem tất cả lưu lượng truy cập đến cổng 2222:

tcpdump -ni any port 2222

0

Khi bạn nhận được đầu ra của một trong các lệnh được đề cập trong các câu trả lời khác, bạn có thể sử dụng công cụ "xem" để có "thời gian thực". Ví dụ: "watch -n 5 ps" sẽ thực hiện lệnh "ps" mỗi 5 giây (đối số "-n"). Thay thế "ps" bằng lệnh quan tâm và bạn sẽ nhận được "giám sát". Hoặc, chỉ "tee" trong hồ sơ, như trong một đề nghị khác.

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.