Đánh hơi các gói UDP trên một cổng cục bộ


12

Tôi muốn biết nội dung của một ứng dụng gói "APM Planner" gửi đến một "MAVProxy" khác là gì. Tôi biết họ đang liên lạc qua cổng UDP 14550. Tôi đã thử sử dụng tcpdump bằng cách chạy các lệnh sau

tcpdump -u port 14550

tcpdump udp

netstat -uanpc | grep 14550

nhưng không ai trong số họ hiển thị cho tôi những gì hai ứng dụng này thực sự trao đổi. Tôi cần một cái gì đó như cutecom để theo dõi kết nối UDP. Có bất cứ điều gì như thế này? Khi tôi chạy lệnh

netstat -lnpuc

, nó hiển thị như sau trong số đầu ra của nó

udp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2 

Bạn đã xem xét chương trình GUI được gọi là wireshark? Nó sẽ phân tích các gói và hiển thị cho bạn thông tin được gửi bởi mỗi gói và sau đó bạn có thể sử dụng udp.port == 14550hoặc tương tự như lệnh lọc để chỉ hiển thị lưu lượng đó. Vấn đề là, bạn sẽ phải ghép lại những gì qua lại dựa trên nội dung của gói. Nhưng có vẻ như đây cuối cùng là những gì bạn muốn tự làm ... (Chỉ cần đánh hơi logiao diện nếu bạn làm điều này - đó là phạm vi 'cục bộ' 127. *. *. * Và IPv6 cục bộ trên hệ thống của bạn)
Thomas Ward

Cám ơn bạn đã góp ý. Tôi đã cài đặt Wireshark và nhập udp.port == 14550vào Apply a display filternhưng không có gì xuất hiện. Tôi cũng đã thử udp port 14550trong Enter a capture filterlĩnh vực này. Ngoài ra khi tôi chạy lệnh netstat -lnpuc, nó hiển thị như sau trong số đầu ra của nóudp 5376 0 0.0.0.0:14550 0.0.0.0:* 23598/apmplanner2
Salahuddin Ahmed

Âm thanh với tôi như nó không nhất thiết phải nghe cục bộ. Bạn đã thử truy tìm các giao diện khác để xem nó có giao tiếp với bên ngoài không?
Thomas Ward

1
Bây giờ nó đang hoạt động. Tôi đã phải chạy wiresharkvới sudo. Rất cám ơn
Salahuddin Ahmed

Câu trả lời:


17

tcpdump hỗ trợ chụp UDP . sử dụng ví dụ:

tcpdump -n udp port 14550

Biên tập

Do các ứng dụng của bạn đang giao tiếp với giao diện lo, bạn phải chỉ định giao diện như thế này:

tcpdump -i lo -n udp port 14550

lệnh này chỉ in tiêu đề. nếu bạn muốn in một phần dữ liệu của gói trong hex và ASCII, hãy sử dụng:

tcpdump -i lo -n udp port 14550 -X

hoặc nếu bạn muốn lưu các gói vào một tệp và xem nội dung của nó trong Wireshark, hãy sử dụng điều này:

tcpdump -i lo -n udp port 14550 -w packets.pcap

Tôi đã thử lệnh này nhưng nó không bắt được các gói. Nó xuất ra sau đây listening on wlo1, link-type EN10MB (Ethernet), capture size 262144 bytesvà không có gì khác!
Salahuddin Ahmed

@SalahuddinAshraf Tôi đã sửa nó :)
Ghasem Pahlavan

cảm ơn, nó đang hoạt động Nó hiển thị nguồn, đích và độ dài của dữ liệu được truyền. Có thể làm cho nó hiển thị dữ liệu được truyền chính nó?
Salahuddin Ahmed

@SalahuddinAshraf có. bạn phải thêm tùy chọn -A vào tcpdump để xem dữ liệu. ngoài ra, bạn có thể gửi gói đến một tệp và xem các gói trong Wireshark bởi-w packets.pcap
Ghasem Pahlavan

Pahlvan, Tuyệt vời. Bây giờ tôi có thể xem dữ liệu. Có thể làm cho dữ liệu được hiển thị trong hex? Rất cám ơn
Salahuddin Ahmed

1

Bạn có thể sử dụng ngrep . Thí dụ:

# Any UDP from any local interfaces to 91.22.38.4:12201
ngrep -W byline -d any udp and host 91.22.38.4 and dst port 12201
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.