Điểm:0

Kiểm tra xem địa chỉ mac có trên mạng hay không (ping -b và arp)

lá cờ in
Cas

Đây là một loại theo dõi để cái này bài của tôi.

Tôi có địa chỉ mac của điện thoại của mình (samsung galaxy S9; mặc dù điều đó không thành vấn đề). Tôi muốn kiểm tra xem nó có trên mạng hay không. Nó không có ip tĩnh, vì vậy tôi cần kiểm tra nó bằng địa chỉ mac của nó.

Tôi sẽ đề cập đến địa chỉ mac của điện thoại của tôi với [1].

  • Trên điện thoại của tôi, địa chỉ mac ngẫu nhiên cho mạng bị tắt (đây không phải là trường hợp trong bài đăng trước đó). Nó được sử dụng để tạo một địa chỉ mac ngẫu nhiên mỗi khi kết nối với mạng của tôi, bây giờ thì không.
  • Đây là những gì tôi làm để kiểm tra xem địa chỉ mac có trên mạng không:
    ping -b 192.168.2.255 -c 20
    arp | grep -i "[1]"
    

Đây là "nhật ký" của các sự kiện:

#điện thoại có kết nối mạng
ping -b 192.168.2.255 -c 20 &> /dev/null
arp | grep -i "[1]"
-> thành công

#điện thoại KHÔNG kết nối mạng (đã tắt wifi trên điện thoại)
ping -b 192.168.2.255 -c 20 &> /dev/null
arp | grep -i "[1]"
-> thành công

Lần thứ hai, nó không nên thành công. Điện thoại không được kết nối với mạng nhưng nó vẫn hiển thị ở đầu ra arp.

Điện thoại của tôi không có địa chỉ ip tĩnh, nhưng khi kết nối với mạng, nó hầu như luôn nhận được cùng một địa chỉ ip. Tốt rồi. Các ping -b đầu ra luôn luôn đúng. Khi điện thoại của tôi được kết nối với mạng, tôi thấy địa chỉ ip mà nó hầu như luôn có trong danh sách (của ping chỉ huy). Khi điện thoại của tôi không được kết nối, tôi không bao giờ thấy địa chỉ IP "chuẩn" ở đầu ra. Vì vậy, ping hoạt động và "cập nhật".

Vì vậy, tôi cho rằng arp không "cập nhật" như ping (nhưng đây chỉ là dự đoán thô của tôi). Tôi nghĩ rằng arp không cập nhật bảng của nó mặc dù ping đã "tạo" một bảng mới. Nhưng đó là những gì tôi nghĩ dựa trên một bình luận của bài viết trước: "Bạn đang thực hiện ping quảng bá, ping -b 192.168.2.255. Điều này sẽ nạp lại bảng arp cho bất kỳ thiết bị trực tuyến nào có địa chỉ IP 192.168.2..*"

Cứu giúp!

Điểm:0
lá cờ us

Nếu bạn đang sử dụng ARP bảng để xác định xem điện thoại của bạn có kết nối với mạng hay không, bạn phải tháo điện thoại của mình ARP nhập từ máy tính của bạn ARP cái bàn. Nếu không, bạn sẽ không thể xác định sự thay đổi, vì mục nhập trước đó vẫn đứng yên.

Bạn có thể loại bỏ cụ thể ARP nhập cảnh với arp -d <IP_ADDR> lệnh và xóa tất cả các mục bằng sudo ip neigh flush all.

Nhưng, tôi nghĩ bạn nên sử dụng nmap để quét, bên cạnh đó bạn sẽ không cần phải dọn dẹp ARP bàn nữa. Bạn có thể sử dụng tập lệnh này.

#!/bin/bash

mac="$1"
# Quét mạng và lấy địa chỉ IP của địa chỉ MAC được chỉ định, nếu có.
PHONEIP=$(sudo nmap -sP -n 192.168.2.0/24 | grep -B2 "$mac" | grep -Eoi "192\.168\.2\.[0-9]+")
nếu [[ $PHONEIP == "" ]];thì
    tiếng vang "không tìm thấy $MAC."
khác
    echo "Đã tìm thấy $MAC tại $PHONEIP"
fi

Nhưng bạn phải cung cấp địa chỉ MAC của Điện thoại làm đối số đầu tiên hoặc bạn có thể thay đổi dòng mac="$1" đến mac="<your-phone-mac>".

Lưu ý: Bạn sẽ cần có đặc quyền siêu người dùng để sử dụng tập lệnh này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.