導航:首頁 > 操作系統 > linux發包器

linux發包器

發布時間:2022-09-28 12:20:02

1. linux 下什麼工具可以自由發包的,就是說可以完全按照自己的意願發包的以及他們的教程。。。。謝謝

看你什麼系統了,redhat/fedora/centos/redflag/suse都是用rpm的,debian/ubuntu/kubuntu都是用deb的,這些包都是事先編譯好的,安裝後直接就可以用,但

2. linux下怎麼指定網卡發包收包

linux下有命令可直接執行抓包的,命令如下:
1、tcpmp -vv -i ethN -s 10240 -w /root/abc.cap host ip
2、上述命令中,ethN,是你要抓的本機網卡,一般是eth0,可使用ifconfig查看使用的哪個網卡
-s 指定的是抓包數量 -w指定的是抓到的包寫到哪個位置 host ip即為抓取哪個ip 的包

3. linux 操作系統 如何發包

ping就是發包的一種方法。利用網路上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩台網路機器是否連接相通,時延是多少。

4. 如何處理Linux虛擬機網卡只能收包不能發包問題

打開虛擬機,啟動Linux系統,啟動完成後輸入用戶名和密碼,按回車鍵登錄系統。

配置Linux網路,使其能與主機Window 7正常通訊。註:網路配置可在網上搜索相關文章
在Linux下安裝samba伺服器,安裝命令如下:
$sudo apt-get install samba smbfs samba-common smbclient

創建Samba配置文件
4.1打開配置文件
$sudo vim /etc/samba/smb.conf
4.2在smb.conf最後添加
[username]
path = /home/username
available = yes
browseable = yes
public = yes
writable = yes
(注意:上面設置中,username換成你的用戶名,如果在前面有"#",需要把它去掉)
4.3把"#===== Share Definitions====="部分修改成如下圖所示:

創建samba賬戶
$sudo smbpasswd -a USERNAME(USERNAME換成你的用戶名)
會要求輸入samba賬戶的密碼
New SMB password:
Retype new SMB password:
[如果沒有此步驟,當你登錄時會提示session setup failed:NT_STATUS_LOGON_FAILURE]
重啟samba伺服器
$sudo /etc/init.d/samba reload(修改過smb.conf的話要執行一次)
$sudo /etc/init.d/samba restart
測試samba安裝是否成功
可以到window下輸入ip測試
文件夾處輸入"\\" + "Linux機器的IP或主機名",如圖:

在Window下建立「映射網路驅動器」
打開「計算機」,找到如下圖標注所示的「映射網路驅動器」,然後點擊它

網路驅動器的設置
點擊「驅動器」按鈕,選擇系統所剩甫姬顛肯郯廄奠詢訂墨下的盤符,如下圖所示。這里我們選擇「Z」盤

10.1選擇需要映射的共享文件夾。在「文件夾」後面的輸入框中輸入我們Linux中sanba設置的共享文件夾路徑,如下圖:
[下圖中的SHAREDIR輸入你自己的共享文件名]
10.2選上登錄時重新連接
10.3點擊完成【按鈕】,系統會為我們映射網路驅動器

打開「計算機」,會看到如下紅色框標注圖所示。雙擊網路驅動器,就可以直接訪問到我們Linux下設置的共享目錄了。

5. 在Linux系統下使用hping3工具進行發包測試,網上下的都是源碼包裝不上,

看你什麼系統了,redhat/fedora/centos/redflag/suse都是用rpm的,debian/ubuntu/kubuntu都是用deb的,這些包都是事先編譯好的,安裝後直接就可以用,但通用性很差,比如針對fedora11的rpm很有可能在fedora8上不能安裝,因為glibc庫版本不同,用編譯好的東西會不兼容。
源碼包什麼系統都可以用,因為是需要自己編譯的,但麻煩的是由於linux版本太多,更新太快,編譯時經常有很多依賴問題,rpm和deb通過更新自動下載其他依賴包,源碼包就需要一個一個編譯了,比較麻煩。

6. 利用虛擬機Linux系統的Tcpreplay給主機發包怎麼發

如果兩個系統不同,實現起來很麻煩,你必須在windows下用winpcap庫開發一個windows下的Tcpmp工具,用於接收Linux主機發過來的包。

7. 發包長度大於1518的發包工具

三款常用IP發包工具介紹
SENDIP 可在各種UNIX 或LINUX 版本中運行,本人使用的是SLACKWARE 8.0 和
REDHAT 9.0 兩個版本。
可在網站http://www.earth.li/projectpurple/progs/sendip.html 中下載最新的源代碼或RPM
包,目前版本為2.5,源碼包大小隻有54K。
2.1.1. 安裝過程
SENDIP 的安裝過程非常簡單,首先從前面介紹的網站中下載最新的源代碼包,目前為
sendip-2.5.tar.gz。
在LINUX 系統中執行:
#tar –xzvf sendip-2.5.tar.gz
#cd sendip-2.5
#make
#make install
在系統的/usr/local/bin 目錄下會產生一個SENDIP 命令文件,同時,在/usr/local/lib 目錄
下建立一個sendip 目錄,並在其下放置ipv4.so、ipv6.so、tcp.so 等與協議相關的模塊文件。
通過在命令行下運行這個文件,我們可以產生各種各樣我們需要的IP 包,還可以通過運行
腳本自動發送大量的IP 包。
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第3 頁共14 頁
2.1.2. 發包方法
SENDIP 可以發送NTP, BGP, RIP, RIPng, TCP, UDP, ICMP、IPv4 和IPv6 等各種格式的
數據包,SENDIP 本身是以模塊的方式發送各種協議的數據包,用-p 參數指定協議類型,要
發送每種協議的數據包, 必須對該協議的數據包格式有一定的了解。通常發送
TCP/UDP/ICMP 數據包時,都必須以IP 包進行封裝,然後才可以發出去。本節我們將以TCP
數據包為例進行講述。
下面介紹一下SENDIP 的命令行格式,以下為直接執行SENDIP 時的輸出:
Usage: sendip [-v] [-d data] [-h] [-f datafile] [-p mole] [mole options] hostname
-d data add this data as a string to the end of the packet
Data can be:
rN to generate N random(ish) data bytes;
0x or 0X followed by hex digits;
0 followed by octal digits;
any other stream of bytes(以指定位元組的隨機數據填充包中的數據段)
-f datafile read packet data from file(以指定數據文件中的內容填充包中的數據段)
-h print this message(輸出幫助信息)
-p mole load the specified mole (see below)(指定協議類型)
-v be verbose(運行時輸出詳細運行信息,如不指定,運行時不輸出信息)
(協議類型是以模塊的方式指定的,用-p 參數指定)
Moles are loaded in the order the -p option appears. The headers from
each mole are put immediately inside the headers from the previos model in
the final packet. For example, to embed bgp inside tcp inside ipv4, do
sendip -p ipv4 -p tcp -p bgp ....
Moles available at compile time:
ipv4 ipv6 icmp tcp udp bgp rip ntp(支持的協議類型)
通常執行格式如下:
#sendip –v –d r64 –p ipv4 –iv 4 –ih 5 –il 128 –is 10.0.0.1 –id 30.0.0.1 –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1
-v:運行時輸出詳細運行信息,如不指定,運行時不輸出信息
–d r64:用64 位元組的隨機數值填充IP 包中的數據段
–p ipv4:指定協議類型為IP 協議(IP 協議有自己的相應參數,以i 開頭)
–iv 4:協議版本為4,即IPV4
–ih 5:指定IP 頭的長度為5×4=20 位元組
–il 128:指定IP 包的總長度為128 位元組
–is 10.0.0.1:指定IP 包的源地址
–id 30.0.0.1:指定IP 包的目的地址
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第4 頁共14 頁
–p tcp:指定IP 包中封裝的包的協議類型(TCP 協議有自己的相應參數,以t 開頭)
–ts 1379:指定TCP 包的源埠1379
–td 23:指定TCP 包的目的埠為23
-tt 8:指定TCP 包的偏移量即TCP 頭的長度,沒有TCP 選項時為5,即20 字
節,有TCP 選項時需要增加。
30.0.0.1:指定發包的目的主機
以上部分為利用SENDIP 發送一個簡單的TCP 數據包的方法,下面結合IP 和TCP 數據
包的格式詳細介紹IP 和TCP 協議的各種參數。
具體各種協議的數據包格式可參考TCP/IP 協議中對各種協議數據包格式的介紹,下面
我們只介紹IP 數據包的格式和TCP 數據包的格式:
IP 數據包的格式:
根據IP 數據包的格式,SENDIP 有如下命令行參數可以指定對應的IP 數據包中參數的
值。
Field name
Size
(bits)
SendIP
option
Description
Version 4 -iv Always 4(對應「4 位版本」,通常值為4,表示IPV4)
Header length 4 -ih
IP header length, measured in 32bit words, 5 if there are
no options(對應「4 位首部長度」,表示以32 位即4
位元組為單位的IP 首部長度,如果沒有IP 參數的話,
通常為5,表示首部長度為20 位元組,如有IP 參數的
話,需要調整該值)
Type of
Service/Differentiated
Services
8 -iy
服務類型(TOS)欄位由8 位組成,其中包括3 位的
優先權欄位(現已被忽略)、4 位的TOS 子欄位和1
位未用位但必須置0,4 位TOS 子欄位分別代表最小
時延、最大吞吐量、最高可靠性和最小費用。4 位只
能置其中1 位,使用時只要將設置相應位後運算出十
進制值即可。如要設置最大吞吐量位(00001000),只
需添加參數iy 8 即可。
Total Length 16 -il Total length of IP packet including header and data,
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第5 頁共14 頁
measured in octets(指定IP 包的總長度,包括IP 頭部
分和數據部分,以8 位位元組為單位,最長為65535)
Identification 16 -ii
Used to help reassembled fragmented packets(指定IP
包的標識號,用來幫助重新組裝分段的IP 包)
-ifr 1 bit: reserved, should be 0
-ifd 1 bit: don't fragment(可指定-ifd x,下可為0、1 或r) Flags 3
-ifm 1 bit: more fragmets(可指定-ifm x,下可為0、1 或r)
Fragment offset 13 -if
Where in the reconstructed datagram this fragment
belongs, measured in 64bit words starting from 0(以8
位元組長度為單位,指定段偏移量)
Time to Live 8 -it
Number of routers the packet can pass through before
being discarded(值的范圍從0 到255,指定TTL,表
示該包可通過的路由器的數目,用於防止包在循環路
徑上無休止地傳遞)
Protocol 8 -ip
Protocol associated with the data. See iana for an
uptodate list of assigned numbers(用於定義IP 包內部
封裝的上層協議的協議號,如TCP 為6,可在IANA
的網站上
http://www.iana.org/assignments/protocol-numbers
獲得最新的協議號表)
Header checksum 16 -ic
Checksum of the IP header data (with checksum set to
zero)(可指定IP 首部校驗和的值,通常由SENDIP 自
動生成,不指定該參數,除非要發出帶有錯誤校驗和
的包)
Source Address 32 -is Duhh...(源地址,以點分十進制方式表示)
Destination Address 32 -id Cabbage(目的地址,以點分十進制方式表示)
Options Variable -io...
No options are required. Any number can be added. See
below for details(定義各種IP 選項,如果定義了IP
選項,則前面的IP 頭的長度值要包括IP 選項的長度,
不帶IP 選項時,該值為20,帶IP 選項時,可設定該
值,如果要故意製造不匹配的包,可不符合規范。)
如果有IP 選項,還可指定IP 選項的值,SENDIP 支持的IP 選項如下表所示。
Name
SendIP
option
RFC Copy Class Number
Type
(see
above)
Length
(0 not
present)
Description
EOL -ioeol 791 0 0 0 0 0
Used as padding if needed
(使用該選項後,會自動在IP 頭
中未用到的位補0)
NOP -ionop 791 0 0 1 1 0
Do nothing. Often used as padding
so the next option starts on a 32 bit
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第6 頁共14 頁
boundary
RR -iorr 791 0 0 7 7 variable
Used to record the route of a
packet.(記錄包走過的每個路由
器, 通常用法是: -iorr
0f:ff.ff.ff.ff:10.0.0.234 –ioeol,其中
iorr 表示記錄路由,此時系統會自
動將IP 選項號置為07,0f 表示指
針,即記錄的最後一個IP 地址的
指針,系統會自動運算該IP 選項
的長度)
TS -iots 791 0 2 4 68 variable
Used to record the time at which a
packet was processed by an
intermediate system
LSR -iolsr 791 1 0 3 131 vairable
Loose Source Route - let the
source specify the route for a
packet.
SID -iosid 791 1 0 8 136 4
Rarely used, carries the SATNET
stream identifier.
SSR -iossr 791 1 0 9 137 variable
Strict Source Route - same as LSR,
but extra hops are not allowed.
SEC
791,
1108
1 0 2 130 variable Security, rarely used
E-SEC 1108 1 0 5 133 variable Extended Security, rarely used
通常在SENDIP 中指定IP 選項時,格式比較特別,下面我們以RR 記錄路由選項為例
介紹一下,如果要發送一個記錄三個IP 的數據包,需要考慮如下,一是指定IP 頭的長度要
包括IP 選項的長度,而是要指定RR 記錄路由選項的指針位置和IP 地址(本來是由系統自
動記錄IP 和更新指針位置,但現在必須手工指定),那麼記錄三個IP 包後,指針的位置應
是3+4×3+1=16,造好後,數據包的格式應該如下:
IP 頭07 15 16 10.0.0.234(IP1) 20.0.0.234(IP2) 30.0.0.234(IP3) 00(ioeol) tcp
20B RR len ptr 4bytes 4bytes 4bytes Ptr
具體命令行如下:
#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234
–ioeol –p tcp –ts 1379 –td 23 –tt 8 30.0.0.1
-ih 10 表示IP 頭的長度為10×4 為40 個位元組,去除標準的20 個位元組長度,為IP
選項預留為20 個位元組
-iorr 10:10.0.0.234:20.0.0.234:30.0.0.234 中第一個10 表示用16 進製表示的指針的
位置,後面為用冒號分隔的三個用點分十進製表示的IP 地址
-ioeol 表示用00 結束IP 選項,並用隨機數填充後面未用的IP 頭位置
以上部分只是以RR 記錄路由IP 選項為例,介紹了sendip 中指定IP 選項的方法,當然
也可以根據自己的要求發送IP 選項不符合常規的數據包。其他的IP 選項與此雷同,但發送
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第7 頁共14 頁
前需要詳細了解IP 選項的格式,才可正確發送。
TCP 數據包的格式:
根據TCP 數據包的格式,SENDIP 有如下命令行參數可以指定對應的TCP 數據包中參
數的值。
Field name
Size
(bits)
SendIP
option
Description
Source port 16 -ts
Source port number for the connection
(以十進制的方式指定TCP 原埠)
Destination port 16 -td
Destination port number
(以十進制的方式指定TCP 目的埠)
Sequence number 32 -tn
Number of the first data octet in this packet. If SYN bit is
set, this is the number of the first data octet of the stream
too.(指定TCP 序列號,如果不指定則隨機產生)
Acknowledgment
number
32 -ta
If ACK bit is set, the next sequence number the sender is
expecting to receive.
Data offset 4 -tt
Length of TCP header in 32 bit words(指定TCP 頭的長
度,單位是以32bits 也就是4 位元組為單位)
Reserved 4 -tr
Should be 0. Note, rfc793 defines this as a 6 bit field, but
the last 2 are used by rfc2481 for ECN as below.
Flags: ECN 1 -tfe
Flags: CWR 1 -tfc
ECN extension flags, see rfc2481. (指定TCP 標志位,
如果要打開哪一位,就在命令行參數中指定相應位的
值,如要設置SYN 狀態,只需在命令行加入-tfs 1 即可

Flags: URG 1 -tfu Urgent pointer is significant(同上)
Flags: ACK 1 -tfa Acknowledgment field is significant(同上)
Flags: PSH 1 -tfp Push function(同上)
Flags: RST 1 -tfr Reset the connection(同上)
Flags: SYN 1 -tfs Synchronize sequence numbers(同上)
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第8 頁共14 頁
Flags: FIN 1 -tff No more data from sender(同上)
Window 16 -tw
Number of octet starting from the one in the
Acknowledgement field that the sender is willing to
accept
Checksum 16 -tc
Checksum of the TCP header (with checksum set to 0),
data, and a psuedo-header including the source and
destination IP addresses, IP protocol field and a 16 bit
length of the TCP header and data.
Urgent pointer 16 -tu
If URG bit is set, tHe offset of the last octet of urgent data
in this packet.
Options Variable -to...
No options are required. Any number can be added. See
below for details.
如果有TCP 選項,還可指定TCP 選項的值,SENDIP 支持的TCP 選項如下表所示。
Name
SendIP
option
RFC Type
Length (0
not
present)
Description
EOL -toeol 793 0 0
Used as padding if needed(用00 填充,表示TCP
選項結束,把TCP 頭後面的位置用隨機數填充)
NOP -tonop 793 1 0
Do nothing. Often used as padding so the next
option starts on a 32 bit boundary
MSS -tomss 793 2 4
Specify the maximum recieve segment size of the
sender as a 16 bit number. Only valid when SYN is
also set
WSOPT -towscale 1323 3 3
The window size should be leftshifted by the value
of the option (an 8 bit number). Only valid when
SYN is also set.
SACKOK -tosackok 2018 4 2
Selective Acknowledgement is permitted on this
connection
SACK -tosack 2018 5 variable
Selective Acknowledgement of non-contiguous
blocks of data. The data in the option is a series of
(left edge)-(right edge) pairs giving, respectively,
the first sequence number the has been recieved and
the first that hasn't.
TSOPT -tots 1323 8 10
Timestamp. The first 4 bytes (TSval) are the time
that the packet was sent, the remaining 4 (TSecr)
echo the TSval of a packet that was recieved. TSecr
is only valid when the ACK bit is set.
從上表所示,可以看出,TCP 選項可能只有一個單位元組參數,如-toeol 和-tonop,也可
能由一個Type 號和一個length 長度以及該length 長度指定的位元組數的數據組成的參數,使
用時sendip 會自動運算length 的長度,所以,不能隨意設定TCP 選項的長度,但需要設定
TCP 選項的值。
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第9 頁共14 頁
在設定TCP 選項時,同樣要考慮到TCP 頭的長度要包括TCP 選項的長度。
TCP 選項數據包的格式大致如下:
Kind=3 Len=3 數據:移位數
TCP 選項號TCP 選項長度TCP 選項數據佔一個位元組,總長度為三個位元組
具體命令行格式可參照如下格式:
#sendip –d r64 –p ipv4 –iv 4 –ih 10 –il 128 –is 10.0.0.1 –id 30.0.0.1 –iorr 10:10.0.0.234:20.0.0.234:30.0.0.234
–ioeol –p tcp –ts 1379 –td 23 –tt 8 –tfa 0 –tfs 1 –towscale 0 –toeol 30.0.0.1
-towscale 0 :指設置TCP 選項3,長度為自動3,TCP 選項的值即移位數為0
-toeol :表示TCP 選項結束,後面用隨機數填滿TCP 頭
因為用SENDIP 設定TCP 選項時,不能設定長度,所以,如果要設定長度不正確的包,
還要藉助其他工具,如SNIFFER,用SNIFFER 抓到SENDIP 發送的包後,再將對應的TCP
選項的長度改為不規則的值即可。
根據前面介紹的內容,我們已經基本可以掌握用SENDIP 發送各種協議數據包的方法,
當然我們還可以利用他發送各種不符合標準的數據包,如校驗和錯誤、長度不正確、狀態位
不正確等各種我們需要的數據包,在使用時,建議與SNIFFER 搭配使用,以驗證SENDIP
發出的包是否正確,進行有針對性的測試。
2.2. NESSUS 工具
NESSUS 是一個非常龐大的工具,它可以提供功能完善的安全掃描服務,還可以提供全
面的發包功能,用以構造各種格式的網路通信包。本篇只關注NESSUS 的發包功能。
NESSUS 由兩個部分組成,一部分是伺服器,通常運行在POSIX 系統如LINUX/UNIX
系統中,負責掃描和攻擊,並收集數據,另一部分是客戶端,可以運行在LINUX/UNIX 系
統或WINDOWS 系統中,負責接收和顯示數據。
如果只是用來發包,則只需要服務端即可。
NESSUS 有專門的維護網站,可以隨時到http://www.nessus.org 網站下載最新的源代碼,
並獲得全面的幫助。目前,NESSUS 最新的版本為2.0.8a。
2.2.1. NESSUS 安裝方法
安裝NESSUS 前要知道NESSUS 可能需要的支撐軟體包,一個是GTK,通常POSIX
系統下的NESSUS 客戶端需要GTK,如果你的系統安裝了GTK,則必須確保安裝了
gtk-config 程序,可到ftp://ftp.gimp.org/pub/gtk/v1.2 網站下載最新的GTK 程序,如果只在
LINUX/UNIX 系統下安裝服務端,則可以不需要GTK 包;另一個是OPENSSL 包,如果希
望客戶端和服務端的通信採用SSL 方式,則需要OPENSSL 包,可到http://www.openssl.org/
下載最新的OPENSSL 包,OPENSSL 包是可選的。
NESSUS 有三種安裝方法:第一種是利用LINUX 下的LYNX 工具直接從網上安裝,這
種方法很容易,但安全性低,在此不予詳細介紹,可到NESSUS 網站上獲取相關信息。第
二種方法是使用NESSUS 提供的nessus-installer.sh 工具,直接安裝,這種方法簡單且安全性
比較高。第三種方法是獲取源碼包,然後分別編譯再進行安裝。下面分別介紹第二種和第三
種方法。
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第10 頁共14 頁
2.2.1.1. 採用nessus-installer.sh 方式安裝
從NESSUS 網站下載最新的nessus-installer.sh 文件到本地LINUX 目錄,然後執行
#sh nessus-installer.sh
系統會自動安裝NESSUS 到你的系統中,中間會需要你提供相關的提示信息,一直按
回車即可。
2.2.1.2. 採用源碼包方式安裝
如果採用源碼包方式進行安裝,需要下載四個軟體包,並按順序進行安裝。四個軟體包
分別如下:
nessus-libraries
libnasl
nessus-core
nessus-plugins
安裝時必須按順序安裝這四個軟體包。
安裝前,我們必須獲得上面所說的四個軟體包,目前版本為2.0.8a:
nessus-libraries-x.x.tar.gz
libnasl-x.x.tar.gz
nessus-core.x.x.tar.gz
nessus-plugins.x.x.tar.gz
然後開始進行安裝。
1. 安裝nessus-libraries
#tar –xzvf nessus-libraries-x.x.tar.gz
#cd nessus-libraries-x.x
#./configure
#make
#make install
2. 安裝libnasl-x.x.tar.gz (執行與上面相同的操作)
3. 安裝nessus-core.x.x.tar.gz(執行與上面相同的操作)
4. 安裝nessus-plugins.x.x.tar.gz (執行與上面相同的操作)
5. 如果使用的是LINUX 系統,必須確保/usr/local/lib 路徑在/etc/ld.so.conf 文件中,如
果是SOLARIS 系統, 必須執行export LD_LIBRARY_PATH=
$LD_LIBRARY_PATH :/usr/local/lib 命令。
6. 執行ldconfig 命令
7. 如果不想或不能使用GTK 的客戶端,可強制使用命令行方式,這時,在執行第三
步編譯nessus-core 時,可以使用如下命令:
#tar –xzvf nessus-libraries-x.x.tar.gz
#cd nessus-libraries-x.x
#./configure --disable-gtk
#make
#make install
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第11 頁共14 頁
執行以上命令後,NESSUS 就已經安裝在您的系統中了。
2.2.2. NESSUS 的發包方法
NESSUS 通常採用腳本方式控制發出的包,下面我們以發送聖誕老人攻擊包為例,來介
紹如何利用NESSUS 發送數據包。
聖誕老人包是通過發送TCP Flag 中同時有SYN 和FIN 標志的數據包,穿透防火牆,
來達到攻擊的目的。
為使用NESSUS 發送攻擊包,首先要定義一個腳本,在LINUX 下,執行vi sendp 命令,
輸入如下內容:
srcaddr=this_host(); 註:自動獲取當前主機的IP 地址
ip = forge_ip_packet( ip_v : 4, 註:IP 協議版本為IPV4
ip_hl : 5, 註:IP 頭的長度為5×4=20 位元組
ip_tos : 0,
ip_len : 40, 註:在這里輸入實際的長度40,因為IP 頭和TCP 頭都為20
ip_id : 0xABA,
ip_p : IPPROTO_TCP, 註:內部數據包協議為TCP
ip_ttl : 255,
ip_off : 0,
ip_src : srcaddr); 註:可在此直接輸入IP
port = get_host_open_port(); 註:自動獲取當前主機上的可用埠
if(!port)port = 139; 註:如果沒有可用埠,就自動使用139 埠
tcpip = forge_tcp_packet( ip : ip, 註:表示IP 層協議採用前面定義的IP 協議包
th_sport : port, 註:可在這里直接輸入埠
th_dport : port, 註:可在這里直接輸入埠
th_flags : TH_SYN|TH_FIN, 註:設置TCP 狀態的SYN 和FIN 標志位
th_seq : 0xF1C,
th_ack : 0,
th_x2 : 0,
th_off : 5, 註:TCP 頭的長度位5×4=20 位元組
th_win : 512,
th_urp : 0);
result = send_packet(tcpip,pcap_active:FALSE);
編輯完上面的腳本後,保存退出,運行如下命令:
#nasl –t 目的IP 地址測試腳本
如:
#nasl –t 10.0.0.227 sendp
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第12 頁共14 頁
通過Sniffer 抓包,就會發現有相應的聖誕老人包。
在我的使用過程中,發現NESSUS 好像不支持發送帶有IP 或TCP 選項的包。
具體發包的參數可參考http://www.nessus.org/doc/nasl.html
2.3. SNIFFER 工具
用SNIFFER 發包時,有兩種方式,一種是直接利用Packet Generator 工具,從0 開始用
16 進制的方式造一個數據包,這種方法難度較高,因為要自己算出校驗和,除非需要重現
在網路上抓到的一個16 進制格式的數據包,另外一種方式是利用已經抓到的數據包修改一
下,再發送出去,具體實現方法分別如下。
2.3.1. 利用Packet Generator 直接造包
在SNIFFER 中,選擇Tools|Packet Generator 菜單,系統彈出窗口如下:
按圖中的紅色框中的按鈕,系統會彈出一個構造包內容的對話框,如下所示:
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第13 頁共14 頁
在上圖中可輸入包的內容,還可規定發包的個數和包的長度。
2.3.2. 利用已抓的包發包
利用已抓的包進行修改,可以避免大量的運算和輸入,只需要更改自己需要更改的地方,
然後發出去即可。
如上圖所示,按包的大致要求,用其他工具造好包後,用SNIFFER 抓包,或者直接將
網路上的可疑包抓過來,然後,用滑鼠郵件單擊該包,彈出如上圖所示的快捷菜單,從中選
擇Send Current Frame 菜單,系統就會彈出如下圖所示的發包窗口:
AntPower 版權所有&; 2003 技術文章
http://www.antpower.org 第14 頁共14 頁
按要求更改包的內容,即可發送。需要注意的是如果更改了IP 地址或其他頭中的內容,
則需要更新校驗和,對MAC 或選項的更改不需要更改校驗和。
3. 總結
通過對比前面的三種發包工具,我們發現每種工具都有自己的優點和缺點,SENDIP 比
較短小而且功能較齊全,比較適合在日常測試中使用,SNIFFER 發包工具最自由,可以發
出任何可能的數據包,NESSUS 工具功能比較全面,但在發包方面不如SENDIP,所以,建
議如果是測試需要的話,應該採用SENDIP 和SNIFFER 相結合的方式,如果同時還要使用
掃描等其他功能,可以採用NESSUS 工具。

閱讀全文

與linux發包器相關的資料

熱點內容
自動解壓失敗叫我聯系客服 瀏覽:482
易語言新手源碼 瀏覽:456
oa伺服器必須有固定ip地址 瀏覽:42
傳奇源碼分析是什麼 瀏覽:267
解放壓縮機支架 瀏覽:255
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:800
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:91
匯編程序編譯後的文件 瀏覽:80
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:216
滴滴金融app被下架如何還款 瀏覽:212