Jump to content

    

matlab не отправляет arp-запрос

Добрый день!
Пытаюсь передавать данные через matlab между ПК (клиентом) и Ethernet -модулем(сервером), соответственно по Ethernet кабелю. Клиент должен отправлять arp-запрос модулю, но в сниффере видно, что никакие запросы со стороны Matlab не отправляются.

Клиент в матлабе выглядит так:

t = tcpip( 'localhost',50502, 'NetworkRole', 'client');
set(t, 'TimeOut',600);
fopen(t);
data = fread(t, 10);

Видимо, этого кода не достаточно и должно быть что-то ещё. Подскажите, пожалуйста, что я делаю не так, и как сделать чтобы matlab все же отправлял arp-запросы?

Share this post


Link to post
Share on other sites
10 минут назад, Faton_11 сказал:

и как сделать чтобы matlab все же отправлял arp-запросы?

Matlab ARP-запросы не отправляет никогда. Отправляет сетевой стек (в винде).

А на localhost даже винда отправлять не будет, потому что это локальный порт, на этом же самом компе. И снифер тут вообще не при делах.

Share this post


Link to post
Share on other sites
30 minutes ago, jcxz said:

Matlab ARP-запросы не отправляет никогда. Отправляет сетевой стек (в винде).

А на localhost даже винда отправлять не будет, потому что это локальный порт, на этом же самом компе. И снифер тут вообще не при делах.

спасибо за ответ! тогда немного предыстории: подключаю модуль wiznet 5500 на этапе "сервер слушает клиента", т.е. регистр Sn_SR (Socket n Status Register) находится в состоянии "SOCK_LISTEN". Теперь сокет ждет SYN-пакет от TCP-клиента. Если пакет будет успешно принят, регистр Sn_SR сменит состояние на "SOCK_ESTALBLISHED".  
Так вот, получается, модуль ждет SYN-пакет, а я не знаю каким образом его отправить, посредством чего, и можно ли будет проследить это в снифере? 

Share this post


Link to post
Share on other sites
1 час назад, Faton_11 сказал:

Так вот, получается, модуль ждет SYN-пакет, а я не знаю каким образом его отправить, посредством чего, и можно ли будет проследить это в снифере? 

Возьмите любую терминалку, умеющую TCP/IP, и подключитесь с помощью неё к IP-адресу/порту вашего девайса.

Хоть NetView  http://www.killprog.com

хоть "TCP/UDP Net Assistant" http://cmsoft.cn/reslink.php?id=277

хоть PuTTY.

...и ещё куча других.

Share this post


Link to post
Share on other sites
2 hours ago, Faton_11 said:

Видимо, этого кода не достаточно и должно быть что-то ещё. Подскажите, пожалуйста, что я делаю не так, и как сделать чтобы matlab все же отправлял arp-запросы?

Похоже взяли пример когда и сервер и клиент делаются на одном и том же компьютере в Mаtlab-е.

Для начала надо узнать какой IP адрес у вашего модуля  wiznet 5500  и записать его вместо   localhost , потом еще узнать на каком порту слушает модуль и записать этот номер вместо 50502.
Никаких терминалок не надо, Matlab удобнее любой терминалки. 
Даже если номер порта не узнаете или не угадаете все равно должен пройти ARP запрос. 
Если ARP запросов нет, значит не угадали IP адрес.

Share this post


Link to post
Share on other sites

спасибо за ответы!) 
для наглядности прикрепляю картинки. 
Модуль пингуется через командную строку

1_.thumb.jpg.b75d40744b6b9723c4fe6fd8c82d6fc7.jpg

, но команда Ping не проходит через другой терминал

3.thumb.jpg.326df2a9db344e775ce4d89bf93807a8.jpg

Ну и в матлабе соединение не устанавливается тоже

2_.thumb.jpg.b6dcb9a29dc3eb88281beeb633611bb3.jpg

 

Share this post


Link to post
Share on other sites

 

18 hours ago, jcxz said:

Файрволл? Роутер?

все отключено, антивирус тоже

Share this post


Link to post
Share on other sites
On 11/1/2019 at 7:30 PM, gosha-z said:

А Wireshark что говорит?

Теперь IP-адрес модуля 192.168.1.2 ,Порт 5000. IP-адрес ПК 192.168.1.100

 

После нажатия кнопки "Connect" в Hercules:

wireshark(Hercules).thumb.jpg.61d383d3ca223a6ee0373ce2e41422e9.jpg

 

После нажатия кнопки "Connect" в Matlab:

wireshark(Matlab).thumb.jpg.7a05c64adf1802e1feea3e1dcb7d0505.jpg

 

Edited by Faton_11

Share this post


Link to post
Share on other sites
1 час назад, Faton_11 сказал:

После нажатия кнопки "Connect" в Hercules:

Ну что - ну сбрасывает ваш девайс входящее подключение. Не принимает его. Вроде понятней некуда....

Видимо данный TCP-порт у него закрыт для входящих подключений. Или по какой другой причине.

Share this post


Link to post
Share on other sites
On 11/4/2019 at 3:20 PM, jcxz said:

Ну что - ну сбрасывает ваш девайс входящее подключение. Не принимает его. Вроде понятней некуда....

Видимо данный TCP-порт у него закрыт для входящих подключений. Или по какой другой причине.

да, теперь понятно. получилось,  спасибо! 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now