Viết tin nhắn văn bản giữa Unix và Windows


10

Có thể gửi tin nhắn văn bản giữa hai người dùng cùng một mạng LAN, nhưng Windows đầu tiên chạy với cmd và thứ hai chạy Linux / Unix?

Tôi không tìm kiếm một dịch vụ nhắn tin tức thời. Tôi muốn gõ vào Linux shell một cái gì đó như

write user@192.168.x.x:port message

để người dùng Windows có thể đọc trong cửa sổ cmd của nó văn bản message; sau đó người dùng Windows sẽ có thể trả lời bằng một lệnh khác. Có thể không?

Tôi đã đọc về msglệnh Windows nhưng nó không hoạt động trong tất cả các phiên bản của HĐH. Có gì khác?

Thay vì PuTTY, tôi muốn sử dụng shell Linux và cmd Windows.


Đó một loại dịch vụ nhắn tin tức thời, mặc dù được tích hợp vào thiết bị đầu cuối.
Pavel imerda

Câu trả lời:


5

Trên Unix: nc -l 192.168.1.10 32849

Trên Windows: telnet 192.168.1.10 32849

Trong đó 32849 là một cổng tùy ý được phép trong các quy tắc tường lửa và IP là IP nghe của máy Unix. nclà tiện ích netcat.


Ý tưởng tuyệt vời! trên windows7 x64 Tôi cần cài đặt "tính năng windows" của máy khách telnet. ý tưởng là để làm pkgmgr /iu:"TelnetClient"nhưng điều đó đã dẫn đến Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format., sau khi đăng nhập tôi đã thấy You cannot service a running 64-bit operating system with a 32-bit version. Có nó làm việc với c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"sự nhấn mạnh vào sysnative. Nó được cài đặt c:\windows\sysnative\telnet.exe.
n611x007

Tôi đã phải sử dụng -pnhư trong nc -l 192.168.1.10 -p 32849, nhờ JohnMurhy !
n611x007

Tôi đã phải sử dụng IP khác nhau trong hai lệnh. (IP của máy kia ở mỗi bên.)
n611x007

Tôi đã kiểm tra lại sau những nhận xét mới này, tôi không cần cờ -p bằng cách sử dụng lệnh BSD nc [Miễn phí]. Tôi nhận được "sói% sudo nc -l 10.0.0.1 -p 8888 nc: không thể sử dụng -p và -l ". Tôi cũng bỏ qua đề cập đến việc bạn cần truy cập siêu người dùng để liên kết với các cổng tùy ý. Tôi không biết tại sao naxa cần các IP khác nhau hoặc thậm chí làm thế nào có thể nó đang hoạt động, nó không hoạt động. Điều này là do cờ -l có nghĩa là nó đang nghe cục bộ trên kết hợp cổng * nix IP và cổng. Nó không liên quan gì đến IP của máy Windows. Telnet đóng vai trò là khách hàng trong kịch bản này.
dự án

3

Ý tưởng từ câu trả lời của projectdp : netcat trên linux phục vụ telnet trên win . Tuy nhiên, cần thiết -pvà các địa chỉ IP khác nhau trên hai máy:

  • Trong Linux: netcat -l 10.0.0.2 -p 14415- nếu cửa sổ của bạn ở trên 10.0.0.2

  • Trong Windows: telnet 10.0.0.1 14415- nếu linux của bạn là trên 10.0.0.1

  • Để thoát telnet ^], có nghĩa là Ctrl+ ]và sau đó gõ q.

  • Để chọn cổng tùy ý của bạn như 14415một bảng tiện dụng là tại David Vereb .

Tuy nhiên trên win7 x64 tôi phải bật telnet trước, câu chuyện dài ngắn:

  • c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"

  • Vấn đề trong lần thử ban đầu là đã pkgmgrcố gắng sử dụng 32 bit dismvà rên rỉ cho 64 bit. Tôi đã có sysnativeý tưởng từ Osman Shener .

  • Nó cài đặt để c:\windows\sysnative\telnet.exe. Tôi đặt c:\windows\sysnativetrong biến môi trường PATH với sysdm.cpl.

  • Nếu bạn có DeVuan hoặc Ubuntu cho Linux, sudo apt-get install netcat-traditional

Trò chuyện giống như:

devuan-netcat win7-telnet


Xin chào naxa, tôi hơi bối rối với bài kiểm tra của bạn ở đây, làm thế nào bạn có thể mở một ổ cắm nghe trên linux bằng IP của máy chủ windows? Bạn chưa nghe cho các cửa sổ IP host, bạn đang lắng nghe trên các host linux IP và cổng. Khi bạn đang sử dụng telnet từ máy chủ windows, bạn sẽ đóng vai trò là khách hàng tham gia ổ cắm nghe và IP của máy linux. Tôi sẽ phải kiểm tra nó với phương pháp của bạn.
dự án

Naxa, tôi đã thử và tôi không biết làm thế nào bạn kết nối thành công hai máy này. nc nên nghe địa chỉ IP cục bộ và cổng cục bộ. telnet nên được kết nối với ip từ xa và cổng từ xa ... bạn có thể liệt kê đầu ra của ipconfig / ifconfig trên mỗi máy không?
dự án

@projectdp ah Tôi lại tìm thấy cái này. Vì vậy, cuối cùng tôi đồng ý với bạn, nó thậm chí không hoạt động nhưng rõ ràng nó đã làm và nó chỉ làm như thế này. Tôi nghĩ rằng tôi đã không trả lời bởi vì tôi muốn kiểm tra thông qua này. Thật không may, tôi đã mang đi và tôi không còn máy móc nữa. Tôi nghĩ rằng chúng đã được ảo hóa mà tôi biết để có thể gây ra sự bất thường về mạng kỳ lạ nhất nói chung ...
n611x007

1

Làm thế nào về NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messagemáy tính windows và echo "message" | smbclient -M name2hộp linux? name1 và name2 là tên netbios của máy.


hãy làm rõ một chút! Lệnh 'NET SEND' thường được sử dụng để giành chiến thắng để giành được thông báo bằng cách sử dụng 'messenger'. Có thể sử dụng trong trường hợp Bash để giành chiến thắng không ??
nhiễu xạ

@diffracteD Tôi không có máy windows để kiểm tra. Tôi giả sử với "Bash để giành chiến thắng", ý bạn là từ linux đến windows? Ví dụ thứ hai của tôi nên làm chính xác điều đó
noleti

0

Có một công cụ thú vị cho phép bạn thực thi các lệnh windows từ Linux, tên là winexe.

Vì vậy, bạn có thể gửi tin nhắn từ cùng một máy đến bàn điều khiển chỉ cần gõ: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

Như bạn có thể thấy câu trả lời của người vô cực đơn giản hơn nhiều nhưng với Winexe, bạn cũng có thể mở một calc hoặc bất cứ thứ gì bạn muốn trong máy đó. Chúng tôi đã sử dụng nó để thực hiện cài đặt unattenden trong các máy Windows từ một tập lệnh bó trong Linux. Khá tuyệt và tiết kiệm thời gian ...

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.