1.base64編碼
1.將我們要傳輸的文件進行base64編碼:
base64 XXX>test #linux
certutil -encode test.zip temp #windows #-encode base64編碼 #test.zip 要加密的文件 #temp 生成的base64編碼文件
2.監聽icmp
在接收的遠程主機上輸入下面的命令監聽接收的數據,并開啟wireshark,并設置過濾策略為只監聽icmp
hping3 x.x.x.x --listen signature --safe --icmp -u
參數說明:
(1)–listen 指定hping3為監聽模式,接收發來的數據
(2)signature 指定接收數據的簽名,每條發來的數據都會在最前面帶上這個字符串,也就是說,“signature”這個字符串后就是我們接受到的數據,后面拼接是要用到
(3)–safe 以安全模式接收,確保發來的數據包是按照發送順序,完整的接收到
(4)–icmp 指定通過icmp協議傳輸
(5)-u 接收完成后自動中斷(官方資料如是說,但是我這里沒有達到這個效果)
(6)x.x.x.x 是我們指定的需要接收的地址,也就是表明:我們只接收來自192.168.164.128發來的icmp數據包
3.發送文件
在發送方執行下面的命令,來通過icmp數據包發送文件
sudo hping3 192.168.164.136 --icmp -d 1000 --sign signature --file test -u
參數說明:(與上面重復的不在說明)
(1)x.x.x.x 指定我們要發送給那個主機
(2)-d 指定每個數據包的大小
(3)–sign signature 指定簽名內容,也就是上一步我們需要接收的簽名字符串為”signature”
(4)–file test 指定我們要傳輸的文件為test文件,也就是我們進行base64編碼后的編碼文件
按理說,應該也可以用–safe參數的,但是我這里用–safe后,目的地址就變成了127.0.0.1,不知道怎們回事,暫且不用
加了-u參數后,文件發送完成,它會提示我們按下ctrl+c來停止傳送,如果不停止,它會反復發送
4.接受數據包
在接收端wireshark已經可以看到接受到的數據包
這里由于測試,我們的文件比較短,直接提取data中text類型中的字符串,右鍵->copy->value就可以取到
由于我們取到的值進行了簽名,就是前面的“signature”字符串,我們直接去掉這個字符串,只保留后面的base64編碼,保存為temp
5.執行解碼命令
在接收端執行解碼命令還原文件
cat temp|base64 -d>test #linux
certutil -decode temp test.zip #windows #-decode base64編碼 #temp 要解密的base64編碼文件 #test.zip 生還原的文件
可以看到已經對文件進行了還原,是一個zip文件。
傳輸完成。
回答所涉及的環境:聯想天逸510S、Windows 10。
1.base64編碼
1.將我們要傳輸的文件進行base64編碼:
2.監聽icmp
在接收的遠程主機上輸入下面的命令監聽接收的數據,并開啟wireshark,并設置過濾策略為只監聽icmp
參數說明:
(1)–listen 指定hping3為監聽模式,接收發來的數據
(2)signature 指定接收數據的簽名,每條發來的數據都會在最前面帶上這個字符串,也就是說,“signature”這個字符串后就是我們接受到的數據,后面拼接是要用到
(3)–safe 以安全模式接收,確保發來的數據包是按照發送順序,完整的接收到
(4)–icmp 指定通過icmp協議傳輸
(5)-u 接收完成后自動中斷(官方資料如是說,但是我這里沒有達到這個效果)
(6)x.x.x.x 是我們指定的需要接收的地址,也就是表明:我們只接收來自192.168.164.128發來的icmp數據包
3.發送文件
在發送方執行下面的命令,來通過icmp數據包發送文件
參數說明:(與上面重復的不在說明)
(1)x.x.x.x 指定我們要發送給那個主機
(2)-d 指定每個數據包的大小
(3)–sign signature 指定簽名內容,也就是上一步我們需要接收的簽名字符串為”signature”
(4)–file test 指定我們要傳輸的文件為test文件,也就是我們進行base64編碼后的編碼文件
按理說,應該也可以用–safe參數的,但是我這里用–safe后,目的地址就變成了127.0.0.1,不知道怎們回事,暫且不用
加了-u參數后,文件發送完成,它會提示我們按下ctrl+c來停止傳送,如果不停止,它會反復發送
4.接受數據包
在接收端wireshark已經可以看到接受到的數據包
這里由于測試,我們的文件比較短,直接提取data中text類型中的字符串,右鍵->copy->value就可以取到
由于我們取到的值進行了簽名,就是前面的“signature”字符串,我們直接去掉這個字符串,只保留后面的base64編碼,保存為temp
5.執行解碼命令
在接收端執行解碼命令還原文件
可以看到已經對文件進行了還原,是一個zip文件。
傳輸完成。
回答所涉及的環境:聯想天逸510S、Windows 10。