1. 程式人生 > 其它 >如何找出一臺只有網口的裝置的IP?

如何找出一臺只有網口的裝置的IP?

技術標籤:硬體hack網路wireshark

背景

製造業的小夥伴們經常遇到一個問題,就是拿到一臺待除錯的裝置,沒有顯示器、鍵鼠等互動介面,也沒有串列埠可供連線,有網口但不知道裝置的IP,所以沒法ssh登上去操控,咋辦?

思路

首先將裝置直連到PC機

首先要找來一臺PC機,將裝置跟該PC機直連,這樣就避免了辦公室或實驗室區域網的干擾,PC機側收到的網路包只可能來自裝置和自身。

然後在PC機上抓取ARP包

在PC機上啟動抓包軟體,抓取網路上詢問閘道器MAC地址的ARP包,如果裝置配了靜態IP,都會在ARP包的相應協議欄位裡顯示的。
以wireshark為例,PC機啟動wireshark,選擇監聽跟裝置直連的網口,然後找到ARP包:

ARP包
這裡能看出有臺網絡印表機HewlettP 在廣播詢問閘道器192.168.26.1的MAC地址,並附上自己的IP 192.168.26.78,這樣我們就知道印表機的IP了。

最後在ARP包的info列找到裝置IP

找到Sender IP address
包詳情:

Frame 6: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface \Device\NPF_{B9A32776-6538-4B54-AF2F-90EB872E4BA1}, id 0
Ethernet II, Src: HewlettP_4c:18:c1 (10:e7:c6:4c:18:c1), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Address Resolution Protocol (request)
    Hardware type: Ethernet (1)
    Protocol type: IPv4 (0x0800)
    Hardware size: 6
    Protocol size: 4
    Opcode: request (1)
    Sender MAC address: HewlettP_4c:18:c1 (10:e7:c6:4c:18:c1)
    Sender IP address: 192.168.26.78
    Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)
    Target IP address: 192.168.26.1

注意

很多人覺得用抓包軟體太興師動眾了,直接arp -a不就能看到區域網內所有裝置的IP和MAC了嗎?
其實arp只能顯示本機的arp快取,而IP寫入快取的前提是兩臺主機發生過傳輸,現在我們都不知道裝置的IP,根本無法建立傳輸,裝置IP自然不會出現在arp快取裡了。

最後,如果裝置沒配IP,但執行DHCP客戶端,則可在PC機上啟動一個DNS server,然後抓包,應該也可以。