wireshark分析oracle报错,Linux下抓包工具tcpdump以及分析包的工具wireshark
tcpdump是用來抓取數據的,wireshark則是用于分析抓取到的數據的。
一般需要安裝,直接使用yum安裝:yum -y install tcpdump即可。
Tcpdump使用方法(1)關于類型的關鍵字主要包括host,net,port
例如: host 210.27.48.2,指明 210.27.48.2是一臺主機,net 202.0.0.0 指明 202.0.0.0是一個網絡地址,port 23 指明端口號是23。如果沒有指定類型,缺省的類型是host.
(2)確定傳輸方向關鍵字主要包括src , dst , ?dst or src, ?dst and src 這些關鍵字指明了傳輸的方向,例如:src 210.27.48.2,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的網絡地址是202.0.0.0。如果沒有指明方向關鍵字,則缺省是src or dst關鍵字。
(3)協議的關鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等類型。Fddi指明是在FDDI(分布式光纖數據接口網絡)上的特定的網絡協議,實際上它是"ether"的別名,fddi和ether具有類似的源地址和目的地址,所以可以將fddi協議包當作ether的包進行處理和分析。其他的幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有協議的信息包。
(4)其他重要的關鍵字如下:gateway, broadcast,less,greater,
還有三種邏輯運算,取非運算'not '和'! ', ? ?與運算是'and','&&'; ? ? ?或運算 是'or','││';
普通情況下,直接啟動tcpdump將監視第一個網絡界面上所有流過的數據包。
tcpdump輸出格式總的的輸出格式為:系統時間 來源主機.端口 > 目標主機.端口 數據包參數
例如:tcpdump –i eth0 –c 10
使用-i參數指定tcpdump監聽的網絡界面,這在計算機具有多個網絡界面時非常有用,使用-c參數指定要監聽的數據包數量,使用-w參數指定將監聽到的數據包寫入文件中保存
A.截獲主機172.16.14.107和主機172.16.14.27的通信
tcpdump host 172.16.14.107 and 172.16.14.27
B.想要截獲主機172.16.14.107和主機172.16.14.27或172.16.14.99的通信,使用命令:(在命令行中使用括號時,一定要用’\’tcpdump host 172.16.14.107 and \(172.16.14.27 or 172.16.14.99 \)
C.如果想要獲取主機172.16.14.107除了和主機172.16.14.27之外所有主機通信的ip包,使用命令:tcpdump ip host 172.16.14.107 and ! 172.16.14.27
D.如果想要獲取主機172.16.14.107接收或發出的telnet包,使用如下命令:tcpdump tcp port 23 and host 172.16.14.107
E.對本機的udp 123 端口進行監視 (123 為ntp的服務端口)tcpdump udp port 123
F.系統將只對名為hostname的主機的通信數據包進行監視。主機名可以是本地主機,也可以是網絡上的任何一臺計算機。下面的命令可以讀取主機hostname發送的所有數據: tcpdump -i eth0 src host hostname
G.下面的命令可以監視所有送到主機hostname的數據包: tcpdump -i eth0 dst host hostname
#src表示源,即發送#dst表示目的地,即接收
H.我們還可以監視通過指定網關的數據包: tcpdump -i eth0 gateway Gatewayname
I.如果你還想監視主機名hostname到指定端口的TCP或UDP數據包,那么執行以下命令: tcpdump -i eth0 host hostname and tcp port 80
J.如果想要獲取主機172.16.14.107接收或發出的telnet包,使用如下命令:tcpdump tcp port 23 and host 172.16.14.107
K. 如果我們只需要列出送到80端口的數據包,用dst port 80;如果我們只希望看到返回80端口的數據包,用src port 80。 tcpdump –i eth0 host hostname and dst port 80 ?目的端口是80或者tcpdump –i eth0 host hostname and src port 80 ?源端口是80
80端口一般是提供http的服務的主機.
L.如果要用wireshark分析數據:
tcpdump -i eth0 -c 100 -s 0 -w /home/data.pcap
直接使用wireshark /home/data.pcap即可。
Linux下面的Wireshark抓包工具安裝與使用
Wireshark是世界上最流行的網絡分析工具。這個強大的工具可以捕捉網絡中的數據,并為用戶提供關于網絡和上層協議的各種信息。Wireshark也使用pcap network library來進行封包捕捉。
linux下面的安裝:yum -y install wireshark-*
當我們啟動wireshark時候會出現下面的報錯:
[root@attack ~]# wireshark
(wireshark:2383): Gtk-WARNING **: cannot open display: 192.168.1.2:1.0
從報錯看出來要求我們的操作系統安裝圖行界面,就是X Window+GNOME 或者X Window+KDE
在CentOS下,是如下幾個軟件包組yum groupinstall -y Desktop "X Window System"或者yum groupinstall -y Desktop "KDE Desktop"如果上面的回答不夠詳細,建議搜索一下X Window 然后,再探索一下。
不然就在Windows下安裝一個xmanager,執行Xmanager-passive 將Linux下的DISPLAY轉發到windows下。
可以借鑒如下鏈接
當我們需要在服務器上安裝Oracle數據庫時,我們總希望最大化Linux服務器性能利用。盡量少的安裝其他復雜的軟件,只安裝Oracle必要的軟件即可。然而事實上,由于對Linux比較陌生。只有在已經安裝X window圖形化套件的情況下,才會安裝Oracle數據庫。并可怕得漸漸認為Oracle必需X window圖形化套件。通過對Oracle官方文檔的閱讀,我們發現Oracle和Gnome或者KDE沒有任何關系,Oracle可以獨自完成所有繪圖功能。Oracle需要的只是一個X Server。知道這些,我們就可以不在本地安裝X window和GNOME套件。而是通過IP網絡使用在本地計算機上運行的X Server。Linux主機實現這項功能輕而易舉,windows可以通過X manager軟件來運行一個XServer,供Oracle使用。Linux 系統中,X Window套件的 X Server和X Client之間使用X Protocol通信。X Protocol的多樣性決定了X Server和X Client不一定要在同一個主機。完全可以使用本地X Server 顯示并操作遠程X Client的內容。這雖然和Windows的遠程桌面優點類似,但無論在機制還是在技術上,X Window都高Windows一層。根據X Window這個原理,我們實現在不安裝X Window+ GNOME套件的情況下,安裝Oracle數據庫。通過減少軟件包的安裝,減少系統被***的機會,以提高系統安全性。這里解釋一個概念:DISPLAY變量變量格式如下:#script from :www.xiyang-liu.com
# by:xiyang
DISPLAY=hostname: displaynumber.screennumber
#displaynumber和screennumber都是從零開始的數字。一般來說displaynumber、screennumber就都是0。
#hostname指X server所在主機的主機名或者ip地址,圖形將顯示在這一機器上。此主機可以是啟動了圖形界面的Linux/Unix機器,也可以是通過第三方軟件運行X Server的Windows機器。
#如果Host為空,則表示X server運行于本機,并且X client使用IPC方式連接到X server,而不是TCP方式。
#使用TCP方式連接時,displaynumber為連接的端口減去6000的值,如果displaynumber為0,則表示連接到6000端口。
#使用unix socket方式連接時,則表示連接的unix socket的路徑,如果displaynumber為0,則表示連接到/tmp/.X11-unix/X0。
#screennumber則幾乎總是0.
操作者使用Linux操作系統如果操作者使用的是安裝X Window + Gnome套件的Linux系統。那么實現這個功能簡直太簡單了。
我們統稱要安裝Oracle的服務器為“服務器”,運行Gnome的主機為客戶端。在客戶端,首先我們要允許服務器端X Client連接到X Server。執行如下命令添加服務器端IP地址到ACL。這里是臨時添加,重啟后將丟失。
#script from :www.xiyang-liu.com
# by:xiyang
[root@manager ~]# xhost +10.17.36.33
10.17.36.33 being added to access control list
查看X Server的DISPLAY變量號
#script from :www.xiyang-liu.com
# by:xiyang
[root@manager ~]# echo $DISPLAY
:1.0
查看客戶端為X Server開放的TCP端口。如果客戶端沒什么重要的數據,干脆直接關閉防火墻。如果不能關閉防火墻,則添加對應端口的入連接許可。#關閉防火墻
#script from :www.xiyang-liu.com
# by:xiyang
[root@manager ~]# service iptables stop
通過netstat -atpl獲取X Server對應端口號
編輯/etc/sysconfig/iptables添加端口的入連接許可。
#script from :www.xiyang-liu.com
# by:xiyang
[root@manager ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6001 -j ACCEPT
[root@manager ~]# service iptables restart
服務器端,設置DISPLAY變量。
#script from :www.xiyang-liu.com
# by:xiyang
[root@bogon ~]# export DISPLAY=10.17.36.210:1.0
注意:這里的10.17.36.210為X server的iP地址
安裝xclock測試以上設置能否正常工作。
#script from :www.xiyang-liu.com
# by:xiyang
[root@bogon ~]# yum install xclock
[root@bogon ~]# xclock
如果客戶端能正常顯示一個時鐘窗口如下。說明配置成功
接下來運行Oracle安裝程序即可。
操作者使用Windows操作系統在客戶端安裝X manager程序,同文件夾有key
下載地址:http://dl.vmall.com/c0sfidvng2
下載密碼:www.xiyang-liu.com
完成后運行Xmanager - Passive程序
運行后系統通知區域會有一個小圖標,鼠標移至上面會顯示本地X Server的displaynumber和screennumber。如下圖所示。
在服務器上設置DISPLAY變量
#script from :www.xiyang-liu.com
# by:xiyang
[root@bogon ~]# export DISPLAY=10.17.35.50:1.0
同樣,執行xclock測試以上設置能否正常工作。
#script from :www.xiyang-liu.com
# by:xiyang
[root@bogon ~]# xclock
同樣,關閉Windows防火墻。Windows顯示如下窗口,表示設置成功。
在執行wireshark[root@puppet ~]# wireshark
就可以進行抓包了,出現圖像界面如下
但是有一個問題:在本地電腦關機之后,無法再抓網絡層包,我需要登錄到服務器上面抓取凌晨零點到第二天3點的數據,因此需要在服務器上面直接調用wireshark命令來抓包。
其實安裝好wireshark之后,tshark就是命令行版本[root@localhost ~]# yum install wireshark-*
[root@localhost ~]# rpm -ql wireshark | grep bin/
/usr/sbin/capinfos
/usr/sbin/dftest
/usr/sbin/dumpcap
/usr/sbin/editcap
/usr/sbin/mergecap
/usr/sbin/randpkt
/usr/sbin/rawshark
/usr/sbin/tethereal
/usr/sbin/text2pcap
/usr/sbin/tshark
[root@localhost ~]# /usr/sbin/tshark -i eth0 -w eth0-out.pcap
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
27 ^C
[root@localhost ~]#
將上述命令放到cron里面,使用crontab就可以定時捕包了
wireshark使用方法:
總結
以上是生活随笔為你收集整理的wireshark分析oracle报错,Linux下抓包工具tcpdump以及分析包的工具wireshark的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手动控制DELL服务器风扇转速
- 下一篇: Docker - 配置国内加速器加速镜像