LinuxForum.Fans
Тема

Не работает соединение через netcat

Автор: vohulg 10 сообщений 3010 просмотров
#320619

Доброго дня.
Тестирую работу утилиты netcat. Для этого создал две виртуальные машины на vmvare с OC Opensuse c адресами 192.168.0.1 и 192.168.0.2. Обе машины видят друг друга, ping проходит.
На 192.168.0.1 запускаю: cat ./file.out | nc -l 3333.
На 192.168.0.2 запускаю: nc 192.168.0.1 3333 > file.in
В итоге файл не передается, а на машине 192.168.0.1 выводится:

[2543.041146] SFW2-INEXT-DROP-DEFLT IN=eth0 OUT= MAC=00:0c:29:b7:09:b5 SRC=192.168.0.2 DST=192.168.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=62472 DF PROTO=TCP SPT=48251 DPT=3333 WINDOW=14600 RES=0x00 SYN URGP=0 OPT (020405B40402080A0500000000001030306)

Подозрение что где-то что-то криво работает при соединении машин. Но как это выявить не пойму ?
Подскажите в чем может быть проблема ?

#320629

На 192.168.0.1: cat ./file.out | nc -l -p 3333.
На 192.168.0.2: nc 192.168.0.1 3333 > file.in

#320633

при команде cat ./file.out | nc -l -p 3333 netcat вообще не работает, в man так и написано, что совместное использование -l и -p является ошибкой.

#320635
"vohulg⇓" написал:
nc -l -p 3333

Только что проверил эту команду всё норм запускается и порт слушается.

#320636
"vohulg⇓" написал:
при команде cat ./file.out | nc -l -p 3333 netcat вообще не работает

это как-так «вообще не работает»?

"vohulg⇓" написал:
в man так и написано, что совместное использование -l и -p является ошибкой.

какой у тебя netcat? у меня — самый ламповый... в нём именно так надо...
да... и ссылку на ман, в котором это написано в студию....

#320658

в некоторых реализациях netcat номер порта для прослушивания задаётся через -l, а ключ -p отсутствует, в частности сборка из пакета OpenBSD. У меня такая сборка. идет вместе с opensuse последней версии. Так что ошибка не в ключе -p.

#320710

Я не понял. У вас Open SUSE, а вы ставите пакет из OpenBSD. А как вы его конвертировали в rpm. Что нельзя установить netcat из офф репозитория Open SUSE.

#320724

nc -h
OpenBSD netcat (SUSE Linux)
This is nc from netcat-openbsd package/ An alternative nc is available in the netcat-traditional package

То есть этот пакет идет в репозитарии Opensuse и ставится он по умолчанию. Других пакетов nc в репозитарии нет.

Получается что порт на сервере слушается, но данные передаются в непонятном виде, и пакеты не дропаются.

#320726

В общем что-то с соединением мне кажется не так. Если запускать nc на одной машине - в одном терминале как сервер (nc -l 2389), а на другом терминале как клиент (nc localhost 2389), то все работает. А если с разных машин то не работает.

Настройки машин такие сделал:

сервер 192.168.1.1 маска 255.255.255.0
клиент 192.168.1.2 маска 255.255.255.0

Может сетевые настройки надо как то изменить ?

После сеанса передаси через nc между двумя машинами в ifconfig eth0 выводит:
RX packets: 54 errors:0 dropped:0 overruns:0 frame:0
TX packets: 49 errors:0 dropped:0 overruns:0 frame:0

То есть пакеты приходят, но почему они в таком виде:

[2543.041146] SFW2-INEXT-DROP-DEFLT IN=eth0 OUT= MAC=00:0c:29:b7:09:b5 SRC=192.168.0.2 DST=192.168.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=62472 DF PROTO=TCP SPT=48251 DPT=3333 WINDOW=14600 RES=0x00 SYN URGP=0 OPT (020405B40402080A0500000000001030306)

#320730

нашел проблему - брандмауэр

Войдите или зарегистрируйтесь, чтобы ответить.