1. linux的程序收不到組播數據,但用tcpmp卻可以收到 我也遇到這個問題
組播接收,看你伺服器的路由表,是不是沒有做該網卡的該組播源地址的路由,如果沒有做的話,雖然網口能夠抓取數據但是程序是接收不到數據的
2. 在Redhat Linux9.0 中查詢網卡信息的命令是什麼
ifconfig
無論是Linux自動安裝還是我們手工安裝,Linux都會向你詢問有關網路的問題並配置相關的軟體。這個用於配置網卡的基本命令就是ifconfig。
在執行ifconfig命令後,系統將在內核表中設置必要的參數,這樣Linux就知道如何與網路上的網卡通信。ifconfig命令有以下兩種格式:
※ifconfig [interface]
※ifconfig interface [aftype] option | address …
ifconfig的第一種格式(或使用不帶任何參數的ifconfig命令)可以用來查看當前系統的網路配置情況。
在剛剛安裝完系統之後,實際上是在沒有網卡或者網路連接的情況下使用Linux,但通過ifconfig可以使用回繞方式工作,使計算機認為自己工作在網路上。
現在我們運行一下ifconfig命令,不帶參數的ifconfig命令可以顯示當前啟動的網路介面,其輸出結果為:
-----------------------------------------------------------
[root@machine1 /sbin]#ifconfig
eth0 Link encap:Ethernet Hwaddr 52:54:AB:DD:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46299 errors:0 dropped:0 overruns:0 frame:189
TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
--------------------------------------------------------------------
其中以eth0為首的部分是本機的乙太網卡配置參數,這里顯示了網卡在下的設備名/dev/eth0和硬體的MAC地址52:54:AB:DD:6F:61,MAC地址是生產廠家定的,每個網卡擁有的唯一地址。
不過我們可以手工改動網卡的MAC地址,只要我們在/etc/rc.d/init.d/中的network中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
然後重啟,此時再用ifconfig命令查看一下,我們就會發現網卡的MAC地址已經變成xx:xx:xx:xx:xx:xx了。
下一行顯示本機的IP地址信息,分別是本機的IP地址,網路廣播地址和子網掩碼。必須確認這些信息都是正確無誤的,否則Linux伺服器無法與其它網路設備建立連接。我們也可以手工實現IP與Mac地址的捆綁,命令是
arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)
接下來顯示的是設備的網路狀態。MTU(最大傳輸單元)和Metric(度量值)欄位顯示的是該介面當前的M T U和度量值的值。按照慣例,度量值供某些操作系統所用,用於計算一條路由的成本。
再下來顯示介面通信的網路統計值。RX和TX分別表示接收和傳送的數據包。如果你的網卡已經完成配置卻還是無法與其它設備通信,那麼從RX和TX的顯示數據上可以簡單地分析一下故障原因。在這種情況下,如果你看到接收和傳送的包的計數(packets)增加,那有可能是系統的IP地址出現了混亂;如果你看到大量的錯誤(errors)和沖突(Collisions),那麼這很有可能是網路的傳輸介質出了問題,例如網線不通或hub損壞。
再下面的Interrupt:5 Base address:0xece0顯示的是網卡的中斷調用號和埠號,這是兩個非常重要的硬體配置信息。如果您的網卡是PCI的,那麼Linux在引導時有可能會自動配置這些信息(也很有可能會讓您手工配置)但目前絕大多數網卡都是PnP的,這就需要我們進行手工配置了。如果您的網卡還沒有配置好,那麼運行:
[root@machine1 /sbin]#ifconfig
系統只會輸出以lo為首的部分。lo是look-back網路介面,從IP地址127.0.0.1就可以看出,它代表"本機"。無論系統是否接入網路,這個設備總是存在的,除非你在內核編譯的時候禁止了網路支持,這是一個稱為回送設備的特殊設備,它自動由Linux配置以提供網路的自身連接。IP地址127.0.0.1是一個特殊的回送地址(即默認的本機地址),您可以在自己的系統上用telnet對IP地址127.0.0.1進行測試。如果有inetd進程在運行的話您會從自己的機器上獲得登錄提示符。Linux可以利用這個特徵在進程與模擬網路之間進行通信。(您有興趣的話還可以試試本機的實際IP地址,如這里的機器就是210.34.6.89,或者試試"localhost",或者"127.0.0.1",同樣可以模擬網路通信。這可是Linux一個非常突出的優點!)
如果你只是關心某個設備是否正常,可以在ifconfig後面加上介面名字:
[root@machine1 /sbin]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 52:54:AB:DD:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50568 errors:0 dropped:0 overruns:0 frame:198
TX packets:3200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
表示eth0設備已經正常工作。
有時需要為某個設備介面配置多個IP地址,辦法是使用設備別名,例如,eth0設備可以有eth0,eth0:0,eth0:1....多個別名,每個都可以有一個獨立的IP地址:
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
ifconfig eth0:0 210.34.6.88 netmask 255.255.255.128 broadcast 210.34.6.127
這樣,210.34.6.89和210.34.6.88都會被綁定在eth0設備上,使用同樣的網路設備,不同的IP地址。
如果你要暫停某個網路介面的工作,使用down參數:
ifconfig eth0 down
將取消eth0網路介面。與之對應的是有一個參數up,不過由於是預設值,所以從來不用。
如果我們使用了帶有參數的ifconfig命令,那就可以手動設置網卡的配置參數了。有效的ifconfig命令參數及其意義為(選項對應的特性可以打開也可以取消,只在選項名前加一個破折號(-)即可):
Interface 網路設備名,如eth0就表示本機的第一塊網卡。
up 標志介面處於" up"狀態,也就是說, IP層可以對其進行訪問。這個選項用於命令行上給出一個地址之時。如果這個介面已被" down"選項臨時性取消的話(與該選項對應的標記是UP RUNNING),還可以用於重新啟用一個介面。
down 標標志介面處於" down"狀態,也就是說, IP層不能對其進行訪問。這個選項有效地禁止了IP通信流通這個介面。注意,它並沒有自動刪除利用該介面的所有路由信息。如果永久性地取消了一個介面,就應該刪除這些路由條目,並在可能的情況下,提供備用路由。
netmask 標分配子網掩碼,供介面所用。要麼給一個前面是0x的32位十六進制號碼,要麼採用只適用於兩台主機所用的點分四段式號碼。對SLIP和PLIP介面來說,這個選項是必須配置的。
address 設置指定介面設備的IP地址。
dstaddr adderss 為PPP設置遠程IP地址,此關鍵字可用pointopoint代替。
irqaddress 設置指定介面設備使用的中斷行。
pointtopoint address 該選項用於只涉及兩台主機的點到點鏈接。對SLIP和PLIP介面來說,這個選項是必須配置的(如果已經設置了一個點到點地址,ifconfig就會顯示出POINTTPOINT標記)。
broadcast address 廣播地址通常源於網路編號,通過設置主機部分的所有位得來。有的I P採用的方案有所不同:這個選項可適用於某些奇怪的環境(如果已經設置了廣播地址, ifconfig就會顯示出一個BROADCAST標記)。
hw class addr 設置指定介面設備的MAC地址,關鍵字的後面必須跟硬體名或者與之等價的ASCII碼。目前支持的硬體類有ether, ax25, ARCnet和 netrom。
metric number 該選項可用於為介面創建的路由表分配度量值。路由信息協議( RIP)利用度量值來構建網路路由表。ifconfig所用的默認度量值是0。如果不運行RIP程序,就沒必要採用這個選項。如果要運行RIP程序,就盡量不要改變這個默認的度量值。
mtu bytes 該選項用於設置最大傳輸單元,也就是介面一次能處理的最大位元組數。對乙太網介面來說, MTU的默認設置是1500 個位元組;對SLIP介面來說,則是296個位元組。
arp 標這個選項專用於乙太網或包廣播之類的廣播網路。它啟用ARP(地址解析協議)來保護網路上各台主機的物理地址。對廣播網來說,默認設置是" on"(開)。
promisc 將介面置入promiscuous(混亂)模式。廣播網中,這樣將導致該介面接收所有的數據包,不管其目標是不是另一台主機。該選項允許利用包過濾器和所謂的乙太網窺視技術,對網路通信進行分析。通常情況下,這對揪出網路故障的元兇來說,是相當有用的。但另一方面,如果有人蓄意攻擊你的網路,也可瀏覽到s通信數據,進而獲得密碼,破壞你的網路。一項重要的保證措施是杜絕任何人將他們的計算機接入你的乙太網。另一個選項用於保護某些身份驗證協議的安全,比如Kerberos或SRA登錄套件(該選項對應的標記是PROMISC)。
traIlers 開或關閉跟蹤器。目前在某些Linux系統中還無法實現此功能。
allmulti 多播地址即是向不在同一個子網上的一組主機廣播數據。多播地址尚未獲得內核支持(該選項對應的標記是ALLMULTI)
txqueuelen len 設置指定介面設備的發送隊列長度。
由此可以看出有大量的參數可用於配置網卡,下面是在這台計算機上使用ifconfig命令的實例:
------------------------------------------------------------------------------
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
------------------------------------------------------------------------------
該命令的作用是設置網卡eth0的IP地址,網路掩碼和網路的本地廣播地址。同樣的方式可以用來配置eth1,eth2等等,通常netmask和broadcast只要設置一個就可以了。
3. linux查看埠使用情況!急!!
你的問題實在問的太籠統了 我只能猜測著回答下
netstat -anp 顯示系統埠使用情況
lsof -i :埠 顯示佔用該埠的進程情況
uname -a 內核信息
cat /proc/interrupts 顯示中斷信息
2 . 描述清楚點
4. linux下配置多網卡組播地址,能正常使用,但重啟後顯示「no such device」,是什麼原因該怎麼解決
因為你用route命令添加的路由表不會保存到一次重啟,雖然你查看得到,你可以寫到啟動腳本里去。
編輯/etc/init.d/network,在未尾加上下面幾行:
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
編輯/etc/sysconfig/static-routes:
any net 224.0.0.101 netmask 255.255.255.255 dev eth0
any net 224.0.0.110 netmask 255.255.255.255 dev eth1
any net 244.0.0.111 netmask 255.255.255.255 dev eth3
any net 244.14.0.112 netmask 255.255.255.255 dev eth2
5. Linux裡面 netstat -ntlp命令作用是什麼
netstat命令是一個監控TCP/IP網路的非常有用的工具,它可以顯示路由表、實際的網路連接以及每一個網路介面設備的狀態信息。