簡體   English   中英

linux如何拉我的mac地址以通過鏈接發送?

[英]How does linux pull my mac address to send over the link?

我想構建一個MAC地址欺騙器,每次我的計算機啟動時都會吐出一個隨機的MAC地址。 我的問題是,我在Linux中的所有計算機程序如何以及從何處提取我的MAC地址。 我知道我的wi-fi網絡驅動程序負責告訴我的網卡要發送什么,但是該驅動程序從哪里獲得我的MAC地址? 我也知道MAC地址稱為硬件地址,但是由於可以欺騙MAC地址,因此它僅意味着發送信息時不必使用網卡上的MAC地址。 我想知道如何也可以做到這一點。

另外,在隨機分配我的MAC地址時,這應該可以與所有其他程序(例如我的網絡瀏覽器)以及我使用的其他程序一起使用,這應該不是問題,因為那真的是應用程序層,而不是鏈接層

謝謝

MAC地址通常存儲在網卡上的某種EEPROM中。 在組裝/發送netowrk數據包時,網絡適配器驅動程序將在初始化期間讀取此地址,並由MAC層使用此地址。

可以通過“ hw”選項使用“ ifconfig”在命令行上更改所使用的MAC地址:

hw class address

Set the hardware address of this interface, if the device driver
supports  this  operation.   The keyword must be followed by the
name of the hardware class and the printable ASCII equivalent of
the  hardware  address.   Hardware  classes  currently supported
include ether (Ethernet), ax25 (AMPR AX.25), ARCnet  and  netrom
(AMPR NET/ROM).

ifconfig本質上使用SIOCSIFHWADDR ioctl(請參閱http://linux.die.net/man/7/netdevice )來設置MAC地址。

在某些情況下,甚至可以更改存儲在網絡適配器本身上的MAC地址,請參閱http://linux.die.net/man/8/ethtool-但我不建議這樣做。

唯一關心您的MAC地址的是NIC本身。 不應有使用MAC地址的程序(包括瀏覽器)。 由於MAC地址是在物理層上使用的-這是唯一會讀取MAC的內容(例如路由器,交換機等)。

要設置NIC的MAC地址,您可以使用ifconfig命令: ifconfig eth0 hw ether ##:##:##:##:##:## (您可能必須先關閉網絡,進行設置, IE: ifconfig eth0 down; ifconfig eth0 hw ether ##:##:##:##:##:#; ifconfig eth0 up

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM