linux獲取本機ipc
❶ linux下使用perl獲取本機ip的幾種方法介紹
第一種辦法,最簡單的,
調用 shell:
$ip = `ifconfig eth0|grep -oE '([0-9]{1,3}\.?){4}'|head -n 1`;
註:這里輸入是固定的,所以簡單的 [0-9]{1,3} 了,如果是在歲睜 web 程序等地方驗證 ip,需要更嚴謹!
或者
$ip = `ifconfig eth0|awk -F: '/inet addr/{split($2,a," ");print a[1];exit}'`;
好吧,這樣顯得太不 perl 了,而且頻繁的調用外部 shell 不太好
第二種:
open FH,"ifconfig eth0|";
while(){
last unless /inet addr:((\d{1,3}\.?){4})/;
print $1;
}
看起來稍微 perl 了一些,雖然實質跟上面的調用 shell 和 grep 法是一樣的。
第三種,更 perl 一點,純粹讀文件:
open FH,'<','/etc/sysconfig/network-scripts/ifcfg-eth0';
while(){
next unless /IPADDR\s*=\s*(\S+)/;
print $1;
}
進一步的,如果不一定 rh 系,還要去讀 /etc/issue ,
確定網路配置文件到底是橡辯 /etc/sysconfig/network-script/ifcfg-eth0
還是 /etc/network/interfaces 還是其他,然後根據不同發行版寫不同的處理方法……額,
這是打算自己寫模塊么?
好吧,大家來充分體會 CPAN 的魅力,去 search 一下,
找到一把 Sys::HostIP、Sys::HostAddr、Net::Inetface 等模塊。
第四種:
use Sys::HostAddr;
my $interface = Sys::HostAddr->new(ipv => '4', interface => 'eth0');
print $interface->main_ip;
不過進去看看pm文件,汗,這幾個模塊都是調用ifconfig命令,不過是根據發行版的不同進行封裝而已。
還有辦法么?還有,看
第五種:
perl -MPOSIX -MSocket -e 'my $host = (uname)[1];print inet_ntoa(scalar gethostbyname($host))';
不過有童鞋說了,這個可能因為hostname的原因,導致獲取的都是127.0.0.1……
那麼最後還有一招。通過 strace ifconfig 命令可以看到,
linux 實質是通過 ioctl 命令完成的網路介面 ip 獲取。那麼,我們也用梁雀缺 ioctl 就是了!
第六種如下:
#!/usr/bin/perl
use strict;
use warnings;
use Socket;
require 'sys/ioctl.ph';
sub get_ip_address($) {
my $pack = pack("a*", shift);
my $socket;
socket($socket, AF_INET, SOCK_DGRAM, 0);
ioctl($socket, SIOCGIFADDR(), $pack);
return inet_ntoa(substr($pack,20,4));
};
print get_ip_address("eth0");
這樣的好處,就是只調用了核心模塊,在分發腳本時,不用連帶安裝其他模塊。
❷ Linux 怎麼獲取本機IP
打開終端,輸入和大ifconfig,要想改變IP地襲漏址,使用命令:sudo ifconfig eth0 192.168.xxx.xxx
打開超級終端的快喚禪豎捷鍵是ctrl+alt+t,請採納。。。
❸ linux下怎麼查本機IP,ifconfig怎麼不行
樓主,ifconfig
,本就是查詢Linux
IP的命令沒錯。
要是查不到,也就是主機沒獲得IP,你可以用#
vi
/etc/sysconfig/network-scripts/ifcfg-eth0,給你主機添加IP地址,具體設置,網路上很多。
要是有幫助,給好評哦
❹ c++ linux 下如何獲取本機IP 和 客戶端IP
獲得本機ip的不太清楚,我試驗了一下網上有的,基本不對,客戶端ip可以用下邊代碼。
在accept之後,就可以得到客戶端ip了。
struct sockaddr_in clientaddr;
int nConnfd = accept( nListenFD, (sockaddr*)&clientaddr, &nCliLen );
if( nConnfd < 0 )
continue;
char* lpszStr = inet_ntoa( clientaddr.sin_addr );
cout << "accapt a connection from " << lpszStr << endl;
❺ linux中怎麼查看ip地址
解決方案1:
第一個問題:查看IP是ifconfig(ifconfig -a是顯示全部介面)
第二個問題:根據你的敘述,可以確認你已經安裝了telnet,並且服務也開啟了。
(驗證telnet是否啟動的命令netstat -antlp | grep 23:)在你十分確認用戶
名與密碼正確的情況下,還是提示錯誤。我想你是不是用root用戶登陸
的?因為telnet的不安全性,linux默認是不允許root在telnet登陸的。你可
以新建用戶嘗試一下。
另外,如果根本到不了提示輸入用戶名與密碼的界面,則可能是linux防
火牆的原因。
如果比較滿意的話,給分數。
msn:[email protected]
解決方案2:
ip addr ,在命令終端輸入ip addr,絕對沒錯的!我用過!
解決方案3:
ifconfig這個命令可以!
解決方案4:
ifconfig
解決方案5:
LINUX查看IP是ifconfig
DOS下是ipconfig -a
對於你補充的問題
你是VM安裝linux 在DOS下查看ipconfig時候 看清 VMware virtual ip就是查看VM虛擬主機的IP 然後嘗試著能否ping通,如果不能可能是LINUX下開了防火牆 service iptables stop再嘗試登陸
如果還不行,我建議你下載一個putty 或者SecureCRT 在WINDOWS下用SSH登陸linux SSH也類似於telnet
解決方案6:
ifconfig [option]
option 常用選項是 -a
或者用--help選項自己查看~
linux中哪個命令可以查看自己的IP地址
推薦答案ifconfig Linux查看IP地址的命令--ifconfigifconfig命令用於查看和更改網路介面的地址和參數 $ifconfig -a lo0: flags=849 mtu 8232 inet 127.0.0.1 netmask ff000000 hme0: flags=863 mtu 1500 inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255 ...[詳細]
linux中哪個命令可以查看自己的IP地址
答:第一個問題:查看IP是ifconfig(ifconfig -a是顯示全部介面) 第二個問題:根據你的敘述,可以確認你已經安裝了telnet,並且服務也開啟了。 (驗證telnet是否啟動的命令netstat -antlp | grep 23:)在你十分確認用戶 名與密碼正確的情況下,還...
Linux怎麼查看IP地址 linux系統IP設置與查看命令大全
答:1. 使用ifconfig命令配置並查看網路介面情況 示例1: 配置eth0的IP,同時激活設備: # ifconfig eth0 192.168.4.1 netmask 255.255.255.0 up 示例2: 配置eth0別名設備 eth0:1 的IP,並添加路由 # ifconfig eth0:1 192.168.4.2 # route add –host 1...
linux中哪個命令可以查看自己的IP地址
答:查看IP是ifconfig(ifconfig -a是顯示全部介面) 去看看《Linux就該這么學》這本書
linux如何查看本機ip地址
答:1、首先打開linux操作系統在進入到界面。 2、在桌面右擊打開終端。 3、在終端里輸入ifconfig -a命令在回車鍵。 4、如下圖可以看到了ip地址。
在Linux下查自己的IP怎麼查
答:可以使用ifconfig命令查看IP。ifconfig命令用於配置和顯示Linux內核中網路介面的網路參數。輸入ifconfig,會列印出網路介面的參數,除了IP地址還會列印出物理地址、掩碼地址等網路介面相關參數.
linux 系統下 查看ip命令?
答:1、首先打開linux操作系統在進入到界面。 2、在桌面右擊打開終端。 3、在終端里輸入ifconfig -a命令在回車鍵。 4、如下圖可以看到了ip地址。
Redhat如何查看和修改IP地址
答:首先是查看當前機器網卡的IP1.顯示當前啟動的網路介面命令:ifconfig2.查看當前所有網路介面命令:ifconfig -a3.查看指定網路介面命令:ifconfig eth0在LINUX下修改IP分為二種情況,1.調試時修改IP,僅在當前生效,重啟後恢復為原有IPifconfig eth0 19...
linux grep怎麼查ip地址
答:ifconfig是linux中用於顯示或配置網路設備(網路介面卡)的命令,英文全稱是network interfaces configuring。它能夠顯示網卡的IP地址、子網掩碼、廣播地址、硬體地址等信息。 如果希望結果只返回ip地址,可以使用grep命令對返回的結果進行過濾...
linux系統中怎麼查ip地址
答:1、進入Linux系統,如果是進入的KDE、Gnome等桌面,在桌面右擊打開終端。在終端里輸入ifconfig -a命令按回車鍵執行即可查看IP地址,如果是進入的字元界面,直接執行ifconfig -a 命令即可。 2、如下圖可以看到了ip地址。
linux中哪個命令可以查看自己的IP地址
查看IP是ifconfig(ifconfig -a是顯示全部介面) 去看看《Linux就該這么學》這本書
linux中哪個命令可以查看自己的IP地址
查看IP是ifconfig(ifconfig -a是顯示全部介面) 第二個問題:根據你的敘述,可以確認你已經... 的?因為telnet的不安全性,linux默認是不允許root在telnet登陸的。你可 以新建用戶嘗試...
linux中哪個命令可以查看自己的IP地址
方法/步驟1、首先打開linux操作系統在進入到界面。2、在桌面右擊打開終端。3、在終端里輸入ifconfig -a命令在回車鍵。4、如下圖可以看到了ip地址。
linux中哪個命令可以查看自己的IP地址
ifconfig Linux查看IP地址的命令--ifconfig ifconfig命令用於查看和更改網路介面的地址和參數 $ifconfig -a lo0: flags=849 mtu 8232 inet 127.0.0.1 netmask ff000000 hme...
在linux下查看、修改IP地址信息的命令是
查看ip:你可以使用 ifconfig -a 修改ip: 設置臨時ip:iifconfig eth0 x.x.x.x netmask x.x.x.x 設... vim /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=x.x.x.x IP地址 NETMASK=x.x.x....
linux下查看IP地址07 ---- Re: linux下能否用命令行查看當時ADSL的IP地址...
linux中,在windows環境下,使用什麼命令可以查看IP地址,將自動...
LINUX:ifconfig命令可以查看IP地址 WINDOWS:ipconfig /all 命令查看IP地址
linux伺服器查看連接到伺服器的所有ip地址,如何查看
netstat -an啥都有了
Linux中的ifconfig命令可以修改IP,但只是暫時的,重啟後會恢復到...
按:(冒號),進入命令行模式,輸入wq。 然後用service network restart 重啟網路服務,然後,ifconfig命令可以查看一下你的IP,這樣就永久配置好你需要的IP了
❻ 怎麼用C語言獲取Linux系統的網卡IP地址
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<net/if.h>
#include<netdb.h>
#include<arpa/inet.h>
#include<sys/ioctl.h>
//獲取地址
//返回IP地址字元串
intgetlocalip(char*outip)
{
inti=0;
intsockfd;
structifconfifconf;
charbuf=(char)malloc(512);
structifreq*ifreq;
char*ip;
//初始化ifconf
ifconf.ifc_len=512;
ifconf.ifc_buf=buf;
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))<0)
{
return-1;
}
ioctl(sockfd,SIOCGIFCONF,&ifconf);//獲取所有介面信息
close(sockfd);
//接下來一個一個的獲取IP地址
ifreq=(structifreq*)buf;
i=ifconf.ifc_len/sizeof(structifreq);
char*pos=outip;
intcount;
for(count=0;(count<5&&i>0);i--)
{
ip=inet_ntoa(((structsockaddr_in*)&(ifreq->ifr_addr))->sin_addr);
if(strncmp(ip,"127.0.0.1",3)==0)//排除127.x.x.x,繼續下一個
{
ifreq++;
continue;
}else
{
printf("%s ",ip);
strcpy(pos,ip);
intlen=strlen(ip);
pos=' ';
pos+=len+1;
count++;
ifreq++;
}
}
free(buf);
return0;
}
//——————————-函數的調用方式————————————-
intmain(intargc,char**argv)
{
charip={'*'};
if(getlocalip(ip)==0)
{
printf("本機IP地址是:%s ",ip);
}
else
{
printf("無法獲取本機IP地址");
}
return0;
}
❼ linux 系統中怎麼查找ip地址
隨著xp的退役,國產操作系統逐漸成為熱點話題,基於linux內核的國產操作系統是否能夠被大眾接受是一個至關重要的問題,那麼linux的基本操作中,如何查看本機的ip地址呢?下面小編就以ubuntu為例,來解釋這個問題。
方法/步驟
打開搜索功能,輸入terminal(終端),類似於windows下的cmd窗口,這里我們可以輸入命令來對系統進行操作,功能十分強大!
ifconfig可以查看當前主機的ip地址;
如果要手動更改ip地址。可以輸入命令cd
/etc/sysconfig/network下
在這個目錄下會有
類似於ifcfg-@@的文件。可以用vi命令來修改ip。
❽ linux 查看ip地址的命令
linux如何查看ip地址,可以使用ifconfig命令來快速查看ip地址。
1、首先在電腦中打開linux客戶端,點擊連接linux按鈕。
❾ linux如何查看本機ip地址
一、右鍵點擊通知區域里的網路圖標,網路按鈕多位於日期和時間的旁邊。
1、如果沒有顯示網路圖標,可以右鍵點擊通知欄,選擇「添加到面板」,然後選擇「網路管理器」來添加圖標。
2、如果還是不能顯示網路圖標,請前往「系統」 > 「管理」>「網路工具」,然後從下拉菜單中選擇你的網路設備。接著,顯示的10位數字就是你要查看的IP地址。
拓展資料:
文件類型
普通文件:就是一般存取的文件,由ls -al顯示出來的屬性中,第一個屬性為 [-],例如 [-rwxrwxrwx]。另外,依照文件的內容,又大致可以分為:
1、純文本文件:這是Unix系統中最多的一種文件類型,之所以稱為純文本文件,是因為內容可以直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬於這種文件類型。舉例來說,使用命令「cat ~/.bashrc」就可以看到該文件的內容。
2、二進制文件:系統其實僅認識且可以執行二進制文件。Linux中的可執行文件就是這種格式的。舉例來說,命令cat就是一個二進制文件。
❿ linux如何查看本機ip地址
1.修改/etc/profile文件,注釋掉if語句即團衫可
把下面的if語句注釋掉:
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
修改為
# Path manipulation
# if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
#fi
2.可以使用ln 命令連接悄或亮
下圖是操作詳細過程
[Blinux@bogon ~]$ ifconfigbash: ifconfig: command not found
[Blinux@bogon ~]$ ln -s /sbin/ifconfig /bin/ifconfigln: 正在創建指向「/sbin/ifconfig」的符號鏈接「/bin/ifconfig」: 許可權啟寬不夠
[Blinux@bogon ~]$ su
口令:
[root@bogon Blinux]# ln -s /sbin/ifconfig /bin/ifconfig[root@bogon Blinux]# su Blinux[Blinux@bogon ~]$ ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:D4:AD:D6
inet addr:192.168.13.132 Bcast:192.168.13.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fed4:add6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:254 errors:0 dropped:0 overruns:0 frame:0
TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28648 (27.9 KiB) TX bytes:20650 (20.1 KiB)
Interrupt:67 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2471 errors:0 dropped:0 overruns:0 frame:0
TX packets:2471 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4570048 (4.3 MiB) TX bytes:4570048 (4.3 MiB)
3.用su – root方法
[Blinux@bogon ~]$ ifconfig
bash: ifconfig: command not found
[Blinux@bogon ~]$ su - root
口令:
[root@bogon ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:D4:AD:D6
inet addr:192.168.13.132 Bcast:192.168.13.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fed4:add6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:292 errors:0 dropped:0 overruns:0 frame:0
TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:32842 (32.0 KiB) TX bytes:24487 (23.9 KiB)
Interrupt:67 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2471 errors:0 dropped:0 overruns:0 frame:0
TX packets:2471 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4570048 (4.3 MiB) TX bytes:4570048 (4.3 MiB)