刚学linux网络编程,有个问题,listen( )函数可以用来监听其他主机的端口吗?

All_BIue 2016-04-07 10:39:29
比如我想用listen函数监听一个局域网内的其他主机的端口,这样可行吗?
...全文
300 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxingway 2016-04-15
  • 打赏
  • 举报
回复
引用 8 楼 lgbxyz 的回复:
应该是只能监听你网卡上有的IP地址,一个网卡可以设置多个IP
多个网卡也行
图灵转世 2016-04-12
  • 打赏
  • 举报
回复
listen只能用在本机。
LubinLew 2016-04-12
  • 打赏
  • 举报
回复
应该是只能监听你网卡上有的IP地址,一个网卡可以设置多个IP
nswcfd 2016-04-11
  • 打赏
  • 举报
回复
老一点的书,比如unix网络编程、tcp/ip详解等。
nswcfd 2016-04-11
  • 打赏
  • 举报
回复
这个需要一些网络知识和内核知识(尤其是内核协议栈的实现)。 关于socket编程的书有很多,不过现在的趋势都是利用现成的io框架,不直接跟socket打交道。
nswcfd 2016-04-07
  • 打赏
  • 举报
回复
一般不行,除非使用tproxy补丁(好像已经进入主版本内核了),前提是其它机器的流量也得经过这台设备。
All_BIue 2016-04-07
  • 打赏
  • 举报
回复
引用 1 楼 nswcfd 的回复:
一般不行,除非使用tproxy补丁(好像已经进入主版本内核了),前提是其它机器的流量也得经过这台设备。
我试了试用虚拟机监听主机的端口,发现不行。就想知道listen是怎么工作的,知道IP地址跟端口不就应该可以访问吗,就像 aceept()函数一样,有没有什么书可以介绍的详细点的,求推荐
All_BIue 2016-04-07
  • 打赏
  • 举报
回复
引用 3 楼 alinly 的回复:
比如我想用listen函数监听一个局域网内的其他主机的端口,这样可行吗? 我觉得找个问题模糊啊, 局域网,如果传输走 的可能是mac,可能经过gateway, 其它主机可能有防火墙,可能不让你监听. 或者你说的是 交换机的流量做镜像?
就比方说在同一网段,比如虚拟机跟主机之间
alinly 2016-04-07
  • 打赏
  • 举报
回复
比如我想用listen函数监听一个局域网内的其他主机的端口,这样可行吗? 我觉得找个问题模糊啊, 局域网,如果传输走 的可能是mac,可能经过gateway, 其它主机可能有防火墙,可能不让你监听. 或者你说的是 交换机的流量做镜像?
leetow2006 2016-04-07
  • 打赏
  • 举报
回复
listen函数返回的套接字是被动套接字,只能用于接受连接。你这个可能还是要用抓包程序

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧