Socket RAW的限制

socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.IP);

socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);

第一句是错的,应该使用第二句。

参见:

https://docs.microsoft.com/zh-cn/windows/desktop/WinSock/tcp-ip-raw-sockets-2#Creating_a__Raw_Socket

Limitations on Raw Sockets

On Windows 7, Windows Vista, Windows XP with Service Pack 2 (SP2), and Windows XP with Service Pack 3 (SP3), the ability to send traffic over raw sockets has been restricted in several ways:

  • TCP data cannot be sent over raw sockets.

  • UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address).

  • A call to the bind function with a raw socket for the IPPROTO_TCP protocol is not allowed.

以下是浏览器自动翻译的内容:

限制原始套接字

在Windows 7中,Windows Vista、Windows XP Service Pack 2(SP2)和Windows XP Service Pack 3(SP3),通过原始套接字发送流量的能力被限制在几个方面:

  • TCP数据不能发送原始套接字。

  • UDP数据报在一个无效的源地址不能发送原始套接字。 IP源地址为任何即将离任的UDP数据报必须存在于一个网络接口或数据报被删除。 这种变化是限制恶意代码创建分布式拒绝服务攻击的能力和限制发送欺骗数据包的能力(TCP / IP数据包伪造源IP地址)。

  • 调用绑定函数的原始套接字IPPROTO_TCP协议是不允许的。

所以说,想要在win7上抓包,省省心吧。

Raw Socket(原始套接字)是一种以太网层级别的套接字类型,可以绕过操作系统的网络栈,在数据链路层收发原始数据包。ARP(Address Resolution Protocol,地址解析协议)是TCP/IP协议栈中的一个重要协议,用于将IP地址与MAC地址进行转换。 Raw Socket ARP即通过使用原始套接字来进行ARP协议的操作。利用Raw Socket ARP,我们可以直接发送和接收ARP请求和响应,从而实现对网络上主机的MAC地址解析。 使用Raw Socket ARP有一些优点。首先,我们可以自定义ARP请求和响应报文的内容,灵活控制ARP协议的实现。其次,Raw Socket ARP可以提供更快速的网络响应,因为我们可以选择绕过操作系统的网络栈,直接与底层数据链路层进行交互。此外,我们可以利用Raw Socket ARP来进行网络扫描,定位和识别网络上的主机和设备。 然而,使用Raw Socket ARP也存在一些限制和风险。首先,Raw Socket ARP需要较高的权限,因为它可以绕过操作系统的网络层。这可能会带来安全风险,因此需要严格控制和审查使用Raw Socket ARP的程序和权限。其次,使用Raw Socket ARP可能会影响网络的正常通信。如果使用不当或者频繁发送大量的ARP请求,可能会导致网络拥塞和性能下降。 综上所述,Raw Socket ARP是一种强大的工具,可以用于网络管理和安全性测试,但需要谨慎使用。在使用Raw Socket ARP时,我们应该了解其原理和限制,并确保使用权限和程序的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值