标签: arp

开始浏览时要发送的第一个数据包

想象一下,用户坐在以太网连接的PC上.他打开了一个浏览器.他在地址栏中输入"www.google.com"并点击进入.

现在告诉我在以太网上出现的第一个数据包是什么.

我在这里找到了这个问题:关于套接字编程和多线程的访谈问题

由于我不是网络专家,我想听听答案(我认为这是"它取决于";)).

使用像Wireshark这样的工具,我显然可以检查自己的计算机行为.我想知道我看到的数据包(例如ARP,DNS,VRRP)在每个以太网配置中是否相同(它依赖于操作系统?驱动程序?浏览器甚至:)?)以及哪些条件它们出现了.在数据链路层,它是否可能依赖于物理网络(连接到集线器/交换机/路由器)?

browser network-programming network-protocols arp packet

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

将arp绑定添加到ARP表Linux中

我试图在Linux中的ARP表中添加ARP绑定,我的arp表看起来像这样:

IP address       HW type     Flags       HW address            Mask     Device
192.168.3.12     0x1         0x6         00:0c:29:89:c5:cc     *        eth1
192.168.3.100    0x1         0x6         00:0c:29:89:c5:c8     *        eth1
192.168.43.2     0x1         0x2         00:50:56:e1:65:76     *        eth0
192.168.3.111    0x1         0x6         00:11:22:33:44:55     *        eth1
192.168.43.139   0x1         0x6         00:0c:29:89:c5:cc     *        eth0
Run Code Online (Sandbox Code Playgroud)

这是我想要做的,但我得到以下错误:

arp -s 192.168.43.138 00:00:22:33:33:33
SIOCSARP: Invalid argument
Run Code Online (Sandbox Code Playgroud)

任何其他IP地址工作正常,只是这一个导致错误任何想法这里有什么问题?(这可能不是mac地址的问题,我尝试了很多其他地址)

linux arp

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

查找接口和IP地址(C#中的arp)

我有一个简单的问题,但由于缺乏C#经验,我无法实现它.

当我打开cmd并输入arp -a命令时,它会显示所有接口和IP地址都是路由.

所以,我的目标是在C#中实现上述过程并获取ip,mac等...有人可以帮我解决这个问题吗?我将不胜感激.谢谢

c# ip-address arp

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

ios开发之ping和arp

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

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

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

谢谢你的关心!

sockets iphone arp icmp ios

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

ValueError:关闭文件时的 I/O 操作错误

我需要帮助,自 2 天前起我尝试解决这个问题,但没有成功,我是 python 新手,请更改代码并解释:

这是它的代码,通过 scapy 进行 arp 扫描,它从 scapy 扫描中获取结果并将扫描结果( ip 和 macaddress )保存到 linux 机器中的 txt 文件中

然后通过以下命令运行名为( doublepulsar-detection-script )的外部 python 脚本: os.system("python detector_doublepulsar_smb.py --file last.txt")

last.txt = 文件包含 scapy 扫描结果

但扫描完成后我收到此错误:

回溯(最近一次调用最后一次):文件“test.py”,第 116 行,在 lena = int(raw_input(“输入数字:”)) ValueError:关闭文件上的 I/O 操作

这是完整的代码:

logging.basicConfig(format='%(asctime)s %(levelname)-5s %(message)s',  datefmt='%Y-%m-%d %H:%M:%S', level=logging.DEBUG)
logger = logging.getLogger(__name__)


def long2net(arg):
if (arg <= 0 or arg >= 0xFFFFFFFF):
    raise ValueError("illegal netmask value", hex(arg))
return 32 - int(round(math.log(0xFFFFFFFF - arg, 2)))


def to_CIDR_notation(bytes_network, bytes_netmask):
network …
Run Code Online (Sandbox Code Playgroud)

python stdout scapy arp output

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

如何将IP地址转换为MAC地址字节数组?

我正在尝试将IP地址转换为MAC地址,然后将其转换为字节数组.我陷入了第一部分而不确定如何做到这一点.我看到一些搜索结果在谈论System.Net.NetworkInformation.NetworkInterface但不确定如何使用它.

这是我需要MAC字节数组的代码.这该怎么做?

[DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);

private void Ping(IPAddress address)
{
    byte[] macAddr = new byte[6];
    uint macAddrLen = uint.Parse(macAddr.Length.ToString());

    if (SendARP(int.Parse(address.ToString()), 0, macAddr, ref macAddrLen) == 0)
    {
        //SUCCESS!
    }
}
Run Code Online (Sandbox Code Playgroud)

c# mac-address bytearray arp winforms

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

如何使用 python 从 Windows 机器获取 arp 表?

我想使用Python从Windows系统获取arp表。我看到该库python_arptable仅与 Linux 兼容,我不想使用该arp -a命令。有没有任何 python 库可以让我提取它?或者也许使用 ctypes?

ctypes arp python-3.x

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

UDP套接字是否有可能接收ARP消息

我在Linux下创建了一个udp套接字,以发现网络上的另一个系统。创建udp套接字并分配src IP,src Port,dst端口(我知道正确的值)和dst IP(广播)后,应用程序将UDP数据包发送到另一端。目的是使另一台计算机发回UDP数据包,以便我的计算机推断出目标IP地址。另一端以包含其IP,端口以及我的IP和端口的ARP消息进行响应。

虽然,我正在使用的套接字是数据报,但我的应用程序声明发现另一端并可以获得其IP。看来我正在使用的udp套接字已收到另一端发送的ARP消息,这让我感到困惑。

请任何人解释发生的情况。

非常感谢你。

sockets linux udp arp

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

C# - 查找另一个程序实例以通过同一网络上的TCP进行通信的最快方法

我知道并非所有设备都响应ICMP或ping,因此最合适的方式似乎是向LAN上可能的所有IP发送ARP请求,从192.168.0.0到192.168.255.255,但这意味着请求超过65000个IP这花了很多时间.我想找到我的程序的另一个实例,以便同步他们的内容,但我不满意ARP方法.到目前为止,我在SO中找到了这些优秀的代码:

[DllImport("iphlpapi.dll", ExactSpelling = true)]
public static extern int SendARP(int DestIP, int SrcIP, byte[] pMacAddr, ref uint PhyAddrLen);

static void Main(string[] args)
{
    List<IPAddress> ipAddressList = new List<IPAddress>();

    for (int i = 0; i <= 255; i++)
    {
        for (int s = 0; s <= 255; s++)
        {
            ipAddressList.Add(IPAddress.Parse("192.168." + i + "." + s));
        }
    }

    foreach (IPAddress ip in ipAddressList)
    {
        Thread thread = new Thread(() => SendArpRequest(ip));
        thread.Start();

    }
}

static void SendArpRequest(IPAddress dst)
{
    byte[] macAddr …
Run Code Online (Sandbox Code Playgroud)

c# arp

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