socket 监听端口,该怎么处理
socket 监听端口
最近正在学socket,自己也试着用tcp和udp发送和接受过数据(在本机上:127.0.0.1)
今天突发奇想,看能不能做个监听自己电脑端口的小程序出来:
比如,我想看80端口的正在接受的tcp数据包 类似这样的功能
我知道有一些nx的抓包工具 不过我的目的不是抓包 而是练习socket编程 能随便监听个端口,看看某个时刻接受到了从哪个ip发过来的tcp数据包就可以了
我一开始的做法就像用socket实现tcp的服务器端那样,新建一个socket,然后bind80端口,然后开始listen
但是什么也接受不到-----80端口是http协议的端口,所以我觉得只要我在浏览网页就应该有数据包从80端口进来吧 但是我什么都没收到-------我觉得应该是协议不一样的原因,浏览网页用的是http协议,而我这里实现的是tcp协议
如果我的理解无误的话,我想问一下能不能用socket去listen和recv http协议的数据包呢?
可以实现吗??
求高手指点下,给个思路~~~谢谢了~~
------解决思路----------------------
抓包工具是做在更下一层的,比如hook或者通过嗅探接口开发
你浏览网页是连人家服务器的80端口,跟你自己的80没半毛钱关系
http是tcp的上层协议
你可以使用socket收发http数据。
最近正在学socket,自己也试着用tcp和udp发送和接受过数据(在本机上:127.0.0.1)
今天突发奇想,看能不能做个监听自己电脑端口的小程序出来:
比如,我想看80端口的正在接受的tcp数据包 类似这样的功能
我知道有一些nx的抓包工具 不过我的目的不是抓包 而是练习socket编程 能随便监听个端口,看看某个时刻接受到了从哪个ip发过来的tcp数据包就可以了
我一开始的做法就像用socket实现tcp的服务器端那样,新建一个socket,然后bind80端口,然后开始listen
但是什么也接受不到-----80端口是http协议的端口,所以我觉得只要我在浏览网页就应该有数据包从80端口进来吧 但是我什么都没收到-------我觉得应该是协议不一样的原因,浏览网页用的是http协议,而我这里实现的是tcp协议
如果我的理解无误的话,我想问一下能不能用socket去listen和recv http协议的数据包呢?
可以实现吗??
求高手指点下,给个思路~~~谢谢了~~
------解决思路----------------------
抓包工具是做在更下一层的,比如hook或者通过嗅探接口开发
你浏览网页是连人家服务器的80端口,跟你自己的80没半毛钱关系
http是tcp的上层协议
你可以使用socket收发http数据。