How to resolve the algorithm MAC vendor lookup step by step in the Nu programming language
How to resolve the algorithm MAC vendor lookup step by step in the Nu programming language
Table of Contents
Problem Statement
Every connected device around the world comes with a unique Media Access Control address, or a MAC address. A common task a network administrator may come across is being able to identify a network device's manufacturer when given only a MAC address.
Interface with one (or numerous) APIs that exist on the internet and retrieve the device manufacturer based on a supplied MAC address. A MAC address that does not return a valid result should return the String "N/A". An error related to the network connectivity or the API should return a null result. Many implementations on this page use http://api.macvendors.com/ which, as of 19th September 2021, is throttling requests. After only 2 calls, the following response is returned for all subsequent requests. If you are planning to use the same provider or going to run the examples on this page, consider building in a delay between two calls. {"errors":{"detail":"Too Many Requests","message":"Please slow down your requests or upgrade your plan at https://macvendors.com"}}
Let's start with the solution:
Step by Step solution about How to resolve the algorithm MAC vendor lookup step by step in the Nu programming language
Source code in the nu programming language
let mactable = http get "http://standards-oui.ieee.org/oui/oui.csv" | from csv --no-infer
def get-mac-org [] {
let assignment = $in | str upcase | str replace --all --regex "[^A-Z0-9]" "" | str substring 0..6
$mactable | where Assignment == $assignment | try {first | get "Organization Name"} catch {"N/A"}
}
# Test cases from the Ada entry
let macs = [
# Should succeed
"88:53:2E:67:07:BE"
"D4:F4:6F:C9:EF:8D"
"FC:FB:FB:01:FA:21"
"4c:72:b9:56:fe:bc"
"00-14-22-01-23-45"
# Should fail
"23-45-67"
"foobar"
]
$macs | each {{MAC: $in, Vendor: ($in | get-mac-org)}}
You may also check:How to resolve the algorithm Metallic ratios step by step in the Go programming language
You may also check:How to resolve the algorithm Metaprogramming step by step in the C programming language
You may also check:How to resolve the algorithm Non-decimal radices/Input step by step in the Ada programming language
You may also check:How to resolve the algorithm Rock-paper-scissors step by step in the Run BASIC programming language
You may also check:How to resolve the algorithm Web scraping step by step in the Scala programming language