iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
自我挑戰組

No Security No Sleep系列 第 10

0x10 Networking:Fundamentals

  • 分享至 

  • xImage
  •  

網路對於任何人來講都非常的方便,只要有普通的網路,幾乎可以做任何事,掃描主機、注入封包、竊聽、遠端嘗試主機弱點等等,雖然這些功能都有大量的工具可辦到,可是如果在別人環境下,情況就變得不一樣了,沒有netcut,沒有wireshark之類的工具,也沒辦法裝,但你會發現,許多系統上都裝著python,唯一的機會來了

先介紹點python網路功能的基礎,python的優勢擁有許多第三方模組,在網路程式亦是如此,而主要核心都是socket模組,能夠快速拼湊出TCP與UDP的EchoServer和EchoClient

#TCP Client
import socket

target_host = "www.google.com"
target_port = 80

#建立socket物件
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#讓client連線
client.connect((target_host, target_port))

#傳送一些資料
client.send("GET / HTTP/1.1\r\nHost: google.com\r\n\r\n")

#接收一些資料
response = client.recv(4096)

print response

有些時候必須跟時間賽跑,能夠快速建立TCP client將非常方便,AF_INET代表將用一個IPv4位址或主機名稱,而SOCK_STREAM則代表這是個TCP client,最基礎的client結構

#udpClient
import socket

target_host = "127.0.0.1"
target_port = 80

#建立socket物件
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

#傳送一些資料
client.sendto("AAABBBCC", (target_host, target_port))

#接收一些資料
data, addr = client.recvfrom(4096)

print data

上一篇
0x09 python小工具
下一篇
0x11 NetCat
系列文
No Security No Sleep13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
greenhat_p
iT邦新手 5 級 ‧ 2020-05-25 20:27:03

黑帽python

我要留言

立即登入留言