7得票3回答
在 Linux 上嗅探数据包时如何在网络堆栈中过滤数据包?

我有一个问题想请教低级网络/Linux专家, 我需要为我所在大学的一个安全项目构建两个工具。第一个工具是ARP欺骗攻击器,它将欺骗来自远程主机的ARP缓存,以便检索他发送到另一个主机的数据。我用C语言使用原始套接字编写了这个工具,并且它完美地工作,我能够拦截从主机A发送到主机B和从主...

8得票2回答
创建一个SOCK_RAW套接字,仅用于发送数据而不包含任何recvform()函数。

如果我创建的套接字类型为SOCK_RAW,只是发送一些数据而不接收任何数据,在内核继续接收网络数据包并将其数据报复制到某个缓冲区(应用程序的缓冲区?)时,是否会出现问题?换句话说,在somebuffer填满后会发生什么?错误或忽略? 我不知道如何防止内核将数据报的副本传递给我的应用程序。 ...

8得票2回答
为什么我无法发送这个 IP 数据包?

我正在尝试使用c#发送一个IP数据包。 destAddress = IPAddress.Parse("192.168.0.198"), destPort = 80; // Create a raw socket to send this packet raw...

8得票2回答
设置syn标志发送原始tcp数据包只会通过lo接口而不是我想要的eth0。

我想向我的httpd服务器发送一个syn数据包,并获得响应的syn-ack数据包。但是,当我使用Wireshark进行监视时,数据包是由我的本地接口lo而不是eth0发送的。 我已经尝试在下面的代码中设置一些不同的setsockopt值,但似乎没有任何作用,它总是使用lo接口而不是eth0。...

14得票3回答
在不需要root权限的情况下,使用Python创建原始套接字

是否可能在没有root权限的情况下创建原始套接字?如果不行,脚本能否自己提升权限? 我编写了一个使用原始套接字的Python脚本:#!/usr/bin/env python import socket rawSocket = socket.socket(socket.PF_PACKET, ...

21得票1回答
Scapy on PlanetLab

有没有人成功在运行 Fedora 12 的 PlanetLab 节点上使用 Scapy? 我知道安全的原始套接字限制,但是似乎只需设置conf.L3socket=L3RawSocket,就可以通过Scapy发送数据包。至于数据包的接收,我无法让Scapy正常工作,所以我只能使用tcpdump...

7得票3回答
TCP连接劫持

我有一个在C++中开发的小项目,由于它所做的事情的特殊性质,我需要将数据包插入到实时TCP流中。(目的是无辜的,如果你非得知道可以查看这里:http://ee.forumify.com/viewtopic.php?id=3299) 我正在为游戏创建一个级别编辑器,由于握手的特性,我不能简单地使...

10得票2回答
回环接口上是否可能使用原始套接字?

我们正在尝试通过原始套接字与监听 Linux 回环接口的服务器通信,但似乎服务器没有收到我们发送的任何数据包。我们发送的数据包在 Wireshark 中是可见的。 在回环接口上使用原始套接字是否可能?(请不要问为什么我们需要它:这太复杂了,在这里解释不清楚) 编辑:这是我们打开它的方式。_...

8得票4回答
C编程中的TCP校验和

我最近几天一直在尝试计算TCP的校验和,但是一直遇到困难。我在互联网上查看了很多资料,但是没有一个例子能够教你如何计算TCP的校验和。我还查看了RFC文档,但仍然无法解决: 下面是我用来生成校验和的代码: unsigned short checksum(unsigned short * b...

10得票4回答
时间戳传出数据包

我试图获取使用原始套接字发送的出站数据包的准确时间戳。根据Linux/Documentation/networking/timestamping.txt中的说明,“对于发送时间戳,出站数据包被环回到套接字的错误队列,并附有发送时间戳。可以使用recvmsg(flags=MSG_ERRQUEUE...