标签: icmp

嗅探检测

有人能告诉我"测试ICMP"究竟是如何工作的吗?(检测本地网络中的嗅探的方法之一)

networking network-programming mac-address icmp

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

从线程ping多个ips时的Python ICMP ping实现?

我一直在Windows上使用jedie的python ping实现.我可能是错的,但是当从不同的线程ping两台计算机(A和B)时,ping将返回它收到的第一个ping,无论源是什么.

因为它可能是jedie's fork的一个问题,所以我回到了之前的版本.(这是我将在下面探讨的版本)

我添加了一行代码receive_one_ping:(第134行或类似)

recPacket, addr = my_socket.recvfrom(1024) # Existing line
print "dest: {}, recv addr: {}.".format(dest_addr, addr) # New line
Run Code Online (Sandbox Code Playgroud)

这允许我们查看我们正在接收的ping的地址.(应该与目标IP相同,对吧?)

测试:

ping1()ping一个已知的脱机IP(1.2.3.4),
ping2()ping一个已知的在线IP(192.168.1.1 - 我的路由器)

>>> from ping import do_one

>>> def ping1():
    print "Offline:", do_one("1.2.3.4",1)

>>> ping1()
Offline: None

>>> def ping2():
    print "Online:", do_one("192.168.1.1",1)

>>> ping2()
Online: dest: 192.168.1.1, recv addr: ('192.168.1.1', 0).
0.000403682590942
Run Code Online (Sandbox Code Playgroud)

现在,如果我们一起做:(使用Timer来简化)

>>> from threading import Timer
>>> t1 = Timer(1, ping1)
>>> t2 = …
Run Code Online (Sandbox Code Playgroud)

python multithreading ping icmp

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

ios开发之ping和arp

你好,我是一名 ios 开发人员,我正在尝试编写网络套接字程序。首先,我试图找到一种获取 arp 表和 icmp 操作(例如 ping)的方法。我在苹果应用商店找到了很多好的网络扫描仪,但我真的不知道应该从哪里开始。

我所担心的只是应用商店的拒绝。

  • 我可以在 ios 设备上使用 system() 函数吗?
  • 我知道我不能使用原始套接字编程,如何在没有原始套接字编程的情况下处理 icmp 和 arp 操作?

谢谢你的关心!

sockets iphone arp icmp ios

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

C套接字发送UDP并处理来自路由器的ICMP答复

我正在尝试将UDP数据包发送到生存时间为1的路由器,然后收到ICMP时间超限答复。到目前为止,我已经能够发送数据包,但是当我的程序进入执行的recv部分时,它只是挂起。我对recvfrom进行了错误检查,但甚至没有做到这一点。我的计算机正在接收请求。我知道这是因为我在运行程序时运行Wireshark,并为ICMP请求筛选。每次我运行程序时,都会收到答复。recvfrom我在做什么错?

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <errno.h>

#define UNSPEC_PROTO 0

int main(int argc, const char *argv[])
{ 
if (argc != 2) {
    printf("usage: routetracer <ip address or hostname>\n");
    return -1;
}

struct addrinfo hints; //params for ret val of getaddrinfo
struct addrinfo* ret; //return value of getaddrinfo
struct sockaddr* reply_addr;
char ipv4[INET_ADDRSTRLEN];
char* msg = "THE PORT IS OVER 9000!!!!";
int status = 0;
int ttl = 0;
int src_sock …
Run Code Online (Sandbox Code Playgroud)

c sockets icmp ttl recvfrom

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

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

如果IPv4有问题并且我想从std :: istream中提取IP和ICMP头,首先我得到最初的20个字节,然后检查IPv4头中提供的头长度是否大于20个字节以便提取任何选项.下一个字节是ICMP数据包.使用IPv4标头内携带的标头长度值,我可以看到IP标头的预期大小.

但是如何获得IPv6标头的确切大小?IPv6标头内部有一个有效负载值,包括标头扩展的大小以及更高级别的数据,如ICMP.我需要知道IPv6头的大小,包括头扩展但没有更高级别的数据,以便知道ICMPv6头在std :: istream中的起始位置.

谢谢!

networking ipv4 ipv6 istream icmp

0
推荐指数
1
解决办法
2399
查看次数

计算平均往返时间?

我使用了traceroute命令并ping了我的亚马逊实例.这是我回来的结果:

traceroute to 10.250.19.146 (10.250.19.146), 30 hops max, 60 byte packets

1  ip-10-8-145-1.us-west-2.compute.internal (10.8.145.1)  0.996 ms  1.234 ms  3.698 ms
2  100.70.166.213 (100.70.166.213)  0.855 ms  1.179 ms 100.70.166.117 (100.70.166.117)  0.860 ms
3  100.70.175.66 (100.70.175.66)  0.925 ms 100.70.175.174 (100.70.175.174)  0.771 ms 100.70.175.238 (100.70.175.238)  0.811 ms
4  100.70.173.157 (100.70.173.157)  0.811 ms 100.70.172.193 (100.70.172.193)  0.866 ms 100.70.173.69 (100.70.173.69)  0.849 ms
5  100.70.164.46 (100.70.164.46)  4.411 ms 100.70.163.206 (100.70.163.206)  4.655 ms  4.915 ms
6  ip-10-250-19-146.us-west-2.compute.internal (10.250.19.146)  0.563 ms  0.267 ms  0.267 ms
Run Code Online (Sandbox Code Playgroud)

使用这些数据,我如何计算平均RTT时间?

average traceroute icmp roundtrip

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

使用python ping到特定的IP地址

我想编写一个python脚本,该脚本应检查特定IP地址是否可访问.我是python编程的新手,不知道代码的外观.帮忙

python network-programming ping ip-address icmp

0
推荐指数
2
解决办法
3万
查看次数

尝试 ping azure 上托管的 Linux 虚拟机不起作用

正如标题,我如何 ping 我的机器来进行一些基本的网络测试?我创建了一个新的虚拟机,但 ping 它的公共地址返回请求超时。

linux ping virtual-machine azure icmp

-4
推荐指数
1
解决办法
4087
查看次数