草庐IT

headers_sent

全部标签

c - TCP header 和校验和

我需要说明在计算校验和时正确使用TCPheader和伪header。伪header是否需要紧跟在IPheader之后和真正的TCPheader之前?这是我所拥有的:IPHeader*iph=(IPHeader*)(packet+ETHER_SIZE);//ETHER_SIZE==14ipLen=ntohs(iph->totLen)*4;TCPPseudo*tcps=(TCPPseudo*)(packet+ETHER_SIZE+ipLen);TCPHeader*tcp=(TCPHeader*)(tcps+sizeof(TCPPseudo));这是我的标题:typedefstruct__a

tcp - 我们是否应该构建整个数据包( header 、校验和等)以使用网络图?

我对netmap很感兴趣,它允许用户程序员访问用户空间中的数据包,这意味着用户应用程序可以使用此netamp非常快速地读取/发送网络数据包。网络map:http://info.iet.unipi.it/~luigi/netmap/任何一位非常熟悉netamp的人都可以告诉我我们应该创建要发送的整个数据包,还是使用堆栈功能将其发送出去。编辑:这里是关于如何使用这个api的例子https://www.freebsd.org/cgi/man.cgi?query=netmap&sektion=4#includevoidsender(void){structnetmap_if*nifp;stru

c# - 来自 Docker 容器中 LibreOffice Headless 的 TCP SYN_SENT。

我试图让LibreOffice在容器内以headless模式运行,这样我就可以用它在Windows上进行文档转换。通过以下方式在本地运行LibreOffice:C:\ProgramFiles\LibreOffice5\program>soffice.exe-accept="socket,host=127.0.0.1,port=8100;urp;"-nofirststartwizard-headless生成一个监听8100端口的LibreOffice运行实例C:\ProgramFiles\LibreOffice5\program>netstat-nao|findstr-c:"8100"T

tcp - 如何确定原始数据包中 IP header 和 TCP header 的起始字节

我想用libpcap抓包但由于以太网header或802.11header的长度可能会有所不同并且IPheader的长度也可能会有所不同,如何确定IPheader和TCPheader的起始字节(指针)另外,如何区分一个包是纯IP包、TCP包还是UDP包?是否有任何API或方法可以做到这一点?谢谢! 最佳答案 当您使用libpcap时,您可以通过直接查看pcap文件头(用于离线捕获)pcap_file_header.linktype或(用于实时和离线)来确定链路层头的大小捕获)来自对pcap_datalink()的调用。大多数情况下,

tcp - 哪些 header 字段将数据包描述为唯一的?

我正在处理可能包含UDP或TCP有效负载的IP数据包。如果我们只考虑IP级别和传输级别的header,一个数据包的一组代表性字段可能是什么?也就是说,从整体上看,哪些报头字段会使该数据包独一无二?(当然,在没有重复的情况下)如果我们不考虑IP和TCP或UDPchksum字段,其他字段的子集是否足够? 最佳答案 IP和UDP没有“唯一性”的概念。TCP确实如此,由序列号字段暗示。没有足够的字段来明确数据包在传输过程中何时被复制或丢弃。根据评论更新:如果您同时编写发送和接收代码,您可以包含一个IP选项来唯一标识数据包。我建议使用SATN

c - 访问 TCP header 字段(没有原始套接字 API)

我正在编写一个需要访问TCPheader字段的应用程序,例如,序列号或TCP时间戳字段。是否可以通过在套接字API上操作而不监听原始套接字来获取序列号(或其他header字段)?(我想避免过滤掉所有数据包)。我正在查看TCP_INFO,但它的信息有限。例如,在调用recvmsg()并获得数据缓冲区后,是否有可能知道在该接收数据缓冲区中传送最后一个字节的段的序列号?谢谢 最佳答案 可以尝试使用libpcap来抓包。此库允许使用与Wireshark中相同的语法指定数据包过滤器,因此您可以将捕获的数据包限制为仅一个连接。一个缺点是您也必须

Python TCP 套接字 : How to know if a specific connection has sent information

我有一个多线程Python3应用程序,它在线程#1上接受TCP套接字通信。线程#2将检查所有当前连接是否有任何要接收的信息,然后采取相应行动。所以,目前我有一个名为all_connections的列表,它是已接受的套接字连接对象的列表。使用forconnectioninall_connections:我可以遍历所有连接对象。我知道我使用conn.recv(256)来检查是否有任何准备好在此套接字上接收。这会阻止循环直到有东西可以接收吗?我已经预先设置了conn.setblocking(1)尽管我不确定这是否是解决它的最佳方法:下面是一些示例代码:线程1self.all_connecti

python - 如何使用 Python 的套接字库更改 TCP header 和选项

我想获得一些关于如何修改TCPheader以及更改TCPheader上的选项的帮助。我对选项的MSS部分特别感兴趣。我曾尝试使用具有不同选项的setsockopt()但没有成功。下面是一些试图改变MSS的代码:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#!Settingsmsss.setsockopt(socket.IPPROTO_TCP,socket.IP_OPTIONS,b"MSS:400")我希望MSS更改为400。代码运行但它不会更改MSS(使用Wireshark检查)。 最佳答案

php - 如何在 PHP 中读取 tcp/ip header ?

我想获取源端点。基本上我想通过从tcp/ipheader而不是httpheader获取端口/ip来阻止一些ips。PHP是否有任何内置方法可以实现该目标,或者我应该做一个解决方法? 最佳答案 如果您只是想从您的网站阻止某些IP,$_SERVER['REMOTE_ADDR']变量保存IP。如果您需要在请求到达您的网络服务器之前阻止该请求,GordonM是对的,防火墙就是您所需要的。 关于php-如何在PHP中读取tcp/ipheader?,我们在StackOverflow上找到一个类似的问

Java HTTP 响应仅包含 header

我正在通过TCP套接字发送一个HTTP请求,并且我得到了header作为响应,尽管内容只包含一个问号。那是什么?这是我的代码:Socketsock=null;OutputStreamout=null;InputStreamin=null;try{//opensocketsock=newSocket(this.addr,this.port);//getoutputstreamout=sock.getOutputStream();//createrequestStringBufferrequest=newStringBuffer();request.append("GET"+this.ur