C原始套接字发送HTTP请求

C原始套接字发送HTTP请求,c,raw-sockets,C,Raw Sockets,我有个问题。所以我试图完成的是发送和HTTP请求。我已经查看了原始套接字等,但我看不出如何发送HTTP请求,在该请求中我可以设置源地址/端口等。谢谢 如果您计划使用SOCK_RAW,那么您必须创建自己的IP头并通过该头实现TCP,以便与HTTP服务器通信。这将涉及大量工作,处理TCP所需的所有窗口、拥塞控制、重传等。在PF\u INETsocket上使用SOCK\u流会更容易,并且使用操作系统提供的TCP实现。您有代码吗?你试过什么吗?另外,正如jxh所提到的,你真的是指SOCK_RAW,还是你

我有个问题。所以我试图完成的是发送和HTTP请求。我已经查看了原始套接字等,但我看不出如何发送HTTP请求,在该请求中我可以设置源地址/端口等。谢谢

如果您计划使用
SOCK_RAW
,那么您必须创建自己的IP头并通过该头实现TCP,以便与HTTP服务器通信。这将涉及大量工作,处理TCP所需的所有窗口、拥塞控制、重传等。在
PF\u INET
socket上使用
SOCK\u流
会更容易,并且使用操作系统提供的TCP实现。您有代码吗?你试过什么吗?另外,正如jxh所提到的,你真的是指
SOCK_RAW
,还是你想打开一个TCP连接,而你的问题是制定一个HTTP头?@jxh我可以在Linux上用SOCK_STREAM或PF_INIT设置源地址吗?可以,请参阅--google上的第二个结果。@user2484067:您的意思是想欺骗与您建立连接的实际机器不同的来源吗?在任何情况下,
bind()
是执行此操作的调用,但是,如果您将其设置为的IP地址未实际设置为计算机上配置的任何接口,则调用将失败。