Ars*_*ray 9 c# sockets ip-protocol
我正在研究网站测试框架,我希望能够欺骗用户ip.我已经读过,像Loadrunner这样的软件可以做到这一点,我也希望能够做到这一点.
关于如何正常使用套接字的教程可以在这里找到,但是如果我想欺骗ip,我将不得不以某种方式编辑ip头.这是在套接字级别完成的,还是在.Net中还有其他更深层次的,这可以让我这样做?
您不能再这样了,因为在桌面版Windows中限制了对原始套接字的访问:
在Windows 7,Windows Vista,Windows XP Service Pack 2(SP2)和Windows XP Service Pack 3(SP3)上,通过原始套接字发送流量的能力受到以下几种限制:
- TCP数据无法通过原始套接字发送.
- 无法通过原始套接字发送具有无效源地址的UDP数据报.任何传出UDP数据报的IP源地址必须存在于网络接口上,否则数据报将被丢弃.此更改旨在限制恶意代码创建分布式拒绝服务攻击的能力,并限制发送欺骗数据包(具有伪造源IP地址的TCP/IP数据包)的能力.
- 不允许
bind
使用IPPROTO_TCP
协议的原始套接字调用该函数.
注意 的bind
具有原始套接字函数被允许用于其它协议(IPPROTO_IP
,IPPROTO_UDP
,或IPPROTO_SCTP
,例如).
您可以非常轻松地创建原始套接字:
Socket s = new Socket(ip.AddressFamily, SocketType.Raw, ProtocolType.Ip);
Run Code Online (Sandbox Code Playgroud)
在这一点上你可以构建适当的数据报(如果你没有关于如何做到这一点的文档,这将是一个单独的问题)
归档时间: |
|
查看次数: |
4972 次 |
最近记录: |