473,769 Members | 1,748 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

uniquely identify a computer -- use which Mac address?

Hi,

If I want to uniquely identify a computer. I can read CPU ID or Mac Address.

I heard, but is this true: some BIOS can block CPU ID from being read? (In
this case, will I get an exception, null or empty string for method
managementObjec t.Properties["ProcessorI d"]?)

So maybe Mac address is better way. But when I read Mac address for my
laptop, I got:
Mac: 50:50:54:50:30: 30 TcpNumConnectio ns: SettingID:
{737A20C3-2927-422C-9420-698FD1EDC3D1} Caption: [00000001] WAN ΢Ͷ˿
(PPTP) Description: WAN ΢Ͷ˿ (PPTP) Index: 1 IPAddress:

Mac: 33:50:6F:45:30: 30 TcpNumConnectio ns: SettingID:
{180F0C5B-E52F-42D0-9872-09CAE6FF6621} Caption: [00000002] WAN ΢Ͷ˿(PPPOE)
Description: WAN ΢Ͷ˿(PPPOE) Index: 2 IPAddress:

Mac: 00:1A:A0:FD:DB: 9B TcpNumConnectio ns: SettingID:
{3F1DA70A-7956-4E9B-944F-AE4D27373C1D} Caption: [00000004] Broadcom
NetLink (TM) Fast Ethernet Description: Broadcom NetLink (TM) Fast
Ethernet Index: 4 IPAddress: System.String[]

Mac: 02:00:54:55:4E: 01 TcpNumConnectio ns: SettingID:
{CFC0D5EC-E14D-47BF-9C78-C6E1C6B97AD5} Caption: [00000005] Microsoft Tun
Miniport Adapter Description: Microsoft Tun Miniport Adapter Index: 5
IPAddress:

Mac: 00:1B:77:94:80: 52 TcpNumConnectio ns: SettingID:
{A8F431A8-D0FE-4F00-A63C-53C643B4FB85} Caption: [00000008] Intel(R)
PRO/Wireless 3945ABG Network Connection Description: Intel(R) PRO/Wireless
3945ABG Network Connection Index: 8 IPAddress:
Ocz, I don't want to use those of PPTP. I really want to is the Mac address
of the NIC for wired local network.

Since it is the most reliable one and the NIC is not a pluggable card. But
I haven't find a suitable property to locate it.

What is the best one to find it among all those Mac address in my code? Or
there is better way to unique identify a computer?

Thanks a lot!

~.~.~.~.~.~.~.~ .~.~.~.~.~.~.~. ~.~.~.~.

Ryan Liu

Shanghai Fengpu Software Co. Ltd
Shanghai , China

http://www.PowerCATI.com Powerful CATI!
http://www.fpsoft.net.cn
~.~.~.~.~.~.~.~ .~.~.~.~.~.~.~. ~.~.~.~.

Dec 28 '07 #1
6 12796
On Fri, 28 Dec 2007 11:04:31 -0800, Ryan Liu <rl**@PowerCATI .comwrote:
[...]
What is the best one to find it among all those Mac address in my code?
Or there is better way to unique identify a computer?
There is no 100% reliable way to uniquely identify a computer. The MAC
address is in particular unreliable, since network hardware can change
very easily (false negative), and the hardware-supplied MAC address can be
overridden (false positive).

Pete
Dec 28 '07 #2
Ryan Liu wrote:
Hi,

If I want to uniquely identify a computer. I can read CPU ID or Mac
Address.
Why do you need to do that?

As posted by Peter, there is no reliable way to do that, but perhaps if
you tell us about the problem you're trying to solve, someone might have
a better idea of how to help you.

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Dec 28 '07 #3
As has been pointed out already, there is no 100% failsafe way to uniquely
identify a PC via Hardware id's. However, of the 2 choices, the CPU ID is the
least likely to change. MAC addresses can be easily changed at will without
even changing the network card. For example, Etherchange is a free utility
that will do this.
-- Peter
Site: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
MetaFinder: http://www.blogmetafinder.com
"Ryan Liu" wrote:
Hi,

If I want to uniquely identify a computer. I can read CPU ID or Mac Address.

I heard, but is this true: some BIOS can block CPU ID from being read? (In
this case, will I get an exception, null or empty string for method
managementObjec t.Properties["ProcessorI d"]?)

So maybe Mac address is better way. But when I read Mac address for my
laptop, I got:
Mac: 50:50:54:50:30: 30 TcpNumConnectio ns: SettingID:
{737A20C3-2927-422C-9420-698FD1EDC3D1} Caption: [00000001] WAN 微型端口
(PPTP) Description: WAN 微型端口 (PPTP) Index: 1 IPAddress:

Mac: 33:50:6F:45:30: 30 TcpNumConnectio ns: SettingID:
{180F0C5B-E52F-42D0-9872-09CAE6FF6621} Caption: [00000002] WAN 微型端口(PP POE)
Description: WAN 微型端口(PP POE) Index: 2 IPAddress:

Mac: 00:1A:A0:FD:DB: 9B TcpNumConnectio ns: SettingID:
{3F1DA70A-7956-4E9B-944F-AE4D27373C1D} Caption: [00000004] Broadcom
NetLink (TM) Fast Ethernet Description: Broadcom NetLink (TM) Fast
Ethernet Index: 4 IPAddress: System.String[]

Mac: 02:00:54:55:4E: 01 TcpNumConnectio ns: SettingID:
{CFC0D5EC-E14D-47BF-9C78-C6E1C6B97AD5} Caption: [00000005] Microsoft Tun
Miniport Adapter Description: Microsoft Tun Miniport Adapter Index: 5
IPAddress:

Mac: 00:1B:77:94:80: 52 TcpNumConnectio ns: SettingID:
{A8F431A8-D0FE-4F00-A63C-53C643B4FB85} Caption: [00000008] Intel(R)
PRO/Wireless 3945ABG Network Connection Description: Intel(R) PRO/Wireless
3945ABG Network Connection Index: 8 IPAddress:
Ocz, I don't want to use those of PPTP. I really want to is the Mac address
of the NIC for wired local network.

Since it is the most reliable one and the NIC is not a pluggable card. But
I haven't find a suitable property to locate it.

What is the best one to find it among all those Mac address in my code? Or
there is better way to unique identify a computer?

Thanks a lot!

~.~.~.~.~.~.~.~ .~.~.~.~.~.~.~. ~.~.~.~.

Ryan Liu

Shanghai Fengpu Software Co. Ltd
Shanghai , China

http://www.PowerCATI.com Powerful CATI!
http://www.fpsoft.net.cn
~.~.~.~.~.~.~.~ .~.~.~.~.~.~.~. ~.~.~.~.

Dec 28 '07 #4

"Peter Duniho" <Np*********@nn owslpianmk.com 入消息
news:op******** *******@petes-computer.local. ..
On Fri, 28 Dec 2007 11:04:31 -0800, Ryan Liu <rl**@PowerCATI .comwrote:
>[...]
What is the best one to find it among all those Mac address in my code?
Or there is better way to unique identify a computer?

There is no 100% reliable way to uniquely identify a computer. The MAC
address is in particular unreliable, since network hardware can change
very easily (false negative), and the hardware-supplied MAC address can be
overridden (false positive).

Pete

Thanks for all the reply.

I have an client/server application, and I want to control the license seat
of client. The problem is the client does not always connected to server.

Ryan

Dec 29 '07 #5
On Fri, 28 Dec 2007 21:45:55 -0800, Ryan Liu <rl**@PowerCATI .comwrote:
I have an client/server application, and I want to control the license
seat of client. The problem is the client does not always connected to
server.
Well, you can't do that with 100% reliability. So the question comes down
to just how reliable do you need it?

IMHO, software publishers' desire to control licensing and user activity
is over-done. I've said it many times, and I'll say it again: copy
protection carries a huge cost in terms of being friendly, or even usable
in some situations, for your paid users, and that cost is not justified by
whatever marginal increase in sales copy protection might result in (and
I've yet to see any scientifically valid study that shows that copy
protection leads to _any_ increase in actual sales).

Even if you go with a hardware-based approach, like supplying a dongle to
users, someone can always hack your software so that the dongle is not
needed. There is literally no way to prevent software that's supposed to
run standalone from being illegally copied, and even using a server-based
licensing scheme that requires the user to contact the license server can
be hacked. There's just no way to control what happens on a computer that
is not in your physical control.

If you search this newsgroup you'll find a number of threads regarding the
exact same topic. So there's probably no need to rehash it all again.
Just Google on keywords like "license", "copy protection", etc. Suffice
to say, I have a lot of skepticism regarding how worthwhile your goal is,
and whether it's even achievable.

Personally, I'd say that you should ensure that the client/server aspect
of your application is strong enough that it makes it worth paying for,
and don't worry about whether people are using the application without
your paid server support. That approach will get you practically the same
number of customers you'd have otherwise, possibly even more, and as a
bonus you won't waste any time on implementing complicated licensing
schemes, nor will your paid users have to waste their valuable time trying
to figure out problems caused by a complicated licensing scheme that
doesn't work perfectly.

Or look at it another way: your customers paid YOU for the privilege of
using your product, so that the product can serve THEIR needs. In what
way does it make sense to deliver to your customer any feature that
instead of serving their needs, serves your own (perceived or real)?

If you must implement some sort of licensing scheme, keep it simple...just
enough to keep honest users honest, without _any_ chance whatsoever of
interfering with a user's ability to use the software. Trying to come up
with some sort of "tied to the installed computer" licensing scheme is
doomed to failure; I've got the scars from dealing with Microsoft asinine
"Product Activation" crap to prove it (and only because I paid for my
software...the pirates have no such troubles).

Pete
Dec 29 '07 #6
<snipI've got the scars from dealing with Microsoft asinine *
"Product Activation" crap to prove it (and only because I paid for my *
software...the pirates have no such troubles).

Pete
Just right, check CPU ID, MAC Address, graphic card and voltage,
temperature (why not) - but have a nice helpdesk that helps your
customers with problems
bying a new computer, changing ethernet card, going wlan, upgrading
cpu, memory, mouse, keyboard,
anything... as long as thy can fix it in 20 sec from the customer
realizes he/she has a problem
then it should not be a problem...

dont really know how to spell it but "asinine" is probably right..
will check out what that means, but I have a fairly good idea...
why not "user complexotoxic"? beat the hackers, lost the customers to
google...

//CY
Dec 29 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2878
by: muser8 | last post by:
What is the best way in which to uniquely identify anonymous visitors to an asp.net website? I'd like to create on online poll, but I want to guard against people hitting the refresh button, scripting posts to the web form, deleting cookies, ect Does anyone have any ideas or know where I might find any good online resources? TIA, Sean
6
2253
by: Alan Silver | last post by:
Hello, After much battling, I think I am finally seeing some progress on my first user control (thanks to the patient souls who have answered my many questions!!). I am left with one more problem though... As detailed elsewhere, I have identified the need to use the ViewState to hold a flag that indicates whether or not this is the first time the control is loaded (ie if the flag isn't in the ViewState then it's the first time,...
4
6097
by: Goh | last post by:
Hi, I would like to know how can we implement a web page that intelligent enough to unique identify that pc have been visit before without any cookies and login user require. I have try implement this by MAC address. When user browser the web site I sometime can get user pc MAC and sometime no. Why this type of implementation are so not consistency? Does any
0
1214
by: bazzer | last post by:
im trying to access a microsoft access database from an asp.net webform. but when i use the OdbcDataAdapter config wizard i get the following errors: *Generated UPDATE statement -could not determine which columns uniquely identify the rows for "Customers" *Generated DELETE statement
1
1843
by: Anoop Nair | last post by:
Hi I am developing scripts in C# which can be used to test windows based applications. I use Win32 API's to perform click operations etc. To uniquely identify a control in a window rather than using absolute position of a control I have been using Control-ids and captions of the control. But I found scenarios where the control-id was dynamic and the control didn't have a caption. What I mean by caption is the text of the control. A...
1
1565
by: 01423481d | last post by:
Hi all Here is a segment of code used to find out all running processes Imports System.Diagnostics .... Dim myProcesses() As Process Dim myProcess As Process
1
2332
Logan1337
by: Logan1337 | last post by:
Hello, I'm writing a shareware app that needs to be unlocked with a serial number key. I want the key to be encrypted (that is, digitally signed) such that the app can verify that it was generated by me and no one else. I also want to include information that ties the key directly to the computer it was purchased for. I have been exploring various ways to do this, but want to know if anyone has any tips/advice for doing this. So far I have...
10
4510
by: Frankie | last post by:
It appears that System.Random would provide an acceptable means through which to generate a unique value used to identify multiple/concurrent asynchronous tasks. The usage of the value under consideration here is that it is supplied to the AsyncOperationManager.CreateOperation(userSuppliedState) method... with userSuppliedState being, more or less, a taskId. In this case, the userSuppliedState {really taskId} is of the object type,...
23
5741
by: raylopez99 | last post by:
A quick sanity check, and I think I am correct, but just to make sure: if you have a bunch of objects that are very much like one another you can uniquely track them simply by using an ArrayList or Array, correct? An example: create the object, create an array, the stuff the object into the array. Later on, assume the object is mutable, the object changes, but you can find it, if you have enough state information to uniquely identify...
0
9589
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main usage, and What is the difference between ONU and Router. Lets take a closer look ! Part I. Meaning of...
0
9423
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10212
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9995
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7410
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupr who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6674
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5447
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3563
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.