Có cách nào để nhanh chóng liên kết với địa chỉ cổng TCP/ip và chỉ cần in ra tất cả thông tin tới STDOUT? Tôi có một giải pháp gỡ lỗi đơn giản để viết mọi thứ lên 127.0.0.1:4444 và tôi muốn có thể đơn giản ràng buộc một cổng từ bash và in mọi thứ đi qua. Có cách nào làm dễ hơn không?Máy chủ Socket đơn giản trong Bash?
Trả lời
$ nc -k -l 4444 > filename.out
thấy nc(1)
Bất kỳ cách nào để làm điều đó không yêu cầu nó chạy trong một vòng lặp, tức là ràng buộc cho đến khi bị giết? Tôi liên tục kết nối và ngắt kết nối với socket và 'nc' chết nếu tôi không chạy nó như sau:' while true; do nc -l 4444; done'. –
Thêm tùy chọn '-k'. –
Trên một số bản phân phối, bạn cần thay đổi nó thành 'nc -k -l -p 4444'. –
Chỉ vì bạn hỏi làm thế nào để làm điều đó trong bash
, mặc dù netcat
Câu trả lời là rất có giá trị:
$ exec 3<>/dev/tcp/127.0.0.1/4444
$ cat <&3
Nhưng điều đó không hiệu quả khi nghe. Tôi không nghĩ rằng nó có thể lắng nghe bằng cách sử dụng đúng bash – Vijayender
Giải pháp này thực sự đòi hỏi một máy chủ lắng nghe. Bash không thể làm điều này bằng phương tiện '/ dev/tcp' như được giải thích trong http://unix.stackexchange.com/a/49947/13746 – xebeche
Nghe? Đó là điều xinetd dành cho! : D – Evi1M4chine
Đó là làm việc như bạn mong đợi:
nc -k -l 4444 |bash
và sau đó bạn
echo "ls" >/dev/tcp/127.0.0.1/4444
thì bạn sẽ thấy danh sách được thực hiện bởi bash.
[A Cảnh báo an ninh Giới thiệu tóm tắt]
Tất nhiên nếu bạn để lại một điều như thế này chạy trên máy tính của bạn, bạn có một cửa ngõ rộng mở cho tất cả các loại tấn công vì các lệnh có thể được gửi từ bất kỳ tài khoản người dùng trên bất kỳ lưu trữ trong mạng của bạn. Điều này thực hiện không có bảo mật (xác thực, nhận dạng) bất cứ điều gì và gửi tất cả các lệnh truyền không được mã hóa qua mạng, vì vậy nó rất dễ bị lạm dụng.
Thêm một câu trả lời bằng ncat
rằng @Freedom_Ben ám chỉ:
ncat -k -l 127.0.0.1 4444
và giải thích về lựa chọn từ người đàn ông ncat:
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections
'ncat' đi kèm với' nmap' và hỗ trợ các kết nối đồng thời, trong khi lệnh 'nc' kế thừa thì không. –
- 1. Máy chủ HTTPS đơn giản với Java/Socket?
- 2. nusoap đơn giản máy chủ
- 3. Máy chủ http đơn giản
- 4. Máy chủ web đơn giản trong C++?
- 5. socket đơn giản với php và delphi?
- 6. Máy chủ socket TCP nhị phân đơn giản và nhanh chóng không đồng bộ?
- 7. Viết một máy chủ web đơn giản trong Ruby
- 8. Máy chủ HTTPS Java đơn giản
- 9. lib Máy chủ HTTP đơn giản
- 10. Máy chủ hình ảnh đơn giản
- 11. Máy chủ SMTP cục bộ đơn giản
- 12. Triển khai mã máy chủ đơn giản cho Heroku
- 13. Thư viện máy chủ AtomPub đơn giản
- 14. Erlang Vấn đề máy chủ đơn giản
- 15. Viết một máy chủ email đơn giản
- 16. một máy chủ smtp đơn giản
- 17. Máy chủ DNS rất đơn giản
- 18. Máy chủ Ổ cắm SSL Đơn giản của Python
- 19. Mã đơn giản cho Máy chủ FTP trong python
- 20. Đóng máy chủ socket trên socket.io?
- 21. Lập trình Socket nhiều máy khách một máy chủ
- 22. Máy chủ/khung công tác độc lập Java đơn giản?
- 23. Có thể chạy một máy chủ socket và máy khách socket trên cùng một máy không?
- 24. Máy chủ REST JSON Java đơn giản GAE
- 25. Máy chủ Web đơn giản và khung MVC cho Java
- 26. Máy chủ web Python đơn giản để lưu tệp
- 27. C# Cách tạo một máy chủ UDP đơn giản
- 28. Giám sát máy chủ đơn giản với Java
- 29. giao tiếp máy chủ khách hàng đơn giản giữa java và php
- 30. Máy chủ Socket trong Javascript (trong trình duyệt)?
liên quan http://unix.stackexchange.com/questions/49936/dev-tcp-listen-thay-of-nc-listen –