Unix와 Windows간에 문자 메시지 작성


10

동일한 LAN의 두 사용자에게 문자 메시지를 보낼 수 있습니까?하지만 첫 번째는 cmd로 Windows를 실행하고 두 번째는 Linux / Unix를 실행합니까?

인스턴트 메시징 서비스를 찾고 있지 않습니다. Linux 쉘에 다음과 같은 내용을 입력하고 싶습니다

write user@192.168.x.x:port message

Windows 사용자가 cmd 창에서 텍스트를 읽을 수 있도록 message; 그러면 Windows 사용자는 다른 명령으로 응답 할 수 있어야합니다. 가능합니까?

Windows msg명령 에 대해 읽었 지만 모든 버전의 OS에서 작동하지는 않습니다. 다른 것이 있습니까?

PuTTY 대신 Linux 셸과 Windows cmd를 사용하고 싶습니다.


입니다 터미널에 통합 있지만, 일종의 인스턴트 메시징 서비스.
Pavel Šimerda

답변:


5

유닉스에서 : nc -l 192.168.1.10 32849

Windows에서 : telnet 192.168.1.10 32849

여기서 32849는 방화벽 규칙에서 허용되는 임의의 포트이고 IP는 Unix 시스템의 수신 IP입니다. ncnetcat 유틸리티입니다.


좋은 생각이야! 에 Windows7의 x64의 나는 텔넷 클라이언트 "창 기능"를 설치 할 필요가 있었다. 아이디어는해야 pkgmgr /iu:"TelnetClient"했지만 Operation failed with 0x8007000B An attempt was made to load a program with an incorrect format.로깅을 마친 결과 You cannot service a running 64-bit operating system with a 32-bit version였다. 에 c:\windows\sysnative\dism.exe /online /norestart /logpath:"c:\foo.txt" /enable-feature /ignorecheck /featurename:"TelnetClient"중점을두고 작업 했습니다 sysnative. 설치되었습니다 c:\windows\sysnative\telnet.exe.
n611x007

JohnMurhy 덕분에 -p에서 nc -l 192.168.1.10 -p 32849와 같이 사용해야 했습니다 !
n611x007

두 명령에서 다른 IP를 사용해야했습니다. (각 측면에있는 다른 머신의 IP)
n611x007

이 새로운 주석 후에 다시 테스트했는데, [Free] BSD nc 명령을 사용하여 -p 플래그가 필요하지 않습니다. "wolf % sudo nc -l 10.0.0.1 -p 8888 nc : -p 및 -l을 사용할 수 없습니다 "가 표시됩니다. 또한 임의의 포트에 바인딩하려면 수퍼 유저 액세스가 필요하다고 언급하지 않았습니다. 왜 Naxa가 다른 IP를 필요로하는지, 심지어 그것이 작동하는 것이 어떻게 가능한지 모르겠습니다. -l 플래그는 * nix IP 및 포트 조합에서 로컬로 청취 중임을 의미하기 때문입니다. Windows 시스템의 IP와는 아무런 관련이 없습니다. 이 시나리오에서 Telnet은 클라이언트 역할을합니다.
projectdp

3

projectdp 의 답변 에서 아이디어 : Linux의 netcat은 승리시 텔넷을 제공합니다 . -p그러나 두 시스템에서 필요 하고 다른 IP 주소 :

  • Linux : netcat -l 10.0.0.2 -p 14415- 창이 10.0.0.2 인 경우

  • Windows의 경우 : telnet 10.0.0.1 14415- 귀하의 경우 리눅스는 10.0.0.1을에

  • 텔넷을 눌러 종료하려면 ^]어떤 수단 Ctrl+ ]다음 입력을 q.

  • 14415편리한 테이블 처럼 임의의 포트를 선택 하는 것은 David Vereb에 있습니다.

그러나 win7 x64에서는 텔넷을 먼저 활성화해야했습니다.

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

  • 원래 시도의 문제점은 pkgmgr32 비트를 사용하려고 시도했지만 dism64 비트를 위해 휘두르는 것이 었습니다. 내가있어 sysnative에서 아이디어 오스만 Shener을 .

  • 에 설치됩니다 c:\windows\sysnative\telnet.exe. 으로 c:\windows\sysnativePATH 환경 변수를 넣었습니다 sysdm.cpl.

  • Linux 용 DeVuan 또는 Ubuntu가있는 경우 sudo apt-get install netcat-traditional

채팅은 다음과 같습니다.

devuan-netcat win7-telnet


안녕하세요 naxa, 여기 테스트에 약간 혼란 스럽습니다 .Windows 호스트의 IP를 사용하여 Linux에서 청취 소켓을 어떻게 열 수 있습니까? 당신은 듣고 있지 않습니다 에 대한 IP, 당신은 듣고있는 Windows 호스트 리눅스 호스트 IP 및 포트. Windows 호스트에서 텔넷을 사용하는 경우 Linux 시스템의 청취 소켓 및 IP에 참여하는 클라이언트 역할을합니다. 당신의 방법으로 테스트해야합니다.
projectdp

Naxa, 나는 시도했지만 나는이 두 기계를 어떻게 성공적으로 연결하는지 모른다. nc는 로컬 IP 주소와 로컬 포트에서 수신 대기해야합니다. telnet이 원격 IP 및 원격 포트에 연결되어 있어야합니다 ... 각 시스템에서 ipconfig / ifconfig의 출력을 나열 할 수 있습니까?
projectdp

@projectdp ah 다시 찾았습니다. 그래서 결국 나는 당신에게 동의했지만 그것은 효과가 없었지만 분명히 그랬고 단지 그렇게했습니다. 나는 이것을 통해 테스트하기를 원했기 때문에 대답하지 않았다고 생각합니다. 불행히도 나는 쫓겨 났고 더 이상 기계가 없습니다. 나는 그들이 일반적으로 가장 이상한 네트워킹 이상을 일으킬 수 있다는 것을 알고 가상화 된 것으로 생각합니다 ...
n611x007

1

방법에 대한 NET SEND {name1 | * | /DOMAIN[:name] | /USERS} messageWindows 시스템에, 그리고 echo "message" | smbclient -M name2리눅스 상자? name1과 name2는 머신의 netbios 이름입니다.


조금 설명해주세요! 'NET SEND'명령은 일반적으로 '메신저'를 사용하여 메시지 전달에서 승리하기 위해 사용됩니다. Bash의 경우에도 이길 수 있습니까?
diffracteD

@diffracteD 테스트 할 Windows 시스템이 없습니다. 나는 "Bash to win"으로 가정한다. 리눅스에서 윈도우까지? 두 번째 예는 정확히 그렇게해야합니다.
noleti

0

Linux에서 Windows 명령을 실행할 수있는 흥미로운 도구가 있습니다 winexe. 이름은 입니다.

따라서 다음과 같이 입력하여 동일한 컴퓨터에서 콘솔로 메시지를 보낼 수 있습니다. winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

보시다시피 noleti의 대답은 훨씬 간단하지만 winexe를 사용하면 calc 또는 원하는 시스템에서 원하는 것을 열 수 있습니다. 우리는 이것을 Linux의 배치 스크립트에서 Windows 시스템에 무인 설치를 수행하는 데 사용했습니다. 꽤 시원하고 시간 절약 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.