Điểm:0

Đường ống SSH đến Wireshark trên windows

lá cờ ve

Trong các hoạt động hàng ngày của mình, tôi thường xuyên cần thực thi tcpdump trên các máy chủ từ xa và thật khó khăn khi lưu kết quả đầu ra vào một tệp và sau đó phải chuyển tệp đó sang máy tính xách tay của tôi để phân tích nó trên Wireshark.

Tôi đã khám phá lệnh bên dưới và nó hoạt động tốt trong linux

ssh <remote_host> sudo tcpdump -vv -i eth0 -U -w - | Wireshark -k -i -

Nhưng thật không may, máy tính xách tay làm việc của tôi do công ty tôi cung cấp có cửa sổ trên đó và họ không cho phép tôi đổi sang hệ điều hành khác. Với hạn chế này, tôi đã cố gắng đạt được kết quả tương tự, nhưng trong cửa sổ ...

Nếu tôi thực thi lệnh sau trong windows trong powershell

ssh <remote_host> sudo tcpdump -vv -i eth0 -U -w - | 'C:\Tệp chương trình\Wireshark\Wireshark.exe' -k -i -

tôi nhận được lỗi này

    Tại dòng: 1 ký tự: 87
+ ... -i eth0 -U -w - | 'C:\Tệp chương trình\Wireshark\Wireshark.exe' -k -i -
+ ~~
Mã thông báo không mong đợi '-k' trong biểu thức hoặc câu lệnh.
Tại dòng: 1 ký tự: 44
+ ... -i eth0 -U -w - | 'C:\Tệp chương trình\Wireshark\Wireshark.exe' -k -i -
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Biểu thức chỉ được phép làm thành phần đầu tiên của đường dẫn.
Tại dòng: 1 ký tự: 90
+ ... -i eth0 -U -w - | 'C:\Tệp chương trình\Wireshark\Wireshark.exe' -k -i -
+ ~~
Mã thông báo không mong đợi '-i' trong biểu thức hoặc câu lệnh.
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullQualifiedErrorId : UnexpectedToken

Nếu tôi thực thi lệnh Wireshark mà không có phần ssh, tôi cũng gặp lỗi tương tự, nhưng nếu tôi thực hiện nó như thế này

& 'C:\Program Files\Wireshark\Wireshark.exe' -k -i -

Nó mở Wireshark và chờ nhập dữ liệu. Với suy nghĩ này, tôi đã cố gắng thay đổi lệnh thành

ssh <remote_host> sudo tcpdump -vv -i eth0 -U -w - | & 'C:\Program Files\Wireshark\Wireshark.exe' -k -i -

Bằng cách này, lệnh ssh được thực thi và tcpdump bắt đầu trong máy chủ từ xa, công cụ Wireshark không bao giờ khởi động. Tôi đang làm gì sai? Tại sao lệnh đường ống giống nhất với lệnh trong linux không hoạt động trong windows, đường ống có khác không?

lá cờ us
có vẻ như đó là một vấn đề về powershell đối với tôi... có lẽ hãy thử sử dụng cmd thay thế?
BANJOSA avatar
lá cờ ve
Ngài là một thiên tài! Cảm ơn vì gợi ý. Nó hoạt động trong CMD, thực sự nó có vẻ là một vấn đề với PowerShell. Tuy nhiên, nếu người dùng cần mật khẩu để thực thi TCPDUMP, mật khẩu thường cần, thì lỗi ```GetConsoleMode trên hOutputConsole fail with 6``` sẽ xuất hiện.
lá cờ us
Có lẽ có một cách để làm điều đó với powershell, nhưng tôi không biết nhiều về powershell. Có lẽ bạn nên thêm thẻ powershell và xóa một số thẻ không cần thiết.
Điểm:0
lá cờ za

Như @Jasen đã đề cập trong các nhận xét, tôi đã thử lệnh mà không sử dụng PowerShell mà thay vào đó sử dụng Git Bash trên Windows 10.

#!/bin/bash
máy chủ=<máy chủ từ xa>
ifface="ens6"
ssh $server "tcpdump -s 0 -U -n -w - -i $iface không phải cổng 22" | Wireshark -k -i -

Tập lệnh này giả định rằng bạn đã cài đặt GitBash và Wireshark trên máy Windows của mình, cũng như máy chủ và máy chủ giao tiếp thông qua xác thực khóa chung. Đảm bảo bạn có quyền root khi sử dụng tcpdump. Cổng 22 bị bỏ qua rõ ràng nên lưu lượng ssh không hiển thị trong phiên đánh hơi gói.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.