Tulis pesan teks antara Unix dan Windows

10

Apakah mungkin untuk mengirim pesan teks antara dua pengguna LAN yang sama, tetapi yang pertama menjalankan Windows dengan cmd dan yang kedua menjalankan Linux / Unix?

Saya tidak mencari layanan pesan instan. Saya ingin mengetikkan sesuatu seperti shell Linux

write user@192.168.x.x:port message

sehingga pengguna Windows dapat membaca teksnya di jendela cmd message; maka pengguna Windows harus dapat membalas dengan perintah lain. Apa itu mungkin?

Saya telah membaca tentang msgperintah Windows tetapi tidak berfungsi di semua versi OS. Apakah ada hal lain?

Alih-alih Putty, saya ingin menggunakan shell Linux dan Windows cmd.

BowPark
sumber
Itu adalah semacam layanan instant messaging, meskipun diintegrasikan ke dalam terminal.
Pavel Šimerda

Jawaban:

5

Di Unix: nc -l 192.168.1.10 32849

Di Windows: telnet 192.168.1.10 32849

Di mana 32849 adalah port sewenang-wenang yang diizinkan dalam aturan firewall, dan IP adalah IP mendengarkan dari mesin Unix. ncadalah utilitas netcat.

projectdp
sumber
Ide yang hebat! pada windows7 x64 saya perlu menginstal "fitur windows" klien telnet. idenya adalah untuk melakukan pkgmgr /iu:"TelnetClient"tetapi menghasilkan Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format., setelah penebangan saya melihat You cannot service a running 64-bit operating system with a 32-bit version. Mengerjakannya dengan c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"penekanan pada sysnative. Itu diinstal c:\windows\sysnative\telnet.exe.
n611x007
Aku harus digunakan -pseperti dalam nc -l 192.168.1.10 -p 32849, berkat JohnMurhy !
n611x007
Saya harus menggunakan IP berbeda dalam dua perintah. (IP mesin lain di setiap sisi.)
n611x007
Saya menguji lagi setelah komentar baru ini, saya tidak perlu flag -p menggunakan perintah [Gratis] BSD nc. Saya mendapatkan "wolf% sudo nc -l 10.0.0.1 -p 8888 nc: tidak dapat menggunakan -p dan -l ". Saya juga lalai menyebutkan Anda memang perlu akses superuser untuk mengikat port yang sewenang-wenang. Saya tidak tahu mengapa naxa membutuhkan IP yang berbeda atau bahkan bagaimana mungkin itu berfungsi, seharusnya tidak bekerja. Ini karena flag -l berarti sedang mendengarkan secara lokal pada * nix IP dan kombinasi port. Ini tidak ada hubungannya dengan IP mesin Windows. Telnet bertindak sebagai klien dalam skenario ini.
projectdp
3

Ide dari jawaban projectdp : netcat di linux melayani telnet saat menang . Namun diperlukan -pdan alamat IP yang berbeda pada dua mesin:

  • Di Linux: netcat -l 10.0.0.2 -p 14415- jika windows Anda pada 10.0.0.2

  • Di Windows: telnet 10.0.0.1 14415- jika linux Anda menggunakan 10.0.0.1

  • Untuk keluar dari telnet, tekan ^]yang berarti Ctrl+ ]lalu ketikkan q.

  • Untuk memilih port arbitrer Anda seperti 14415tabel praktis ada di David Vereb .

Namun pada win7 x64 saya harus mengaktifkan telnet terlebih dahulu, cerita pendek:

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

  • Masalah dalam upaya asli adalah yang pkgmgrmencoba menggunakan 32-bit dismdan merengek untuk 64-bit. Saya mendapat sysnativeide dari Osman Shener .

  • Menginstal ke c:\windows\sysnative\telnet.exe. Saya memasukkan c:\windows\sysnativevariabel lingkungan PATH dengan sysdm.cpl.

  • Jika Anda memiliki DeVuan atau Ubuntu untuk Linux, sudo apt-get install netcat-traditional

Obrolan itu terlihat seperti:

devuan-netcat win7-telnet

n611x007
sumber
Halo naxa, saya agak bingung dengan tes Anda di sini, bagaimana Anda bisa membuka soket mendengarkan di linux menggunakan IP host windows? Anda tidak mendengarkan untuk windows host IP, Anda sedang mendengarkan pada linux host IP dan port. Ketika Anda menggunakan telnet dari host windows, Anda bertindak sebagai klien yang bergabung dengan soket dan IP mesin pendengar linux. Saya harus mengujinya dengan metode Anda.
projectdp
Naxa, saya mencoba dan saya tidak tahu bagaimana Anda berhasil menghubungkan kedua mesin ini. nc harus mendengarkan alamat ip lokal dan port lokal. Telnet harus terhubung ke ip jarak jauh dan port jarak jauh ... bisakah Anda mencantumkan output ipconfig / ifconfig Anda di setiap mesin?
projectdp
@projectdp ah saya menemukan ini lagi. Jadi pada akhirnya saya setuju dengan Anda itu seharusnya tidak berfungsi tetapi ternyata itu berhasil dan hanya melakukan seperti ini. Saya pikir saya tidak menjawab karena saya ingin menguji melalui ini. Sayangnya saya terbawa dan saya tidak memiliki mesin lagi. Saya pikir mereka divirtualisasi yang saya tahu dapat menyebabkan anomali jaringan paling aneh pada umumnya ...
n611x007
1

Bagaimana NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messagedengan mesin windows, dan echo "message" | smbclient -M name2pada kotak linux? name1 dan name2 adalah nama netbios dari mesin.

noleti
sumber
tolong jelaskan sedikit! Perintah 'NET KIRIM' umumnya digunakan untuk menang untuk memenangkan pesan lewat menggunakan 'utusan'. Apakah mungkin digunakan jika Bash menang juga ??
difraksi
@diffracteD Saya tidak punya mesin windows untuk diuji. Saya berasumsi dengan "Bash to win", maksud Anda dari linux ke windows? Contoh kedua saya harus melakukan hal itu
noleti
0

Ada alat yang menarik yang memungkinkan Anda untuk menjalankan perintah windows dari Linux, namanya winexe.

Jadi Anda dapat mengirim pesan dari mesin yang sama ke konsol cukup mengetik: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

Seperti yang Anda lihat jawaban noleti jauh lebih sederhana tetapi dengan winexe Anda juga dapat membuka kalkulator atau apa pun yang Anda inginkan di mesin itu. Kami telah menggunakannya untuk melakukan instalasi tanpa pengawasan di mesin Windows dari skrip batch di Linux. Cukup keren dan hemat waktu ...

YoMismo
sumber