C 在linux中,套接字创建函数在哪里实现

C 在linux中,套接字创建函数在哪里实现,c,linux,sockets,C,Linux,Sockets,我知道创建套接字的函数:intsocket(int域,int类型,int协议)位于#include中,我可以在我的linux文件系统中找到它 但是我在哪里可以找到这个函数的实现呢?我在中找不到匹配的源代码。查看真实的内核源代码。要知道这是其中的一个(您需要准确地理解它是什么),因此它在内核中实现为sys_socket和/或sys_socketcall和/或do_socket;套接字和网络代码是内核的一个完整的子系统(),因此请参见其等等。。。另见 应用程序用户端代码只是发出一个系统调用,围绕系统

我知道创建套接字的函数:
intsocket(int域,int类型,int协议)
位于
#include
中,我可以在我的linux文件系统中找到它

但是我在哪里可以找到这个函数的实现呢?我在中找不到匹配的源代码。

查看真实的内核源代码。要知道这是其中的一个(您需要准确地理解它是什么),因此它在内核中实现为
sys_socket
和/或
sys_socketcall
和/或
do_socket
;套接字和网络代码是内核的一个完整的子系统(),因此请参见其等等。。。另见

应用程序用户端代码只是发出一个系统调用,围绕系统调用的薄包装也是如此(在或您正在使用的任何实现中)。另请参见。

查看真实的内核源代码。要知道这是其中的一个(您需要准确地理解它是什么),因此它在内核中实现为
sys_socket
和/或
sys_socketcall
和/或
do_socket
;套接字和网络代码是内核的一个完整的子系统(),因此请参见其等等。。。另见


应用程序用户端代码只是发出一个系统调用,围绕系统调用的薄包装也是如此(在或您正在使用的任何实现中)。另请参见。

sys/socket.h
应位于
/usr/include
中。通常,它是“GNU C库”的一部分,但根据您的系统,它也可能是一个不同的C库(即,在不能调用GNU/Linux的系统上,如Android,可能会有不同于glibc的libc)


然而,这只是标题,而不是下面系统调用的实现!您必须查看glibc的源代码(通常未安装,只有标题),然后将在那里找到的内容与linux中的系统调用实现相匹配。

sys/socket.h
应位于
/usr/include
中。通常,它是“GNU C库”的一部分,但根据您的系统,它也可能是一个不同的C库(即,在不能调用GNU/Linux的系统上,如Android,可能会有不同于glibc的libc)


然而,这只是标题,而不是下面系统调用的实现!您必须查看glibc的源代码(通常未安装,只有标题),然后将您在那里找到的内容与linux中的系统调用实现相匹配。

如果您想检查socket创建的linux实现,您可以。可以查看

如果要检查套接字创建的linux实现,请执行以下操作。可以查看您想要的
socket()
函数定义吗?为什么要问?从什么角度(内核黑客攻击或用户登录应用程序代码)?您想要
socket()
函数定义?为什么要问?从什么角度来看(内核黑客攻击或用户陆地应用程序代码)?还要注意,您将在
libc中调用库函数。因此
依次调用系统调用。是的,包装函数。请注意,您将在
libc中调用库函数。因此
依次调用系统调用。是的,包装函数