首页 文章
  • 1 votes
     answers
     views

    如何扫描网络以查找特定外设

    我正在为基于Arduino芯片和以太网连接的家庭自动化创建一些小型电子模块 . 如果可能的话,我会尽量让他们用DHCP获取IP地址,但我也想构建一个C#应用程序来配置这些模块,我希望我的软件扫描网络以自动检测我的模块,如例如,HP打印机驱动程序可以自动检测网络上的打印机 . 我想到了: 获取计算机的IP和掩码以确定IP集 然后多线程ping或HTTP请求到集合的每个IP 检查响应并获取...
  • 1 votes
     answers
     views

    数据包重定向到不同的IP地址

    我目前正在研究一个研究项目来分析本地网络中的不同攻击,我想知道是否有可能在网络层3上执行类似于ARP欺骗或ICMP重定向攻击的重定向攻击 . 让我们假设我有以下三个主机: H1(IP = 10.0.0.1,MAC = 00:00:00:00:00:01) H2(IP = 10.0.0.2,MAC = 00:00:00:00:00:02) H3(IP = 10.0.0.3,MAC = 0...
  • 0 votes
     answers
     views

    OpenFlow - 如何处理ICMP消息

    我正在运行一个Ryu控制器和一个带有2个主机和1个开关的Mininet实例,如下所示 . H1 ---小号--- H2 Ryu控制器中的代码 from ryu.base import app_manager from ryu.controller import ofp_event from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_...
  • -1 votes
     answers
     views

    ICMP python上格式错误的数据包

    我如何创建一个框架icmp我在python上标记malformet数据包 import socket,struct,uuid,subprocess,fcntl,time,random 列出项目 来自binascii import hexlify,unhexlify from datetime import datetime tarRed = raw_input('Ingrese nom...
  • 2 votes
     answers
     views

    “已连接”UDP套接字接收ICMP端口无法访问

    基于UDP是无连接协议的前提,我假设主机是启动还是关闭都是无关紧要的 . 但是,现在我发现当我有"connected"我的UDP客户端套接字时,该套接字的 write 会返回错误,因为服务器已发送回ICMP端口无法访问错误 . UDP端口(根据Stevens Unix网络编程)的目的是基本缓存来自路由表的条目,而不是为每个数据包创建一个新的数据包,这应该具有性能优势 . 但是,...
  • 5 votes
     answers
     views

    为什么Linux TAP设备不处理ARP或ICMPv6数据包

    我正在使用打开TAP设备 p->fd = open("/dev/net/tun", O_RDWR); // skipping error handling code ifr.ifr_flags = IFF_TAP | IFF_ONE_QUEUE | IFF_NO_PI; strncpy(ifr.ifr_name, p->name, IFNAMSIZ-1); re...
  • 1 votes
     answers
     views

    UDP套接字无法接收ECONNREFUSED

    我使用socket创建了一个套接字(AF_INET,SOCK_DGRAM,IPPROTO_UDP) . 根据this,如果我多次发送简单数据包(乘以send()和/或sendto()),我可以获得ECONNREFUSED . ICMP应该告诉先前的数据包没有报告任何错误,send()总是返回发送的字节数 . UDP协议实际上不应该告诉数据包已发送 . 但据我所知,ICMP可以提供建议 . 所以,...
  • 3 votes
     answers
     views

    设置ICMP与POX控制器匹配

    我正在尝试使用POX控制器向交换机添加流条目,我的代码是: fm = of.ofp_flow_mod() fm.match.in_port = 1 fm.priority = 33001 fm.match.dl_type = 0x800 fm.match.nw_src = IPAddr("10.0.0.1") fm.match.nw_ds...
  • 0 votes
     answers
     views

    获取IPv6标头的确切大小,包括扩展标头

    如果IPv4有问题并且我想从std :: istream中提取IP和ICMP头,首先我得到最初的20个字节,然后检查IPv4头中提供的头长度是否大于20个字节以便提取任何选项 . 下一个字节是ICMP数据包 . 使用IPv4标头内携带的标头长度值,我可以看到IP标头的预期大小 . 但是如何获得IPv6标头的确切大小? IPv6标头内部有一个有效负载值,包括标头扩展的大小以及更高级别的数据,如ICM...
  • 1 votes
     answers
     views

    Libnet11手动构建IPv6数据包

    我正在尝试使用 Libnet11 函数: int libnet_write_raw_ipv6 (libnet_t *l, u_int8_t *packet, u_int32_t size) 在网络层注入IPv6数据包 . 我创建了IPv6数据包并使用Wireshark捕获它 . Wireshark报道:格式错误的数据包(wireshark说IPv6中的下一个标头值是错误的,我认为有效负载大小太...
  • 2 votes
     answers
     views

    从IPv6数据包中获取ICMPv6头

    嗨,我坚持从IPv6数据包中获取ICMPv6头 . size = sizeof(sockaddr_in6); if ((lenght = recvfrom(socd, buffer, BUFSIZE, 0, (sockaddr *)&receiveSockAddr, &size)) < 0) { cerr << "re...
  • 2 votes
     answers
     views

    在实例化icmp ipv6之后,在v6 python套接字中设置'next header'字节

    所以我有一个如下的套接字: sock = socket.socket(socket.AF_INET6, socket.SOCK_RAW, socket.getprotobyname("icmp")) 当我按照RFC4443发送一个正确构造的ICMP6 ECHO REQUEST类型128和代码0(也验证校验和)时,数据包被目标堆栈丢弃,因为数据包格式错误,显然,因为IPv6中的...
  • 2 votes
     answers
     views

    如何区分扩展和上层头

    我正在尝试解析通过原始套接字接收的IPv6数据包,并确定它是否是ICMPv6 . 我可以处理以太网和IPv6标头,但是有可选的扩展标头 . 如果IPv6标头的 Next Header 字段不是ICMPv6,我必须遍历可能在之前的任何扩展 . 迭代本身不是问题,因为每个扩展头都有其长度 . 但是,我找不到区分可能遵循的扩展标头和其他高级协议(如TCP和UDP)的好方法 . 我可以检查 Next He...

热门问题