Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F136072
localMac_addr.go
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
localMac_addr.go
View Options
package
main
import
(
"fmt"
"net"
"strings"
"os"
)
func
main
()
{
// localMacAddr, err := net.()
// if err != nil{
// panic(err)
// }
// fmt.Println("Local MAC addr:",localMacAddr)
//
//
var
currentIP
,
currentNetworkHardwareName
string
currentIP
=
"134.197.41.183/22"
interfaces
,
_
:=
net
.
Interfaces
()
for
_
,
interf
:=
range
interfaces
{
if
addrs
,
err
:=
interf
.
Addrs
();
err
==
nil
{
for
index
,
addr
:=
range
addrs
{
if
addr
.
String
()
!=
"127.0.0.1/8"
{
log
.
Println
(
"["
,
index
,
"]"
,
interf
.
Name
,
">"
,
addr
)
// only interested in the name with current IP address
if
strings
.
Contains
(
addr
.
String
(),
currentIP
)
{
log
.
Println
(
"Use name : "
,
interf
.
Name
)
currentNetworkHardwareName
=
interf
.
Name
}
}
}
}
}
log
.
Println
(
"-------------------------------------------"
)
// extract the hardware information base on the interface name
// capture above
netInterface
,
err
:=
net
.
InterfaceByName
(
currentNetworkHardwareName
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
}
name
:=
netInterface
.
Name
macAddress
:=
netInterface
.
HardwareAddr
log
.
Println
(
"Hardware name : "
,
name
)
log
.
Println
(
"MAC address : "
,
macAddress
)
// verify if the MAC address can be parsed properly
hwAddr
,
err
:=
net
.
ParseMAC
(
macAddress
.
String
())
if
err
!=
nil
{
log
.
Println
(
"No able to parse MAC address : "
,
err
)
os
.
Exit
(
-
1
)
}
log
.
Println
(
"Physical hardware address : %s \n"
,
hwAddr
.
String
())
}
// net.Interfaces() // returns an array of interfaces
// net.InterfaceByName(oneOfTheReturnedInterfaces)
// ^.HardwareAddr
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Mon, Feb 24, 8:42 AM (18 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15169
Default Alt Text
localMac_addr.go (2 KB)
Attached To
rST sshtunnel
Event Timeline
Log In to Comment