Điểm:1

Kiểm tra xem địa chỉ mac có trên mạng của tôi có hoạt động không ổn định không

lá cờ in
Cas

Tôi có một loạt địa chỉ mac và khi tất cả chúng không có trên mạng, tôi muốn làm gì đó. Đây là kế hoạch ban đầu của tôi:

mac_addresses=('1' '2' '3')
arp_output=$(arp)
cho cấp độ trong "${mac_addresses[@]}"
làm
   tiếng vang "$arp_output" | grep -iq "$level" || mac_count=$((mac_count+1))
xong

nếu [[ "$mac_count" = "${#mac_addresses[@]}" ]]
sau đó
   làm việc gì đó
fi

Tôi đang sử dụng địa chỉ mac của điện thoại để kiểm tra. Vì vậy, chỉ có một phần tử trong mảng: điện thoại của tôi.

Tôi nhận thấy rằng tập lệnh đang hoạt động không đáng tin cậy. Khi điện thoại của tôi được kết nối với mạng, tập lệnh không làm gì cả. Tốt. Khi tôi ngắt kết nối điện thoại của mình khỏi mạng (hay còn gọi là tắt wifi), nó vẫn không làm gì cả, mặc dù đến thời điểm này thì nó vẫn vậy (vì điện thoại của tôi không còn trên mạng nữa và đó là chiếc duy nhất trong mảng, vì vậy nó nên làm một cái gì đó vào thời điểm này).

Vì vậy, tôi đã thử một cách khác: sử dụng Sudo nmap -sn 192.168.2.*. Tuy nhiên, điều này cũng không hoạt động.

Khi điện thoại của tôi có mặt, nó không làm gì cả. Tôi ngắt kết nối điện thoại của mình và nó làm gì đó. Tôi kết nối lại điện thoại của mình và nó vẫn hoạt động, mặc dù điện thoại của tôi lại có mặt trên mạng. Và nó không phải là khoảng vài giây. Điện thoại của tôi đã kết nối lại mạng được 20 phút và nó vẫn hoạt động.

Có cách nào để sửa lỗi này? Có phải vì một số bộ nhớ đệm?

CHỈNH SỬA: [Phản hồi cho Minsky]

Xem những điều sau đây:

# "1" sẽ là địa chỉ mac của điện thoại của tôi
arp | grep -i "1" #phone đã kết nối với wifi
192.168.2.16 ête 1 C enp3s0

#PHONE HIỆN ĐÃ NGẮT KẾT NỐI

arp | grep -i "1" #phone not connect to wifi
192.168.2.16 ête 1 C enp3s0
arp | grep -i "1" #phone not connect to wifi
192.168.2.16 ête 1 C enp3s0
arp | grep -i "1" #phone not connect to wifi
192.168.2.16 ête 1 C enp3s0

ping -b 192.168.2.255
Sản lượng lớn; 192.168.2.16 không hiển thị ở đầu ra

arp | grep -i "1" #phone not connect to wifi
192.168.2.16 ête 1 C enp3s0

#PHONE HIỆN ĐÃ ĐƯỢC KẾT NỐI LẠI

arp | grep -i "1" #phone đã kết nối với wifi
192.168.2.16 ête 1 C enp3s0

sudo nmap -sn 192.168.2.* | grep "1"
#KHÔNG PHẢN HỒI; MÃ THOÁT 1
lá cờ ru
ARP chỉ hoạt động trong phân đoạn mạng của bạn - nó có nằm ngoài phạm vi mạng cục bộ của bạn trong một dải IP riêng biệt không? Bộ định tuyến / hệ thống wifi của bạn có thiết lập "quyền riêng tư" để cách ly các thiết bị với nhau không?
Cas avatar
lá cờ in
Cas
không trên cả hai câu hỏi. Cả hai thiết bị đều ở trên `192.168.2.XXX` và bộ định tuyến không được thiết lập để cách ly các thiết bị (không phải đó chỉ là của vlan sao?).
Minsky avatar
lá cờ mx
`arp` trên pc có tuân theo kết nối/ngắt kết nối điện thoại của bạn không? Ít nhất trong máy tính xách tay của tôi, tôi phải chạy `ping -b ` đầu tiên hoặc nó không cập nhật thiết bị (đôi khi). [[ đang xóa phần trước. bình luận để giữ cho nó sạch sẽ.]]
Cas avatar
lá cờ in
Cas
@Minsky xem chỉnh sửa trên bài gốc
meuh avatar
lá cờ cn
Bảng arp là một bộ đệm, vì vậy các mục cũ chỉ bị xóa sau một thời gian nhất định. Bạn nên dựa vào phản hồi `ping` để xem liệu thiết bị có còn ở đó không. Xem thêm `man ip neighbour` thay thế lệnh `arp`. Bạn có thể xóa bộ đệm bằng `ip neigh flush dev eth0` trong đó eth0 là giao diện, trước ping phát sóng.
Cas avatar
lá cờ in
Cas
Đó là cách dễ dàng hơn để ping thiết bị. Nhưng tôi chỉ có địa chỉ mac, không có địa chỉ ip. Vì vậy, tôi không thể biết địa chỉ ip nào để ping. Tôi chỉ có địa chỉ mac. Vì vậy, trước tiên tôi cần "chuyển đổi" địa chỉ mac thành địa chỉ ip. Tuy nhiên, làm thế nào bạn có thể làm điều đó?
meuh avatar
lá cờ cn
Bạn đã thực hiện ping truyền phát, `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.*.

Đă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.