标签: network-protocols

如何通过没有IP地址的nic发送WOL包(或任何东西)?

我正在尝试在所有接口上发送WOL包以唤醒网关(这是DHCP服务器,因此机器还没有IP).

似乎我只能将套接字绑定到IP和端口对......

所以问题是:如何创建一个绑定到没有IP的NIC的套接字(或其他东西)?(任何语言都可以.c#是首选)

@ctacke:我知道WOL是由MAC地址完成的...我的问题是Windows只在NIC上发送UDP广播,Windows认为是主要的NIC(甚至连我的Vista机器上的默认路由都不是NIC) ).我似乎无法找到一种方法将套接字绑定到没有IP地址的接口.(像DHCP客户端这样做)

@Arnout:为什么不呢?客户端知道网关的MAC地址.我只想要像DHCP客户端一样发送WOL数据包... ...(DHCP发现数据包声称来自0.0.0.0)我不介意我是否必须逐字节构造整个数据包...

c# network-programming ethernet network-protocols winpcap

7
推荐指数
1
解决办法
7525
查看次数

如何使用SharpPcap捕获HTTP数据包

我想捕获我的机器的所有传入HTTP数据包.要做到这一点,我使用的是SharpPcap,这是一个WinPcap包装器.

SharpPcap运行良好,但它捕获TCP数据包,这是太低的水平,无法做我想要的.有谁知道如何从所有这些TCP数据包中轻松获得完整的HTTP请求/响应?

谢谢

c# sniffing network-protocols sharppcap

7
推荐指数
1
解决办法
1万
查看次数

可靠的UDP和ACK方法问题

我正在阅读有关可靠UDP的实现(即发送ACK数据包并再次重新发送非确认数据包).

我似乎在网络中找到了两种主要模式:

  1. 客户端使用该数据包的序列为每个接收到的数据包发送ACK.除非收到ACK,否则服务器假定数据包未送达.

  2. 客户端发送一个ACK数据包,其中包含它认为缺失的数据包序列.服务器假定数据包已传递,除非它从客户端收到一条ACK,说它缺少序列,然后再次重新发送请求的(丢失的)数据包.

简而言之,在1.中,客户端发送接收到的数据包的序列,而在2.客户端发送丢失数据包的序列.

只是想知道每种方法的优点/缺点是什么,哪一种更主流(我假设1,但是2似乎是一种非常聪明的方法,因为大多数数据包确实到达而且通常只丢失一些).

编辑:两种方法的简短示例:

Method 1: Server sends: 1,2,3,4,5 
Client received: 1,3,5,4 
Client sends back: ACK 1, ACK 3, ACK 5, ACK 4  
Server resends: 2.. maybe more if ACK packets were lost


Method 2:
Server sends 1,2,3,4,5,6,7,8
Client receives: 1,3,2,5,7
Client Sends :ACK (lowest continuous 3,highest received 7,  seem to be missing 4,6)
Server resends: 4,6,8
Run Code Online (Sandbox Code Playgroud)

udp network-protocols unreliable-connection

7
推荐指数
1
解决办法
1万
查看次数

从IPv6中删除碎片有什么好处?

我正在开发一个项目,其中包括使用java套接字开发应用程序.然而,在阅读一些基本原理和新近推出的IPv6范式时,这促使我在下面提出问题,

从IPv6中删除碎片有什么好处?

如果有人能让我理解为什么会有帮助吗?

我在互联网上进行了研究,但没有找到任何有用的描述.

sockets networking tcp network-protocols ipv6

7
推荐指数
2
解决办法
9008
查看次数

如何在SMPP中正确表示消息类

我目前正在试图找出sms类如何在SMPP中正确表示.但是我现在完全被标准和它的文档混淆了.

在正常的短信我们有

  • Class0:Flash短信,显示在显示屏上
  • Class1:正常的Sms存储在SIM上或设备内部

查看SMPP规范,我首先data_codingsubmit_sm操作中找到参数,该参数用于设置通过MAP发送的DCS.据我所知,如果我们想要显式设置消息类,我们需要将此参数的前四位设置为1,然后指示编码的两位,然后指示消息类的另外两位.所以对于Class1 Sms,我们会设置1111xx01.到目前为止这是正确的吗?

如果我们尝试设置此DCS,但是目前我们还将数据编码设置为"8位数据".看来,有几款手机无法理解这一点.这是在任何地方指定的,我们可以改变它,或者是在发送其他消息类时需要的特殊编码.

当我们尝试使用SMPPv3.4建议的Message类设置方法时,会出现更多混乱.从3.4开始,操作中有一个可选参数submit_sm,称为dest_addr_subunit.根据标准,此参数应设置为0表示未知,1表示MS显示,2表示移动设备等.如果我看一下,与GSM消息类别相比,参数似乎会移动1.Class0编码为1,Class1编码为2,依此类推.这是正确的还是有更复杂的映射背后?

另外,如果我们设置dest_addr_subunit,我们是否仍然必须设置DCS,或者我们可以将此参数保留为默认值吗?

sms gsm network-protocols smpp

7
推荐指数
1
解决办法
9329
查看次数

基于流的路由和开放流

这可能不是典型的stackoverflow问题.

我的一位同事一直在猜测基于流的路由将成为网络中的下一个重点. Openflow提供了在大型应用,IT数据中心等中使用低成本交换机的技术; 取代思科,惠普等交换机和路由器.理论上,您可以使用简单的配置创建这些openflow交换机的层次结构,例如.没有生成树.开放流将仅使用交换机层次结构(无路由器)的知识将每个流路由到适当的交换机/交换机端口.该解决方案旨在为企业节省资金并简化网络.

问:他猜测这可能会极大地改变企业网络.出于多种原因,我持怀疑态度.我想听听你的想法.

networking network-programming network-protocols openflow

6
推荐指数
2
解决办法
6976
查看次数

TCP和UDP如何检测传输错误?

我想知道这些协议如何检测数据传输过程中发生的错误?谢谢

network-protocols

6
推荐指数
2
解决办法
1万
查看次数

Client Server应用程序设计模式和协议

我试图找到设计客户端/服务器应用程序的"良好实践".

如果有人可以推荐一些好的材料来阅读?

具体来说,您如何设计应用层协议并使其健壮,同时避免陷阱?

在某些客户端/服务器实例(如游戏)中,服务器是要采取操作的解释器,您是否可以设计协议以优雅地配合这种设计模式?

是否有为客户端/服务器应用程序设计的设计模式.我也在考虑修改生产者消费模式?

编辑:oops我意识到这个问题不能有明确的答案,所以我会给出一个深入答案的正确答案.

谢谢

design-patterns client-server network-protocols

6
推荐指数
1
解决办法
1万
查看次数

ping如何解析ip地址?

Ping实用程序在网络层上方工作,DNS在Application层中工作.

如果我们尝试ping www.google.com

它是如何解析GOOGLE的IP地址的,因为DNS在这些层之上?

dns ping network-protocols tcp-ip application-layer

6
推荐指数
1
解决办法
4965
查看次数

当我运行谷歌审计检查我的网站时出现错误 DevTools Error: PROTOCOL_TIMEOUT

当我运行谷歌审计检查我的网站时出现错误

DevTools Error: PROTOCOL_TIMEOUT

初始网址:https : //cavrelli.com/category/science/
epc_purge_all=1&epc_purge_single=1
Chrome 版本:73.0.3683.86
错误信息:PROTOCOL_TIMEOUT
堆栈跟踪:

LHError:PROTOCOL_TIMEOUT at eval (chrome-devtools://devtools/remote/serve_file/@f9b0bec609327ae/@f9b0bec609320202015050368270js70812012010000000000000000000000000000000000000000)

network-protocols url-scheme

6
推荐指数
1
解决办法
1599
查看次数