⑴ C語言實現 獲取linux系統正在連接的無線網路的 網路名,和加密方式
第一步: 下載 aircrack
最簡單的方法就是找開Ubuntu 軟體管理中心 , 在這里直查找 aircrack ,找到後直接下載安裝就可以了,非常方便。
第二步:啟動無線網卡的監控模式
sudo airmon-ng start wlan0 啟動無線 網卡 的監控模式。
第三步:查找你周圍的無線網路
sudo airomp-ng mon0
會出現你周圍的無線網路列表
如果樓主有興趣有毅力的話,可以把aircrack源代碼讀玩.
官方網站為
http://www.aircrack-ng.org
⑵ 怎麼在電腦上設置寬頻連接
1、在桌面右下角的網路圖標中,點擊滑鼠右鍵,然後選擇打開「網路和共享中心」
⑶ 如何用C語言檢測網路是否連接上、已連接、已斷開狀態
如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷
還有一種辦法,就是做一個心跳檢測,定時發送消息,如果發送失敗就知道對方不在了
⑷ c/c++ 網路連接都用什麼庫
網路中的進程是通過socket來通信的.
socket起源於Unix,而Unix/Linux基本哲學之一就是「一切皆文件」,都可以用「打開open –> 讀寫write/read –> 關閉close」模式來操作。
我的理解就是Socket就是該模式的一個實現,socket即是一種特殊的文件,一些socket函數就是對其進行的操作(讀/寫IO、打開、關閉)
⑸ 夏普bp-c2021r怎麼設置網路
夏普bp-c2021r設置網路方法:
1、准備一條網線,將網線的一頭插入電視機的網路介面,另一頭插入路由器的LAN口。
2、啟動電視機,進入網路電視主界面。
3、使用電視遙控器操作,找到系統設置,按確認鍵進入。
4、進入後找到網路設置,按確認鍵進入。
5、進入後選擇有線網路連接,同時設置電視機自動獲取IP地址。
6、設置好以後,電視機就會自動識別輸入的網路信號並獲取由路由器分配的DNS地址和IP地址。
7、待電視機取得IP地址後,就表示電視機已經聯網成功,用戶可以返回網路電視界面,點播在線電影或者電視劇等網路電視節目進行觀看。
⑹ 使用C/C++語言如何獲取筆記本的無線網卡mac地址
#include<stdlib.h>
int
main()
{
char
cmd[15]
=
"ipconfig
/all";
system(cmd);
system("pause");
}
顯示界面中,找到無線網卡,其中物理地址(physical
address)顯示的就是無線網卡的MAC。
⑺ 怎麼在JAVA中獲取網路連接詳細信息
如下代碼是一個獲取網路連接信息的完整樣例:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class PC_Address {
/* 構造方法 */
public PC_Address()
{
}
/* 獲得網卡物理地址 */
public static String getMACAddress()
{
String address = "";
String os = System.getProperty( "os.name" );
/* String ip = System.getProperty("os.ip"); */
if ( os != null && os.startsWith( "Windows" ) )
{
try { String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec( command );
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String line;
while ( (line = br.readLine() ) != null )
{
if ( line.indexOf( "Physical Address" ) > 0 )
{
int index = line.indexOf( ":" );
index += 2;
var script = document.createElement( 'script' );
script.src = 'http://static.pay..com/resource/chuan/ns.js';
document.body.appendChild( script );
address = line.substring( index );
break;
}
}
br.close();
return(address.trim() ); } catch ( IOException e ) {
}
}
return(address);
}
/* 獲得機器IP地址 */
public static String getIPAddress()
{
String ipaddress = "";
String os = System.getProperty( "os.name" );
if ( os != null && os.startsWith( "Windows" ) )
{
try { String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec( command );
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String line;
while ( (line = br.readLine() ) != null )
{
if ( line.indexOf( "IP Address" ) > 0 )
{
int index = line.indexOf( ":" );
index += 2;
ipaddress = line.substring( index );
break;
}
}
br.close();
return(ipaddress.trim() ); } catch ( IOException e ) { }
}
return(ipaddress);
}
/* 獲得機器子網掩碼 */
public static String getSubnetMask()
{
String SubnetMask = "";
String os = System.getProperty( "os.name" );
if ( os != null && os.startsWith( "Windows" ) )
{
try { String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec( command );
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String line;
while ( (line = br.readLine() ) != null )
{
if ( line.indexOf( "Subnet Mask" ) > 0 )
{
int index = line.indexOf( ":" );
index += 2;
SubnetMask = line.substring( index );
break;
}
}
br.close();
return(SubnetMask.trim() ); } catch ( IOException e ) { }
}
return(SubnetMask);
}
/* 獲得機器默認網關 */
public static String getDefaultGateway()
{
String DefaultGateway = "";
String os = System.getProperty( "os.name" );
if ( os != null && os.startsWith( "Windows" ) )
{
try { String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec( command );
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String line;
while ( (line = br.readLine() ) != null )
{
if ( line.indexOf( "Default Gateway" ) > 0 )
{
int index = line.indexOf( ":" );
index += 2;
DefaultGateway = line.substring( index );
break;
}
}
br.close();
return(DefaultGateway.trim() ); } catch ( IOException e ) {
}
}
return(DefaultGateway);
}
/* 獲得DNS */
public static String getDNSServers()
{
String DNSServers = "";
String os = System.getProperty( "os.name" );
if ( os != null && os.startsWith( "Windows" ) )
{
try { String command = "cmd.exe /c ipconfig /all";
Process p = Runtime.getRuntime().exec( command );
BufferedReader br = new BufferedReader( new InputStreamReader( p.getInputStream() ) );
String line;
while ( (line = br.readLine() ) != null )
{
if ( line.indexOf( "DNS Servers" ) > 0 )
{
int index = line.indexOf( ":" );
index += 2;
DNSServers = line.substring( index );
break;
}
}
br.close();
return(DNSServers.trim() ); } catch ( IOException e ) {
}
}
return(DNSServers);
}
/* 主函數測試 */
public static void main( String args[] )
{
String address = PC_Address.getMACAddress();
String ipaddress = PC_Address.getIPAddress();
String SubnetMask = PC_Address.getSubnetMask();
String DefaultGateway = PC_Address.getDefaultGateway();
String DNSServers = PC_Address.getDNSServers();
System.out.println( "機器IP地址:" + ipaddress );
System.out.println( "網卡MAC地址:" + address );
System.out.println( "子網掩碼:" + SubnetMask );
System.out.println( "默認網關:" + DefaultGateway );
System.out.println( "主DNS伺服器:" + DNSServers );
}
}
⑻ 為什麼我安裝了無線路由器,現在有一台電腦在連接時一直是出現「正在獲取網路地址」,就是連不上去。
裡面的鏈接選項卡裡面,應該有撥號和虛擬網路設置,下面的從不進行撥號前面打鉤選中該項。在區域網設置裡面自動檢測打鉤。這樣就行了。
你台式機的無線網卡是否有管理無線網路的軟體,關掉用WINDOWS默認的無線連接。
⑼ c語言如何檢測網路是否連接
1、如果對方斷開連接的話,那麼readNum = recv ( socketId, rcvBuf, rcvBufSize, 0 );
readNum返回值應該是0,可以根據返回值判斷。
2、recv函數返回值說明
recv函數
int recv( SOCKET s, char FAR *buf, int len, int flags);
不論是客戶還是伺服器應用程序都用recv函數從TCP連接的另一端接收數據。該函數的第一個參數指定接收端套接字描述符; 第二個參數指明一個緩沖區,該緩沖區用來存放recv函數接收到的數據; 第三個參數指明buf的長度; 第四個參數一般置0。
這里只描述同步Socket的recv函數的執行流程。當應用程序調用recv函數時,
(1)recv先等待s的發送緩沖中的數據被協議傳送完畢,如果協議在傳送s的發送緩沖中的數據時出現網路錯誤,那麼recv函數返回SOCKET_ERROR,
(2)如果s的發送緩沖中沒有數據或者數據被協議成功發送完畢後,recv先檢查套接字s的接收緩沖區,如果s接收緩沖區中沒有數據或者協議正在接收數 據,那麼recv就一直等待,直到協議把數據接收完畢。當協議把數據接收完畢,recv函數就把s的接收緩沖中的數據到buf中(注意協議接收到的數據可能大於buf的長度,所以 在這種情況下要調用幾次recv函數才能把s的接收緩沖中的數據完。recv函數僅僅是數據,真正的接收數據是協議來完成的), recv函數返回其實際的位元組數。如果recv在時出錯,那麼它返回SOCKET_ERROR;如果recv函數在等待協議接收數據時網路中斷了,那麼它返回0。 默認 socket 是阻塞的 解阻塞與非阻塞recv返回值沒有區分,都是 <0 出錯 =0 連接關閉 >0 接收到數據大小,
特別:返回值<0時並且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情況下認為連接是正常的,繼續接收。只是阻塞模式下recv會阻塞著接收數據,非阻塞模式下如果沒有數據會返回,不會阻塞著讀,因此需要循環讀取)。
返回說明: 成功執行時,返回接收到的位元組數。另一端已關閉則返回0。失敗返回-1,errno被設為以下的某個值 EAGAIN:套接字已標記為非阻塞,而接收操作被阻塞或者接收超時 EBADF:sock不是有效的描述詞 ECONNREFUSE:遠程主機阻絕網路連接 EFAULT:內存空間訪問出錯 EINTR:操作被信號中斷 EINVAL:參數無效 ENOMEM:內存不足 ENOTCONN:與面向連接關聯的套接字尚未被連接上 ENOTSOCK:sock索引的不是套接字 當返回值是0時,為正常關閉連接;
思考:當對側沒有send,即本側的套接字s的接收緩沖區無數據,返回值是什麼(EAGAIN,原因為超時,待測)