请问什么是套接字呢?谁能给我个容易理解的解释呀!

时间:2021-05-20 11:04:31
我总能听见套接字这个概念,请问什么是套接字呢?还有SOCKET到底是怎么回事呢?

13 个解决方案

#1


套接字就是socket的一种翻译,
还有翻成插口的。
socket和相关的函数什么的,
是通过编程使用tcp/ip协议的接口,
是个编程接口。
要想理解不是几十个字可以解决问题的,
看些书,写点小程序吧。

#2


楼上的好快啊

#3


请问可以这样理解么?:
socke和套接字是一个意思只不过是中文和英文的说法。
socke是TCP/IP的编程接口。也就是说socke是一个接口
我这样理解对吧

#4


我还想问问怎么样能截获数据包呢?
能给我通俗的讲一讲么?谢谢!
分不够的话我可以再给

#5


你要单指socket的话,
是个结构体。
从编程来看,
SOCKET socket(
  int af,       
  int type,     
  int protocol  
);
如果是socket编程的话,
socket编程是干什么?通过socket这个编程接口来使用
低层协议(比如tcp/ip)进行通信。

#6


你如果是想使用截获数据包的话,
sniffer,嗅探器,比如commview,iris,等等很多。
下载一个用就可以了,要对协议有点了解。

如果要自己实现的话,找源码,找文章吧。

#7


socket 是访问网卡的一些API,是对NETBIOS的一个高层封装
启动一个Socket就可以在网卡上的某一个端口上和其它机器(或本机IP=127.0.0.1)
现有的几乎所有的网络通讯都是由Socket实现的( 除了少数用NETBIOS的)
像网络邻居,http,ftp,ssh等等都是

截获数据包只要知道目标程序(比如说冰河客户端---它要接收服务器端的数据包)
所用的端口,然后你把这个目标程序关掉,用自己的程序来绑定这个端口就可以了
编程很容易实现两个程序的绑定切换,难度在于数据包都加密了怎么破解就看你自个了呵呵

#8


对楼上很多观点不同意,
socket离网卡还比较远,截获数据包完全不是你说那样
...或者说楼上最好不要乱说。

是socket编程,
socket(),connect(),ioctlsocket()等等,
是使用下面的协议的接口,网络编程接口。
你可不要误会是socket。

三言两语说不完,你得看点书,写点小程序。

#9


简单点
SOCKET 就是一种网络接口而已
提供一种与协议无关的接口

#10


to imquestion(古时候,有个人叫范蠡...) 

我只是从另外一个角度来谈socket
从本质上说,API都是用于访问硬件的一些函数,无论是高层的还是低层的
socket是很高层的,它是通过对NETBIOS的封装来对网卡进行访问

至于TCP/IP只不过是网络传输的标准而已,socket是符合这个标准,但不是所谓的对TCP/IP的接口,在这个问题上很多人都有误解

截获数据包(本地)的原理就是在某一个端口上进行数据偷听,像防火墙就是这样做的,估计这位朋友说的是中途截取吧

#11


请问谁有关于套接字的C#程序呀?能不能给我发一个呢?我很想看看是怎么通过程序实现的!最好是能实现一些简单的功能的谢谢了,一定给分,不过可以多给
我的:zhui0820@163.com

#12


cboy2wzhx(君子好球) 这位哥们说的大错特错

#13


套接字就是你要往那个口上插的时候用的东西,也叫网络插口,就是一个萝卜一个坑。

#1


套接字就是socket的一种翻译,
还有翻成插口的。
socket和相关的函数什么的,
是通过编程使用tcp/ip协议的接口,
是个编程接口。
要想理解不是几十个字可以解决问题的,
看些书,写点小程序吧。

#2


楼上的好快啊

#3


请问可以这样理解么?:
socke和套接字是一个意思只不过是中文和英文的说法。
socke是TCP/IP的编程接口。也就是说socke是一个接口
我这样理解对吧

#4


我还想问问怎么样能截获数据包呢?
能给我通俗的讲一讲么?谢谢!
分不够的话我可以再给

#5


你要单指socket的话,
是个结构体。
从编程来看,
SOCKET socket(
  int af,       
  int type,     
  int protocol  
);
如果是socket编程的话,
socket编程是干什么?通过socket这个编程接口来使用
低层协议(比如tcp/ip)进行通信。

#6


你如果是想使用截获数据包的话,
sniffer,嗅探器,比如commview,iris,等等很多。
下载一个用就可以了,要对协议有点了解。

如果要自己实现的话,找源码,找文章吧。

#7


socket 是访问网卡的一些API,是对NETBIOS的一个高层封装
启动一个Socket就可以在网卡上的某一个端口上和其它机器(或本机IP=127.0.0.1)
现有的几乎所有的网络通讯都是由Socket实现的( 除了少数用NETBIOS的)
像网络邻居,http,ftp,ssh等等都是

截获数据包只要知道目标程序(比如说冰河客户端---它要接收服务器端的数据包)
所用的端口,然后你把这个目标程序关掉,用自己的程序来绑定这个端口就可以了
编程很容易实现两个程序的绑定切换,难度在于数据包都加密了怎么破解就看你自个了呵呵

#8


对楼上很多观点不同意,
socket离网卡还比较远,截获数据包完全不是你说那样
...或者说楼上最好不要乱说。

是socket编程,
socket(),connect(),ioctlsocket()等等,
是使用下面的协议的接口,网络编程接口。
你可不要误会是socket。

三言两语说不完,你得看点书,写点小程序。

#9


简单点
SOCKET 就是一种网络接口而已
提供一种与协议无关的接口

#10


to imquestion(古时候,有个人叫范蠡...) 

我只是从另外一个角度来谈socket
从本质上说,API都是用于访问硬件的一些函数,无论是高层的还是低层的
socket是很高层的,它是通过对NETBIOS的封装来对网卡进行访问

至于TCP/IP只不过是网络传输的标准而已,socket是符合这个标准,但不是所谓的对TCP/IP的接口,在这个问题上很多人都有误解

截获数据包(本地)的原理就是在某一个端口上进行数据偷听,像防火墙就是这样做的,估计这位朋友说的是中途截取吧

#11


请问谁有关于套接字的C#程序呀?能不能给我发一个呢?我很想看看是怎么通过程序实现的!最好是能实现一些简单的功能的谢谢了,一定给分,不过可以多给
我的:zhui0820@163.com

#12


cboy2wzhx(君子好球) 这位哥们说的大错特错

#13


套接字就是你要往那个口上插的时候用的东西,也叫网络插口,就是一个萝卜一个坑。