iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0

而DAY14我們可以抓到GTPU封包,今天我們來更進一步的解析封包本身,首先我們先來判斷封包類型,分為TCP與UDP。

while True:
    data, address = proxy_socket2.recvfrom(BUFFER_SIZE)
    proxy_socket2.sendto(data,("10.244.0.90", 2152))
    gtpu_packet = GTP_U_Header(data)
    if "ICMP" in GTP_U_Header(data).getlayer(0):
        print("this is a ICMP Packet")
    if "TCP" in GTP_U_Header(data).getlayer(0):
        print("this is a TCP packet")
    if "UDP" in GTP_U_Header(data).getlayer(0):
        print("this is a UDP packet")

而從上面 我們將封包分成ICMP TCP UDP分別進行過濾,並且我們在加一行來顯示目的地IP。

print("the dst ip is : ", GTP_U_Header(data)[IP].dst)

之後我們再進一步新增阻擋的功能,將8.8.8.8的IP設為禁止連線

if GTP_U_Header(data)[IP].dst == "8.8.8.8":
   print("this ip is forbidden")
   continue
else:
   proxy_socket2.sendto(data,("10.244.0.90", 2152))


可以看到 8.8.8.8無法PING通但8.8.4.4可以

而我們嘗試CURL

可以看到有正常的抓到HTTP的封包
而若有其他需要過濾的,可以再額外加判斷並且可以放進資料庫進行封包來源與目的的顯示,不過這邊就先不做,交給讀者自行發揮


上一篇
DAY14 GTPU-PROXY
下一篇
DAY16 朝向資安邁進
系列文
一個人的5G網路與資安小圈圈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言