Bagaimana saya bisa mengkonfigurasi netcat (atau beberapa utilitas linux saham lainnya) untuk mendengarkan pada port tertentu pada alamat IP sekunder?

15

CentOS 5.9

Untuk tujuan pengujian, saya ingin server CentOS saya mendengarkan pada IP virtual sekunder (eth0: 0). Saya kenal nc -l -p <port>tetapi hanya mendengarkan pada yang utama. Apakah ada cara saya bisa menentukan IP tertentu untuk digunakan pendengar?

Jika tidak, apakah ada utilitas "stok" lain di CentOS 5.9 yang dapat melakukan ini?

Mike B
sumber

Jawaban:

24

Bagi saya solusi yang sangat sederhana ini berfungsi:

nc -l 192.168.2.1 3000

Dan -ptidak bekerja dengan -l(menurut halaman manual dan pengujian saya).

Hauke ​​Laging
sumber
Ini persis seperti yang dikatakan halaman manual.
Michael Hampton
@MichaelHampton Saya tidak yakin apakah saya mengerti dengan benar apa yang Anda maksud.
Hauke ​​Laging
1
Saya pikir dalam netcat-tradisional yang dapat Anda lakukan-l -p
pengguna
Itu berarti Anda akan mendapatkan banyak upvotes. :)
Michael Hampton
1
@MichaelHampton Saya kira saya akan membutuhkan waktu cukup lama sampai saya mengerti aturan praktik upvoting. Jika saya melihat apa yang saya dapatkan (dan jauh lebih buruk: Untuk apa!) Maka saya bisa menangis. Tapi sepertinya solusi masalah besar ini menendang saya di atas 3.000 poin yang diinginkan ... (Saya perhatikan bahwa di Unix & Linux ketertarikan saya pada rep turun banyak setelah itu)
Hauke ​​Laging
4

Untuk penyelesaian:

nc -l -p port -s ip

harus bekerja juga. Bekerja dengan nc6 versi 1.0 dan netcat (The GNU Netcat) 0.7.1.

Perintah dari Laging tidak bekerja dengan nc6 (digunakan dalam debian).

schlicht
sumber
Satu-satunya cara saya bisa menentukan antarmuka mendengarkan di Ubuntu nc.
djule5
2
nc mengatakan bahwa Anda tidak dapat menggunakan keduanya -s dan -l bersama
SunSparc
1
@SunSparc namun ini adalah satu-satunya cara bagi saya untuk menentukan ip lokal dan port lokal dalam mode server - tidak ada kombinasi opsi lain yang bekerja di sini (nc v1.10-38, debian)
Antony Hatchkins
Saya pikir masalahnya adalah versi netcat yang berbeda berperilaku berbeda. Saya sepertinya tidak bisa mendapatkan versi string dari milik saya, tetapi setidaknya ada dua paket netcat-tradisional vs netcat-openbsd. netcat -vvlp 4445 -s 172.17.0.1Give Me listening on [172.17.0.1] 4445 ...vs netcat -vvl 172.17.0.1 4445listening on [any] 36539 ...
Give