Wi-Fi ইন্টারফেস ডিভাইসের নাম পান


19

নেটওয়ার্ক ডিভাইসের নামগুলি সন্ধানের আগের প্রশ্নের অনুরূপ , আমি কেবলমাত্র Wi-Fi ডিভাইসের জন্য ডিভাইসের নামের একটি (নির্ভরযোগ্য) তালিকা পেতে চাই। যাতে এটি আপনার নামকরণ কাঠামোর উপর নির্ভর করে নীচের মত দেখাচ্ছে:

wlan0
wlan1

অথবা

wlp5s0
wlp5s1

উত্তর:


15

লিনাক্সটিতে আপনার কাছে iw(ওয়্যারলেস ডিভাইস এবং তাদের কনফিগারেশন দেখান / পরিচালনা করুন) এবং devকমান্ডটি ব্যবহার করার সময় :

Commands:
    dev
        List all network interfaces for wireless hardware.

এটাই

iw dev

আপনি কিছু পাবেন:

phy#0
    Interface wlan0
        ifindex 3
        wdev 0x1
        addr 00:12:32:e4:18:24
        type managed
phy#1
    Interface wlan1
        ifindex 4
        wdev 0x2
        addr 00:12:22:c6:b2:0a
        type managed

আপনি যদি কেবল ইন্টারফেসের নামগুলি বের করতে চান তবে আপনি সর্বদা আউটপুট যেমন প্রক্রিয়া করতে পারেন

iw dev | awk '$1=="Interface"{print $2}'

সাহায্য পৃষ্ঠাটি পরিষ্কার মনে রাখবেন:

Do NOT screenscrape this tool, we don't consider its output stable.

আমি এই উত্তরটি পছন্দ করি, এটি সমস্যাটি সমাধান করে, তবে স্ক্র্যাপিং না করার বিষয়টি আমার সম্পর্কে উদ্বেগ প্রকাশ করে এবং আমাকে ভাবায় যে এর থেকে আরও ভাল উপায় আর হতে পারে। আমি আপাতত এই খোলা ছেড়ে যেতে চাই
ম্যাট কপারওয়াইট

9

কমপক্ষে উবুন্টুতে, এমন /proc/net/wirelessফাইল রয়েছে যা ওয়াই-ফাই ইন্টারফেসগুলি সম্পর্কে বিশদ ধারণ করে। আমার জন্য কোন ফলাফল:

$ cat /proc/net/wireless
Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
 face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
wlp5s0: 0000   36.  -74.  -256        0      0      0     16  33004        0

এটি একটু অগোছালো তবে ডিভাইসের নাম সেখানে রয়েছে।

কেবল ইন্টারফেসের নাম পেতে:

cat /proc/net/wireless | perl -ne '/(\w+):/ && print $1'

perlকোড কোলন পূর্ববর্তী শব্দ অক্ষরের স্ট্রিং ছাপে।


এটি আমার পক্ষে কার্যকর হয়নি - সম্ভবত আমার বেতার কার্ডটি অক্ষম (তবে সনাক্তযোগ্য)।
imbuedHope

9

আপনার যদি sysfs / sys মাউন্ট করা থাকে তবে নিম্নলিখিত কমান্ডগুলি কাজ করে:

# find /sys/class/net -follow -maxdepth 2 -name wireless | cut -d / -f 5
wlan0
# find /sys/class/net -follow -maxdepth 2 -name phy80211 | cut -d / -f 5
wlan0

বা, ছাড়া find:

for dev in `ls /sys/class/net`; do
  if [ -d "/sys/class/net/$dev/wireless" ]; then echo $dev; fi;
done

প্রথমটি ডিরেক্টরি /sys/class/netসহ সমস্ত ডিভাইস খুঁজে পায় wireless(যা কেবলমাত্র ওয়াইফাই ডিভাইসের চেয়ে বেশি হতে পারে) এবং দ্বিতীয়টি 802.11 এর সাথে সামঞ্জস্যপূর্ণ ডিভাইসগুলি সন্ধান করে

কার্নেল ৪.৪ পরীক্ষিত


7

জোশের উত্তরে বিল্ডিং , আমি ভিতরে /sys/class/netএকটি wirelessডিরেক্টরি সহ ডিরেক্টরিগুলি সনাক্ত করতে এবং awkডিভাইসটির নামটি ধরতে শেল গ্লোব ব্যবহার করব :

# find the directories
$ printf '%s\n' /sys/class/net/*/wireless # substitute with phy80211 if desired
/sys/class/net/wlp4s0/wireless
# filter out the "device" part
$ printf '%s\n' /sys/class/net/*/wireless | awk -F'/' '{ print $5 }'
wlp4s0

1

অ্যান্ড্রয়েড 4, অ্যান্ড্রয়েড 7.1 এবং অ্যান্ড্রয়েড 9 এবং আর্কলিনাক্সে সর্বজনীন উপায় (নন রুট) পরীক্ষা করা হয়েছে।

ls /sys/class/ieee80211/*/device/net/
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.