On Thu, Aug 27, 2009 at 03:27:55PM -0700, Edward Benn wrote:
> the NAC application itself is only supported on windows. but they have a Java 
> Applet that automatically pops up to load.
> 
> When this applet launches, it gives me the error that it can't obtain the 
> "client mac address"
> 
> here is their compatibility matrix
> 
> http://www.cisco.com/en/US/docs/security/nac/appliance/support_guide/agntsprt.html#wp53004

Just for fun, try saving the program below as "MacAddresses.java" and
compile/run it on your system:

    % javac MacAddresses.java
    % java MacAddresses

If you don't have "javac" on your system, you'll need to do a :

    % pfexec pkg install SUNWj6dev

Not to say that the Cisco Clean Agent uses this method to grab MAC
addresses (it should), but this will verify that your JVM is working
properly on your OpenSolaris system.

My output is similiar to this:

  Interface: vboxnet0
    -- MAC address = Not available
  Interface: e1000g0
    -- MAC address = MAC address = 00 14 4F 28 2E F2 
  Interface: lo0
    -- MAC address = Not available

  
-----------------------------------------------------------
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.io.IOException;

public class MacAddresses
{
    public static void main(String[] args) throws IOException
    {
            Enumeration<NetworkInterface> interfaces = 
                NetworkInterface.getNetworkInterfaces();

            while (interfaces.hasMoreElements()) {
                NetworkInterface nif = interfaces.nextElement();

                String name = nif.getDisplayName();
                byte[] macAddress = nif.getHardwareAddress();

                System.out.println("Interface: " + name);
                System.out.print("  -- MAC address = ");
                if (macAddress != null) {
                    for (byte x: macAddress)
                        System.out.print(String.format("%1$02X ", x));
                        System.out.println();
                }
                else
                    System.out.println("Not available");
            }
    }            
}

Reply via email to