❶ javaWeb開發,如何取得客戶端的MAC,注意,客戶端是子網的一個PC
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.InetAddress;
importjava.net.NetworkInterface;
/**
*與系統相關的一些常用工具方法.
*
*@authorlvbogun
*@version1.0.0
*/
publicclassSystemTool{
/**
*獲取當前操作系統名稱.return操作系統名稱例如:windowsxp,linux等.
*/
publicstaticStringgetOSName(){
returnSystem.getProperty("os.name").toLowerCase();
}
/**
*獲取unix網卡的mac地址.非windows的系統默認調用本方法獲取.
*如果有特殊系統請繼續擴充新的取mac地址方法.
*
*@returnmac地址
*/
(){
Stringmac=null;
BufferedReaderbufferedReader=null;
Processprocess=null;
try{
//linux下的命令,一般取eth0作為本地主網卡
process=Runtime.getRuntime().exec("ifconfigeth0");
//顯示信息中包含有mac地址信息
bufferedReader=newBufferedReader(newInputStreamReader(
process.getInputStream()));
Stringline=null;
intindex=-1;
while((line=bufferedReader.readLine())!=null){
//尋找標示字元串[hwaddr]
index=line.toLowerCase().indexOf("hwaddr");
if(index>=0){//找到了
//取出mac地址並去除2邊空格
mac=line.substring(index+"hwaddr".length()+1).trim();
break;
}
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
if(bufferedReader!=null){
bufferedReader.close();
}
}catch(IOExceptione1){
e1.printStackTrace();
}
bufferedReader=null;
process=null;
}
returnmac;
}
/**
*獲取widnows網卡的mac地址.
*
*@returnmac地址
*/
(){
Stringmac=null;
BufferedReaderbufferedReader=null;
Processprocess=null;
try{
//windows下的命令,顯示信息中包含有mac地址信息
process=Runtime.getRuntime().exec("ipconfig/all");
bufferedReader=newBufferedReader(newInputStreamReader(
process.getInputStream()));
Stringline=null;
intindex=-1;
while((line=bufferedReader.readLine())!=null){
System.out.println(line);
//尋找標示字元串[physical
index=line.toLowerCase().indexOf("physicaladdress");
if(index>=0){//找到了
index=line.indexOf(":");//尋找":"的位置
if(index>=0){
System.out.println(mac);
//取出mac地址並去除2邊空格
mac=line.substring(index+1).trim();
}
break;
}
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
if(bufferedReader!=null){
bufferedReader.close();
}
}catch(IOExceptione1){
e1.printStackTrace();
}
bufferedReader=null;
process=null;
}
returnmac;
}
/**
*windows7專用獲取MAC地址
*
*@return
*@throwsException
*/
()throwsException{
//獲取本地IP對象
InetAddressia=InetAddress.getLocalHost();
//獲得網路介面對象(即網卡),並得到mac地址,mac地址存在於一個byte數組中。
byte[]mac=NetworkInterface.getByInetAddress(ia).getHardwareAddress();
//下面代碼是把mac地址拼裝成String
StringBuffersb=newStringBuffer();
for(inti=0;i<mac.length;i++){
if(i!=0){
sb.append("-");
}
//mac[i]&0xFF是為了把byte轉化為正整數
Strings=Integer.toHexString(mac[i]&0xFF);
sb.append(s.length()==1?0+s:s);
}
//把字元串所有小寫字母改為大寫成為正規的mac地址並返回
returnsb.toString().toUpperCase();
}
}
寫一個全局攔截的servlet,只要有請求的時候就調用這個類裡面的獲取mac地址的方法
Stringos=getOSName();
System.out.println(os);
if(os.equals("windows7")){
Stringmac=getMACAddress();
System.out.println(mac);
}elseif(os.startsWith("windows")){
//本地是windows
Stringmac=getWindowsMACAddress();
System.out.println(mac);
}else{
//本地是非windows系統一般就是unix
Stringmac=getUnixMACAddress();
System.out.println(mac);
}
記得判斷一下是什麼系統
❷ 抓到的包怎麼解析出web伺服器ip和mac,如果能對應的是源mac還是目的mac
默認情況:
源目ip不改變,源mac為當前路由器的介面mac,目的mac為下一跳介面的目的mac。
如果有nat的設置
比如PAT
目的ip不發生變化,源ip變為pat介面的ip,源埠也會發生變化,並在路由器中生成轉換條目,源mac為當前路由器的介面mac,目的mac為下一跳介面的目的mac。
如果是靜態轉換,1對1的(內到外)
目的ip不發生變化,源ip變為pat介面的ip,源mac為當前路由器的介面mac,目的mac為下一跳介面的目的mac。
如果是靜態轉換,1對1的(外到內)
源ip不發生變化,目的ip變為目的設備的IP,源mac為當前路由器的介面mac,目的mac為下一跳介面的目的mac。
❸ MAC OX 10.6操作系統如何做web伺服器
系統偏好設置里有個共享設置,打開後裡面有個似乎是網路共享(我的是英文「web sharing」,不知道中文系統里叫什麼),點上前面的鉤,就開啟伺服器了,點問號就有詳細的幫助說明。PS:不需要安裝任何軟體,除非你有特殊需要。
❹ 如何配置Mac系統自帶的ApacheWeb伺服器 測試10.10可用
Apache是普通伺服器,本身只支持html即普通網頁,可以通過插件支持PHP,還可以與Tomcat連通(單向Apache連接Tomcat,就是說通過Apache可以訪問Tomcat資源。Tomcat無法取訪問Appache資源)。Appache只支持靜態網頁,但像asp,php,cgi,jsp等動態就需要Tomcat來處理。對於Apache Tomcat 估計很多童鞋都會,那麼今天就簡單說下在mac上進行tomcat的安裝; 昨天下載了一下Tomcat本以為很快完成,不過還是遇到了一些坑,簡單的介紹下安裝過程: 1.下載Tomcat mac下載zip和tar.gz都行,我下載的是tar.gz 2.壓縮之後直接拷貝到資源庫中,壓縮後的文件夾名稱為Tomcat8,具體位置如下: 3.打開終端,輸入以下命令Library/Tomcat8/bin/startup.sh,瀏覽器中輸入localhost:8080,就可以看到一下效果: 如果遇到提示No such file or directory錯誤提示,需要執行sudo chmod 755 Library/Tomcat/bin/*.sh,然後重新執行startup.sh,如果想停止Tomcat,直接執行shutdown.sh即可。在執行sudo時,必須使用帶密碼的用戶。如果每次寫路徑比較麻煩,這個時候需要設置環境變數。 4.設置Tomcat的環境變數: ①輸入touch .bash_profile ( pico .bash_profile 也行) ②打開bash_profile open -e .bash_profile(nano .bash_profile亦可) ③輸入export PATH=$PATH:/Users/keso/Library/Tomcat8/bin ④更新配置的環境變數source .bash_profile ⑤驗證是否成功,終端中輸入$PATH 顯示如下-bash: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/keso/Library/Tomcat8/bin: No such file or directory 5.終端中輸入startup.sh, startup.sh後出現類似 “Permission denied” ,這個時候需要對目錄進行許可權設置:輸入 sudo chmod 755 Library/Tomcat8/bin/*.sh 回車,設置文件的讀寫執行許可權; 6.設置完成之後startup.sh會顯示啟動: 7.關閉需要使用shutdown.sh即可; 題外話:sudo通常為系統超級管理員755 代表用戶對該文件擁有讀,寫,執行的許可權,同組其他人員擁有執行和讀的許可權,沒有寫的許可權,其他用戶的許可權和同組人員許可權一樣。777代表,user,group ,others ,都有讀寫和可執行許可權。 管理Mac OS自帶的Apache Mac OS X 內置了Apache 和 PHP 管理方法一: 打開“系統設置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)” 管理方法二: 啟動Apache:運行“sudo apachectl start”,再輸入root帳號密碼 停止Apache:運行“sudo apachectl stop”, 查看Apache:版本:運行“sudo apachectl -v”, 重啟Apache:運行“sudo apachectl restart” Mac OS中Apache文件默認存放位置 Mac OS 的Apache2的配置文件(httpd.config)保存在/etc/apache2 Mac OS 的Apache2的程序文件(httpd, ab) 保存在/usr/sbin/ Mac OS 的Apache2的默認根目錄:/Library/WebServer/Documents 修改Apache2的配置文件,在終端運行“sudo vi /etc/apache2/httpd.conf”,打開Apche的配置文件進行修改。 Mac OS中修改hosts配置 運行“sudo vi /etc/hosts”,打開hosts配置文件,可本機DNS解悉。 Mac OS自帶的Apache的ab壓力測試工具說明 MAC OS自帶了一個apache2.2.22,配套的ab測試工具不好使,無法使用。 所以2012年3月25日,在/usr/local/apache中安裝了新的apache 2.4.1。 並把/usr/local/apache/bin/ab拷貝到了/usr/sbin/ab中,覆蓋了原有的AB。 ab的版本都是2.3,小號不同。現在ab測試工具好使了。 Mac OS運行PHP 在終端中運行“sudo vi /etc/apache2/httpd.conf”,打開Apache的配置文件。 找到“#LoadMole php5_mole libexec/apache2/libphp5.so”,把前面的#號去掉,保存並退出vi(在命令行輸入:wq)。 運行“sudo cp /etc/php.ini.default /etc/php.ini”,這樣就可以運行sudo vi /etc/php.ini來編輯php.ini配置各種功能了。比如: Java代碼 ;通過下面兩項來調整PHP提交文件的最大值,如phpMyAdmin中導入數據的最大值 upload_max_filesize = 2M post_max_size = 8M ;通過display_errors來控制是否顯示PHP程序的報錯信息,這在調試PHP程序時非常有用 display_errors = Off 運行“sudo apachectl restart”,重啟Apache,這樣PHP就可以用了。 運行“sudo cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php”,即在Apache的根目錄下復制index.html.en文件並重命名為info.php。 在終端中運行“sudo vi /Library/WebServer/Document/info.php”,這樣就可以在vi中編輯info.php文件了。 在“It’s works!”後面加上“”,然後保存之。如此就可以在localhost/info.php中看到有關PHP的信息,比如10.8中內置PHP版本號是5.3.13。 Mac OS終端配色 修改~/.bash_profile文件,在文件中加入下面幾行配置。 # for color export CLICOLOR=1 # h:W u$ export PS1='[33[01;33m]u@h[33[01;31m] W$[33[00m] ' # grep alias grep='grep --color=always' Mac OS安裝Nginx 安裝nginx時依賴的PCRE、zlib庫,我系統里已自帶這些。 但使用系統自帶的pcre時,make Nginx報錯: -lpcre -lcrypto -lcrypto -lz Undefined symbols for architecture x86_64: "_pcre_free_study", referenced from: _ngx_pcre_free_studies in ngx_regex.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status make[1]: *** [objs/nginx] Error 1 make: *** [build] Error 2 我本機使用的是brew包管理器(不喜歡ports) 使用brew包管理工具重新安裝pcre(brew install pcre),問題沒有解決。 又把pcre卸載了。 手動安裝pcre,也不行。 只能按照料官方說的,安裝mac ports,然後利用port安裝pcre。 sudo port install pcre
❺ mac怎麼搭建本地web伺服器
Mac OS X系統已經自帶了Apache伺服器,並且自帶php編譯器
打開終端,輸入 sudo apachectl start sudo表示用root許可權運行
輸入密碼,輸入時無提示,輸入完後回車確認
打開瀏覽器,在瀏覽器中輸入本機ip地址 進入系統偏好設置-網路 可查看本機ip
此時暫不開啟php編譯器,在文本中編寫一個靜態網頁
<html>
<title>第一個頁面</title>
<body>
<h2>ios開發教程</h2>
<ol>
<li>第一課oc實現類的定義</li>
<li>第二課oc實現對象的定義</li>
</ol>
開啟阿帕奇伺服器之後,電腦就是一個web伺服器,將.html的文本保存在桌面上,並利用復制粘貼的功能將其保存在磁碟目錄下,即根目錄下。資源庫-WebServer-Documents,改過程中會提示出入管理員密碼,可利用顯示中的顯示文件路徑。此時打開瀏覽器輸入ip地址即可查看到該頁面。
❻ mac下有哪些web網站漏洞掃描的工具
WebScarab:它可以分析使用HTTP和HTTPS協議進行通信的應用程序,WebScarab可以用最簡單地形式記錄它觀察的會話,並允許操作人員以各種方式觀查會話。如果你需要觀察一個基於HTTP(S)應用程序的運行狀態,那麼WebScarabi就可以滿足你這種需要。不管是幫助開發人員調試其它方面的難題,還是允許安全專業人員識別漏洞,它都是一款不錯的工具。
❼ 如何在mac上快速搭建web伺服器
如果你是蘋果電腦,Mac OS X系統已經自帶了Apache伺服器,並且自帶php編譯器
打開終端,輸入 sudo apachectl start sudo表示用root許可權運行
輸入密碼,輸入時無提示,輸入完後回車確認
打開瀏覽器,在瀏覽器中輸入本機ip地址 進入系統偏好設置-網路 可查看本機ip
此時暫不開啟php編譯器,在文本中編寫一個靜態網頁
<html>
<title>我的第一個頁面</title>
<body>
<h2>ios開發教程</h2>
<ol>
<li>第一課oc實現類的定義</li>
<li>第二課oc實現對象的定義</li>
</ol>
開啟阿帕奇伺服器之後,電腦就是一個web伺服器,將.html的文本保存在桌面上,並利用復制粘貼的功能將其保存在磁碟目錄下,即根目錄下。資源庫-WebServer-Documents,改過程中會提示你出入管理員密碼,可利用顯示中的
顯示文件路徑。
此時打開瀏覽器輸入你的ip地址即可查看到該頁面。
只要將文件放到該路徑下,所有的主機都可以看到你的網頁。
要想用網頁實現一個用戶登錄的功能,就需要一個動態的網頁,必須開啟php模塊。
開啟php模塊要先進apache的配置文件。
新建一個文本,創建一個php文件
<?php
$a=3;
$b=4;
echo $a+$b;
?>
將其保存到桌面上,並用復制粘貼的功能將其保存到磁碟目錄下的 資源庫-WebServer-Documents下
開啟php編譯器,打開終端
輸入 cd /
cd etc
cd apache2/
之後就進入apache2的目錄下,可輸入ls查看目錄。
輸入 sudo vi httpd.conf 回車
在apache的配置信息中,可以看到一個#loadModole php5_mole的模塊,我們需要將其前面的#刪除,將游標移動到#位置,按一下鍵盤上的「i」,可以看到#已經消失,然後按esc鍵,輸入「:x「表示保存,按回車確認。":q"表示不保存退出。
執行 sudo apachectl stop
在重新啟動 sudo apachectl start 回車確認
再次訪問你的ip地址進入.php文件會發現輸出結果時7,查看源碼時也是7。
新建一個頁面作為登錄界面 login.html
<html>
<title>留言系統用戶登錄</title>
<body>
<h1>留言系統用戶登錄</h1>
<form action="logincheck.php" method="GET">
用戶名:<input type="text" value=""></input><br>
密碼:<input name="ps" type="password" value=""></input><br>
<input type="submit" value="登錄"/>
</form>
</body>
</html>
保存到桌面。雙擊打開之後把編碼改成utf8,可以看到登錄界面。
新建一個 logincheck.php文件
<?php
$username=$_GET["us"];
$password=$_GET["ps"];
if($username=="wangyi"&&$password=="123")
{
echo "login ok";
}
else
{
echo "login error please click <a href='login.html'>here</a> retry"
}
❽ WEB伺服器為什麼取不到用戶的MAC地址
單純依靠前端js或者台代碼做
js沒許可權沒提供介面供獲取客戶機mac址台更用說能看客戶機ip址(未必客戶機真ip址客戶機能內網面)看mac址
依靠前端插件能夠實現客戶設置瀏覽器允許運行插件才行