Pisz SMS-y między Unixem a Windows

10

Czy możliwe jest wysyłanie wiadomości tekstowych między dwoma użytkownikami tej samej sieci LAN, ale pierwszym systemem Windows z cmd i drugim systemem Linux / Unix?

Nie szukam usługi czatu. Chciałbym wpisać coś w rodzaju powłoki Linux

write user@192.168.x.x:port message

aby użytkownik systemu Windows mógł odczytać tekst w oknie cmd message; wtedy użytkownik systemu Windows powinien móc odpowiedzieć innym poleceniem. Czy to możliwe?

Przeczytałem o msgpoleceniu Windows, ale nie działa ono we wszystkich wersjach systemu operacyjnego. Czy jest coś jeszcze?

Zamiast PuTTY chciałbym użyć powłoki Linux i cmd Windows.

BowPark
źródło
Jest to rodzaj usługi czatu, chociaż jest zintegrowana z terminalem.
Pavel Šimerda

Odpowiedzi:

5

W systemie Unix: nc -l 192.168.1.10 32849

W systemie Windows: telnet 192.168.1.10 32849

Gdzie 32849 jest dowolnym portem dozwolonym w regułach zapory ogniowej, a adres IP to adres IP nasłuchiwania maszyny uniksowej. ncjest narzędziem netcat.

projectdp
źródło
Świetny pomysł! na Windows7 x64 musiałem zainstalować „funkcję Windows” klienta Telnet. Pomysł polegał na zrobieniu tego, pkgmgr /iu:"TelnetClient"ale Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format.po zalogowaniu zobaczyłem You cannot service a running 64-bit operating system with a 32-bit version. Mam to z c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"naciskiem na sysnative. Zainstalowano c:\windows\sysnative\telnet.exe.
n611x007
Musiałem użyć -pjak w nc -l 192.168.1.10 -p 32849, dzięki JohnMurhy !
n611x007
Musiałem użyć innego adresu IP w obu poleceniach. (adres IP drugiej maszyny z każdej strony).
n611x007 24.09.15
Testowałem ponownie po tych nowych komentarzach, nie potrzebuję flagi -p za pomocą polecenia [Free] BSD nc. Pojawia się komunikat „wolf% sudo nc -l 10.0.0.1 -p 8888 nc: nie można użyć opcji -p i -l ”. Zlekceważyłem również wspomnienie, że potrzebujesz dostępu administratora do łączenia się z dowolnymi portami. Nie wiem, dlaczego naxa potrzebuje różnych adresów IP, ani nawet jak to możliwe, że to działa, to nie powinno działać. Wynika to z faktu, że flaga -l oznacza, że ​​nasłuchuje on lokalnie na kombinacji * nix IP i portu. Nie ma to nic wspólnego z adresem IP komputera z systemem Windows. W tym scenariuszu Telnet działa jako klient.
projectdp
3

Pomysł z projectdp odpowiedź „s: netcat na linux serwuje telnet na wygraną . Potrzebne były jednak -próżne adresy IP na dwóch komputerach:

  • W systemie Linux: netcat -l 10.0.0.2 -p 14415- jeśli twój system Windows jest w wersji 10.0.0.2

  • W systemie Windows: telnet 10.0.0.1 14415- jeśli twój Linux jest w wersji 10.0.0.1

  • Aby wyjść z telnetu, naciśnij ^]co oznacza Ctrl+, ]a następnie wpisz q.

  • David Vereb wybiera dowolny port 14415jako poręczny stolik .

Jednak na Win7 x64 musiałem włączyć Telnet jako pierwszy, krótki opowiadanie:

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

  • Problem w pierwotnej próbie polegał na tym, że pkgmgrpróbowano użyć wersji 32-bitowej dismi marudzić w wersji 64-bitowej. Mam sysnativepomysł z Osman Shener .

  • Instaluje się do c:\windows\sysnative\telnet.exe. I umieścić c:\windows\sysnativew zmiennej środowiskowej PATH z sysdm.cpl.

  • Jeśli masz DeVuan lub Ubuntu dla systemu Linux, sudo apt-get install netcat-traditional

Czat wyglądał następująco:

devuan-netcat win7-telnet

n611x007
źródło
Witaj Naxa, jestem trochę zdezorientowany twoim testem tutaj, jak możesz otworzyć gniazdo nasłuchujące na systemie Linux przy użyciu adresu IP hosta systemu Windows? Nie słuchasz na oknach hostów IP, słuchasz na hostach Linux IP i port. Kiedy używasz telnetu z hosta systemu Windows, działasz jako klient dołączający do gniazda nasłuchiwania i adresu IP urządzenia z systemem Linux. Będę musiał to przetestować za pomocą twojej metody.
projectdp
Naxa, próbowałem i nie wiem, jak skutecznie łączysz te dwie maszyny. nc powinien nasłuchiwać na lokalnym adresie IP i lokalnym porcie. telnet powinien łączyć się ze zdalnym ip i zdalnym portem ... czy możesz wypisać dane wyjściowe twojego ipconfig / ifconfig na każdym komputerze?
projectdp
@projectdp ah Znalazłem to ponownie. W końcu zgadzam się z tobą, że to nie powinno nawet zadziałać, ale najwyraźniej tak się stało i tylko tak się stało. Myślę, że nie odpowiedziałem, ponieważ chciałem to przetestować. Niestety dałem się ponieść emocjom i nie mam już maszyn. Myślę, że zostały zwirtualizowane, co do których wiem, że mogą powodować najdziwniejsze anomalie sieciowe w ogóle ...
n611x007
1

Co powiesz NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messagena maszynie z systemem Windows i echo "message" | smbclient -M name2Linuxie? name1 i name2 to nazwy Netbios maszyn.

noleti
źródło
proszę wyjaśnić trochę! Polecenie „NET SEND” jest zwykle używane do wygrania, aby wygrać przekazywanie wiadomości za pomocą „komunikatora”. Czy w przypadku Basha można również wygrać?
diffracteD
@diffracteD Nie mam komputera z systemem Windows do przetestowania. Zakładam, że z „Bash to win”, masz na myśli od Linuksa do Windowsa? Mój drugi przykład powinien zrobić dokładnie to
noleti
0

Istnieje ciekawe narzędzie, które pozwala na wykonywanie poleceń systemu Windows z Linuksa, nazywa się winexe.

Możesz więc wysłać wiadomość z tego samego komputera do konsoli, wpisując: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

Jak widać, odpowiedź noleti jest znacznie prostsza, ale dzięki winexe możesz również otworzyć kalkulator lub cokolwiek chcesz w tej maszynie. Używaliśmy go do wykonywania nienadzorowanych instalacji na komputerach z systemem Windows ze skryptu wsadowego w systemie Linux. Całkiem fajne i oszczędzające czas ...

YoMismo
źródło