เขียนข้อความระหว่าง Unix และ Windows


10

เป็นไปได้ไหมที่จะส่งข้อความระหว่างผู้ใช้สองคนใน LAN เดียวกัน แต่เป็น Windows แรกที่รันด้วย cmd และ Linux / Unix ตัวที่สอง?

ฉันไม่ได้มองหาบริการส่งข้อความด่วน ฉันต้องการที่จะพิมพ์ในเปลือก Linux สิ่งที่ชอบ

write user@192.168.x.x:port message

เพื่อให้ผู้ใช้ Windows สามารถอ่านข้อความในหน้าต่าง cmd message; จากนั้นผู้ใช้ Windows ควรจะสามารถตอบกลับด้วยคำสั่งอื่น เป็นไปได้ไหม?

ฉันได้อ่านเกี่ยวกับmsgคำสั่งWindows แล้วแต่มันไม่ทำงานในทุกเวอร์ชั่นของระบบปฏิบัติการ มีอะไรอีกไหม?

แทนที่จะเป็น PuTTY ฉันต้องการใช้เชลล์ Linux และ Windows cmd


นั่นคือบริการส่งข้อความแบบทันทีแม้ว่าจะรวมอยู่ในเทอร์มินัล
Pavel Šimerda

คำตอบ:


5

บน Unix: nc -l 192.168.1.10 32849

บน Windows: telnet 192.168.1.10 32849

โดยที่ 32849 เป็นพอร์ตที่อนุญาตให้ใช้ในกฎไฟร์วอลล์และ IP เป็น IP ที่รับฟังของเครื่อง Unix ncคือยูทิลิตี netcat


ความคิดที่ดี! บนwindows7 x64ฉันจำเป็นต้องติดตั้งไคลเอ็นต์ telnet "คุณสมบัติ windows" ความคิดที่จะทำ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

ฉันต้องใช้-pเหมือนในnc -l 192.168.1.10 -p 32849ขอบคุณJohnMurhy !
n611x007

ฉันต้องใช้ IP ที่แตกต่างกันในสองคำสั่ง (IP ของเครื่องอื่น ๆ ในแต่ละด้าน)
n611x007

ฉันทดสอบอีกครั้งหลังจากความคิดเห็นใหม่เหล่านี้ฉันไม่ต้องการแฟล็ก -p โดยใช้คำสั่ง [ฟรี] BSD nc ฉันได้รับ "wolf% sudo nc -l 10.0.0.1 -p 8888 nc: ไม่สามารถใช้ -p และ -l " ฉันยังละเลยที่จะพูดถึงว่าคุณจำเป็นต้องเข้าถึง superuser เพื่อผูกเข้ากับพอร์ตโดยพลการ ฉันไม่รู้ว่าทำไม naxa จึงต้องการ IP ที่แตกต่างกันหรือแม้กระทั่งว่ามันเป็นไปได้อย่างไรที่มันทำงานได้มันไม่ควรทำงาน นี่เป็นเพราะแฟล็ก -l หมายความว่ากำลังฟังอยู่ภายในเครื่องบน * nix IP และพอร์ตผสม ไม่มีส่วนเกี่ยวข้องกับ IP ของเครื่อง Windows Telnet ทำหน้าที่เป็นลูกค้าในสถานการณ์นี้
projectdp

3

ความคิดจากprojectdpคำตอบ 's: netcat บน linux ให้บริการ Telnet บนชนะ จำเป็นต้องมี-pและที่อยู่ IP ที่แตกต่างกันในทั้งสองเครื่องอย่างไรก็ตาม:

  • ใน Linux: netcat -l 10.0.0.2 -p 14415- ถ้าwindowsของคุณใช้ 10.0.0.2

  • ใน Windows: telnet 10.0.0.1 14415- หากlinuxของคุณเป็น 10.0.0.1

  • จะเลิกกด Telnet ^]ซึ่งหมายความCtrl+ แล้วพิมพ์]q

  • หากต้องการเลือกพอร์ตโดยพลการของคุณเช่น14415โต๊ะที่มีประโยชน์ที่เดวิด Vereb

อย่างไรก็ตามใน win7 x64 ฉันต้องเปิดใช้งาน telnet ก่อนเรื่องสั้นสั้น ๆ :

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

  • ปัญหาในความพยายามเริ่มแรกคือpkgmgrพยายามใช้ 32- บิตdismและส่งเสียงสำหรับ 64- บิต ฉันมีsysnativeความคิดจากออสมัน Shener

  • c:\windows\sysnative\telnet.exeจะติดตั้งไป ฉันใส่ในตัวแปรสภาพแวดล้อมของเส้นทางด้วยc:\windows\sysnativesysdm.cpl

  • หากคุณมี DeVuan หรือ Ubuntu สำหรับ Linux sudo apt-get install netcat-traditional

การสนทนาดูเหมือนว่า:

devuan-netcat win7-Telnet


สวัสดี naxa ฉันสับสนเล็กน้อยจากการทดสอบของคุณที่นี่คุณจะเปิดซ็อกเก็ตการฟังบน linux โดยใช้ IP ของโฮสต์ windows ได้อย่างไร คุณยังไม่ได้ฟังสำหรับหน้าต่างโฮสต์ IP คุณกำลังฟังเพลงบนโฮสต์ลินุกซ์ IP และพอร์ต เมื่อคุณใช้ telnet จาก windows host คุณกำลังทำหน้าที่เป็นไคลเอนต์ที่เข้าร่วมกับ socket ฟังก์ชั่นและ IP ของเครื่อง linux ฉันจะต้องทดสอบด้วยวิธีการของคุณ
projectdp

Naxa ฉันพยายามแล้วและฉันไม่รู้ว่าคุณจะเชื่อมต่อเครื่องทั้งสองได้อย่างไร nc ควรฟังที่อยู่ IP ในเครื่องและพอร์ตในเครื่อง telnet ควรเชื่อมต่อกับรีโมตไอพีและรีโมตพอร์ต ... คุณสามารถแสดงรายการเอาต์พุตของ ipconfig / ifconfig ของคุณในแต่ละเครื่องได้หรือไม่?
projectdp

@projectdp ah ฉันพบสิ่งนี้อีกครั้ง ดังนั้นในที่สุดฉันก็เห็นด้วยกับคุณมันไม่ควรที่จะได้ทำงาน แต่เห็นได้ชัดว่ามันทำและมันก็เป็นแบบนี้เท่านั้น ฉันคิดว่าฉันไม่ตอบเพราะฉันต้องการทดสอบผ่านสิ่งนี้ น่าเสียดายที่ฉันถูกพาไปและฉันก็ไม่มีเครื่องจักรอีกต่อไป ฉันคิดว่าพวกเขาถูกจำลองเสมือนซึ่งฉันรู้ว่าสามารถทำให้เกิดความผิดปกติของเครือข่ายที่แปลกประหลาดที่สุดโดยทั่วไป ...
n611x007

1

วิธีการเกี่ยวกับNET SEND {name1 | * | /DOMAIN[:name] | /USERS} messageเครื่อง windows และecho "message" | smbclient -M name2ในกล่อง linux? name1 และ name2 เป็นชื่อ netbios ของเครื่อง


โปรดอธิบายหน่อย! โดยทั่วไปคำสั่ง 'NET SEND' ใช้สำหรับการชนะเพื่อรับข้อความที่ส่งผ่านโดยใช้ 'messenger' เป็นไปได้ไหมที่จะใช้ในกรณีที่ Bash ชนะด้วย?
กระจาย

@diffracteD ฉันไม่มีเครื่อง windows ที่จะทดสอบ ฉันถือว่าด้วย "Bash to win" คุณหมายถึง linux ไปยัง windows ใช่ไหม ตัวอย่างที่สองของฉันควรทำอย่างนั้น
noleti

0

winexeมีเครื่องมือที่น่าสนใจซึ่งช่วยให้คุณรันคำสั่งจากหน้าต่างลินุกซ์มีชื่อเป็น

ดังนั้นคุณสามารถส่งข้อความจากเครื่องเดียวกันไปยังคอนโซลเพียงพิมพ์: winexe -U domain/user%password --interactive=1 //WindowsMachine "msg console \"Your message goes here.\""

อย่างที่คุณเห็นคำตอบของ noleti นั้นง่ายกว่ามาก แต่ด้วย winexe คุณสามารถเปิดเครื่องคำนวณหรืออะไรก็ได้ที่คุณต้องการในเครื่องนั้น เราใช้มันเพื่อทำการติดตั้งแบบอัตโนมัติในเครื่อง Windows จากชุดสคริปต์ใน Linux สวยเท่ห์และประหยัดเวลา ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.