dữ liệu nối tiếp qua ethernet trên hộp linux


7

Tôi đang cố gắng kết nối một widget (192.168.1.214:20108) thông qua Ethernet (nối tiếp với Ethernet) với hộp Linux.

Trong Windows sử dụng ánh xạ trình điều khiển thiết bị ảo, tôi có thể thấy dữ liệu nối tiếp, vì vậy tôi biết tiện ích nối tiếp với Ethernet đang hoạt động.

Bây giờ khi tôi trỏ đến một hộp Linux, tất cả những gì tôi nhận được là một nỗ lực kết nối khi tôi sử dụng tcpdump:

21: 00: 07.322019 IP 192.168.1.214.20108> Development.local.8234: Cờ [R], seq 4096, thắng 0, dài 0

Vì vậy, các gói Ethernet đang thông qua nhưng tôi không thể tìm cách ánh xạ dữ liệu nối tiếp (qua cổng 8234 Ethernet) sang thiết bị. Nhiều biến thể socatkhông tạo ra bất kỳ dữ liệu nào trên màn hình, ví dụ:

$ sudo socat readline TCP-LISTEN:8234,bind=127.0.0.1

hoặc cố gắng liên kết nó với một dev:

$ socat -d -d -d tcp-l:127.0.0.1:8234,reuseaddr,fork file:/dev/tty0,nonblock,waitlock=/var/run/tty0.lock

điều này mang lại một đầu ra của:

2013/11/11 21:19:41 socat[23757] I setting option "so-reuseaddr" to 1
2013/11/11 21:19:41 socat[23757] I setting option "fork" to 1
2013/11/11 21:19:41 socat[23757] I socket(2, 1, 6) -> 3
2013/11/11 21:19:41 socat[23757] I starting accept loop
2013/11/11 21:19:41 socat[23757] N listening on AF=2 0.0.0.0:8234

Tôi hoàn toàn bế tắc về cách đọc dữ liệu nối tiếp này qua Ethernet trên hộp Linux.

Câu trả lời:


6

Nhìn qua Stackoverflow tôi thấy câu hỏi và trả lời này có tiêu đề: Chuyển đổi dữ liệu cổng nối tiếp sang TCP / IP trong môi trường linux . Cụ thể, một trong những câu trả lời cho câu hỏi đó đã nêu bật 2 công cụ nghe giống như những gì bạn đang tìm kiếm:

  • ser2net - Proxy nối tiếp với mạng (ser2net)

    ser2net cung cấp một cách để người dùng kết nối từ kết nối mạng với cổng nối tiếp. Tôi đã thử tất cả những cái khác mà tôi có thể tìm thấy và thấy chúng thiếu, vì vậy tôi đã tự viết. Nó cung cấp tất cả các thiết lập cổng nối tiếp, tệp cấu hình để định cấu hình các cổng, đăng nhập điều khiển để sửa đổi các tham số cổng, cổng giám sát và cổng điều khiển.

  • remtty - tty từ xa

    remtty (viết tắt của "remote tty") làm cho các kết nối TCP có sẵn dưới dạng giả ttys. Nó cho phép bạn sử dụng các máy chủ truy cập có quyền truy cập trực tiếp vào các modem (như Cisco NAS) như các modem quay số thông thường để fax, gửi sms hoặc truy cập BBS '. Nó cung cấp chức năng tương tự như Tiện ích quay số của Cisco, nhưng trên GNU / Linux thay vì Windows.

Bạn cũng có thể muốn xem tài liệu này thảo luận về cách sử dụng socatmà tôi mong đợi để có thể làm chính xác những gì bạn đang cố gắng làm.

đoạn trích của trang đó

- You have a host with some serial device like a modem or a bluetooth interface
(modem server)
- You want to make use of this device on a different host. (client)

1) on the modem server start a process that accepts network connections and
links them with the serial device /dev/tty0:

$ socat tcp-l:54321,reuseaddr,fork \
     file:/dev/tty0,nonblock,waitlock=/var/run/tty0.lock

2) on the client start a process that creates a pseudo tty and links it with a
tcp connection to the modem server:

$ socat pty,link=$HOME/dev/vmodem0,waitslave tcp:modem-server:54321

NETWORK CONNECTION

There a some choices if a simple TCPv4 connection does not meet your
requirements:
TCPv6: simply replace the "tcp-l" and "tcp" keywords with "tcp6-l" and "tcp6"
Socks: if a socks server protects the connection, you can replace the
"tcp:modem-server:54321" clause with something like
"socks:socks-server:modem-server:54321" or 
"socks:socks-server:modem-server:54321,socksport=1081,socksuser=nobody"

SECURITY

SSL
If you want to protect your server from misuse or your data from sniffing and
manipulation, use a SSL connection with client and server authentication
(currently only over TCPv4 without socks or proxy). 
See <a href="socat-openssl.txt">socat-openssl.txt</a> for instructions.

IP Addresses
!!! bind=...
!!! range=...
!!! lowport (for root)
!!! sourceport
!!! tcpwrap=

FULL FEATURES
$ socat -d -d ssl-l:54321,reuseaddr,cert=server.pem,cafile=client.crt,fork \
     file:/dev/tty0,nonblock,echo=0,raw,waitlock=/var/run/tty0.lock

TROUBLESHOOTING
-v -x
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.