Netcat di Mac OS X

31

Apakah ada orang lain yang tidak dapat nc -lp 8888bekerja di Mac OS X? Apakah ada cara lain untuk membuatnya bekerja?

kzh
sumber
Bagaimana cara kerjanya? Apakah ini mengembalikan kesalahan?
heavyd
Saya tidak dekat mac sekarang, tetapi mengembalikan penggunaannya. nc -lp 8888bekerja di kotak Ubuntu saya.
kzh
Belum pernah mendengar hal ini sampai membaca buku tentang Docker. Mereka juga menyebutkan sesuatu yang disebut socat, yang konon perintah ini pada steriod. Info lebih lanjut di sini stackoverflow.com/questions/16808543/install-socat-on-mac dan di sini linux.die.net/man/1/socat dan di sini youtube.com/watch?v=ZnwZA1GRqkw
JGFMK

Jawaban:

35

Tampaknya bagi saya seolah-olah -popsi tidak melakukan apa-apa pada versi Netcat OS X. Untuk membuatnya bekerja, saya harus melakukannya nc -l localhost 8888.

kzh
sumber
7
Kecuali diinstal dari homebrew, maka nc -l -p 8888berfungsi.
user1338062
2
Dari man nc: -l ... It is an error to use this option in conjunction with the -p, -s, or -z options. ... Anda mungkin ingin tetap menggunakan perintah @ kzh di sana
fatuhoku
@fatuhoku Saya baru saja memeriksa manual saya, dan yest itu mengatakan bahwa di sana, tetapi yang aneh adalah bahwa jika saya melakukannya nc -lp 8888atau nc -l -p 8888kemudian akan -pberarti mendengarkan port. Jadi salinan saya yang didistribusikan tidak mendengarkan manualnya sendiri!
kzh
Sepakat! Bendera agak terlalu ekspresif ... seharusnya hanya menolak untuk melakukan pekerjaan yang bermanfaat, mengeluarkan pesan dan berhenti!
fatuhoku
Bekerja juga dengan nc -l 8888
polym
13

Inilah cara kerjanya bagi saya di OS X 10.10, dengan versi BSD yang terinstal, atau yang dari Homebrew:

Versi BSD

Saat menggunakan versi BSD yang dikirimkan dengan OS X, server dapat dimulai seperti ini

/usr/bin/nc -l 9999

Homebrew

  • Instal menggunakan Homebrew: brew install netcat
  • Ini akan menginstal v0.7.1 dari http://netcat.sourceforge.net/
  • Seseorang dapat menggunakan perintah ncatau netcat. ncadalah alias untuk netcat.

Untuk memulai server:

nc -l -p 9999

Untuk memulai klien:

nc targethost 9999

Untuk mendapatkan halaman manual dari versi ini, seseorang perlu menggunakan man netcat, karena man ncakan membuka halaman manual dari versi BSD.

nwinkler
sumber
3

nc di MacOS memiliki terlalu banyak bug, dan Apple tidak melakukan patch selama bertahun-tahun. netcat dari homebrew adalah versi yang sangat rendah. gunakan ncat dari nmap sebagai gantinya

JZ
sumber
2

Saya perlu menguji layanan web melalui SSL, yang ncat (dibuat oleh tim nmap) mendukung.

brew install nmap
ncat -C --ssl api.somecompany.com 443

https://nmap.org/ncat/

Colin
sumber