Comment puis-je configurer netcat (ou un autre utilitaire Linux de stock) pour écouter sur un port spécifique sur une adresse IP secondaire?

15

CentOS 5.9

À des fins de test, je souhaite que mon serveur CentOS écoute sur une IP virtuelle secondaire (eth0: 0). Je connais nc -l -p <port>mais il n'écoute que sur le primaire. Existe-t-il un moyen de spécifier une adresse IP spécifique à utiliser par l'auditeur?

Sinon, existe-t-il un autre utilitaire "stock" dans CentOS 5.9 qui peut faire cela?

Mike B
la source

Réponses:

24

Pour moi, cette solution très simple fonctionne:

nc -l 192.168.2.1 3000

Et -pne fonctionne pas avec -l(selon ma page de manuel et les tests).

Hauke ​​Laging
la source
C'est exactement ce que dit la page de manuel.
Michael Hampton
@MichaelHampton Je ne sais pas si je comprends bien ce que vous voulez dire.
Hauke ​​Laging
1
Je pense que dans netcat-traditional, vous pouvez le faire-l -p
utilisateur
Cela signifie que vous obtiendrez beaucoup de votes positifs. :)
Michael Hampton
1
@MichaelHampton Je suppose que je prendrai encore un bon moment avant de comprendre les règles de pratique du vote. Si je regarde ce pour quoi je reçois des votes positifs (et pire encore: pourquoi pas!), Je pourrais pleurer. Mais il semble que la solution de ce gros problème me pousse au-dessus des 3000 points souhaités ... (J'ai remarqué que sur Unix et Linux, mon intérêt pour les représentants a beaucoup diminué après cela)
Hauke ​​Laging
4

Pour l'achèvement:

nc -l -p port -s ip

devrait aussi fonctionner. Fonctionne avec nc6 version 1.0 et netcat (GNU Netcat) 0.7.1.

La commande de Laging ne fonctionne pas avec nc6 (utilisé dans debian).

schlicht
la source
La seule façon dont je peux obtenir de spécifier l'interface d'écoute sur Ubuntu nc.
djule5
2
nc dit que vous ne pouvez pas utiliser à la fois -s et -l
SunSparc
1
@SunSparc mais c'est la seule façon de spécifier l'adresse IP locale et le port local en mode serveur - aucune autre combinaison d'options ne fonctionne ici (nc v1.10-38, debian)
Antony Hatchkins
Je pense que le problème pourrait être que les différentes versions de netcat se comportent différemment. Je n'arrive pas à obtenir une chaîne de version de la mienne, mais il y a au moins deux packages netcat-traditional vs netcat-openbsd. netcat -vvlp 4445 -s 172.17.0.1donne moi listening on [172.17.0.1] 4445 ...vs netcat -vvl 172.17.0.1 4445donne moi listening on [any] 36539 ...
relancez