• No results found

FTP Analysis via SMF Records, FTP Server Exits and Logging, and CTRACE

N/A
N/A
Protected

Academic year: 2021

Share "FTP Analysis via SMF Records, FTP Server Exits and Logging, and CTRACE"

Copied!
81
0
0

Loading.... (view fulltext now)

Full text

(1)

FTP Analysis via SMF Records, FTP

Server Exits and Logging, and CTRACE

SHARE Session 3961

SHARE Session 3961

March 6, 2006

March 6, 2006

David Cheng

David Cheng

Applied Expert Systems, Inc.

Applied Expert Systems, Inc.

(2)

Agenda

FTP Background

FTP Background

Data type, structure and mode

Data type, structure and mode

Active FTP

Active FTP

Passive FTP

Passive FTP

FTP Commands and Replies

FTP Commands and Replies

FTP Diagnostic/Performance Data

FTP Diagnostic/Performance Data

FTP Server Exits

FTP Server Exits

FTP SMF Records

FTP SMF Records

SMF Type 118 vs. Type 119

SMF Type 118 vs. Type 119

FTP Server Logging

FTP Server Logging

Component Trace

Component Trace

IP packet trace

IP packet trace

FTP Analysis/Tuning

(3)

FTP Data Type – how data is interpreted

by the receiver

FTP always transfer data in 8

FTP always transfer data in 8

-

-

bit bytes; this is called the transfer size

bit bytes; this is called the

transfer size

ASCII

ASCII

Default data type

Default data type

Each line of data is terminated by CRLF (X

Each line of data is terminated by CRLF (X

0D0A

0D0A

)

)

Translation is always required; even between 2 ASCII hosts:

Translation is always required; even between 2 ASCII hosts:

ASCII

ASCII

-

-

> NVT

> NVT

-

-

ASCII

ASCII

-

-

> ASCII

> ASCII

(NVT

(NVT

-

-

ASCII : Network Virtual Terminal ASCII as defined in the TELNET

ASCII : Network Virtual Terminal ASCII as defined in the TELNET

protocol.)

protocol.)

If MVS is the receiving side, data will be translated to EBCDIC,

If MVS is the receiving side, data will be translated to EBCDIC,

CRLF

CRLF

replaced with MVS record boundaries

replaced with MVS record boundaries

according to SITE/LOCSITE

according to SITE/LOCSITE

parms

parms

:

:

RECFM and LRECL

RECFM and LRECL

EBCDIC

EBCDIC

8

8

-

-

bit EBCDIC bytes are transferred as they are

bit EBCDIC bytes are transferred as they are

no translation

no translation

IMAGE

IMAGE

Contiguous bits packed into the 8

Contiguous bits packed into the 8

-

-

bit FTP transfer byte size

bit FTP transfer byte size

Normally used for binary data

Normally used for binary data

More efficient method to transfer data between 2 similar ASCII h

(4)

Data Type Comparison

EBCDIC -> EBCDIC, 29*80 chars: 2320 bytes

0.320

0.320

2320 bytes

2320 bytes

IMAGE

IMAGE

0.260

0.260

2349 bytes

2349 bytes

29 extra byte:

29 extra byte:

X

X’

’15

15’

(NL in EBCDIC)

(NL in EBCDIC)

EBCDIC

EBCDIC

0.330

0.330

2378 bytes

2378 bytes

29*2 extra bytes:

29*2 extra bytes:

X

X’

’0D0A

0D0A’

(CRLF in ASCII)

(CRLF in ASCII)

ASCII data transferred, then

ASCII data transferred, then

converted to EBCDIC

converted to EBCDIC

ASCII

ASCII

Response Time

Response Time

(seconds)

(seconds)

Bytes transferred

Bytes transferred

Data Type

Data Type

(5)

FTP Data Structure – how data is stored

by the receiver

File

File

Has no internal structure

Has no internal structure

Contiguous sequence of bytes

Contiguous sequence of bytes

Most widely implemented

Most widely implemented

Record

Record

File is made up of sequential records; ASCII type with

File is made up of sequential records; ASCII type with

CRLF sequences

CRLF sequences

z/OS only supports Record structure with

z/OS only supports Record structure with

stream

stream

mode transfer

mode transfer

Page

(6)

FTP Data Mode – how data is transmitted

Stream

Stream

Transmitted as stream of bytes; with very little or no extra

Transmitted as stream of bytes; with very little or no extra

processing

processing

Block

Block

Transmitted as a series of data blocks, each block is preceded

Transmitted as a series of data blocks, each block is preceded

by a header

by a header -

-

count and descriptor

count and descriptor

z/OS only supports Block mode with data type EBCDIC

z/OS only supports Block mode with data type EBCDIC

A file transferred between 2 z/OS systems in Block mode will

A file transferred between 2 z/OS systems in Block mode will

preserve its record structure (e.g., variable length records)

preserve its record structure (e.g., variable length records)

Compress

Compress

Transmitted in a compressed format

Transmitted in a compressed format

Simple compression algorithm

Simple compression algorithm –

send duplicated bytes in a two-

send duplicated bytes in a two

-byte sequence, followed by a one

(7)

Control / Data Connections

Control connection

Control connection

A communication path between the Client and Server for the

A communication path between the Client and Server for the

exchange of commands & replies

exchange of commands & replies

FTP Server Port 21

FTP Server Port 21

Connection stays up during the whole session, in which

Connection stays up during the whole session, in which

many files may be transferred

many files may be transferred

Data connection

Data connection

A full duplex connection over which data is transferred, in a

A full duplex connection over which data is transferred, in a

specified mode and type

specified mode and type

FTP Server Port 20 (for active FTP)

FTP Server Port 20 (for active FTP)

Usually one for each file transfer

Usually one for each file transfer

(8)

Active FTP

Server initiates

Server initiates

data connection

data connection

to the client

to the client

Client connects from a random unprivileged port (N >

Client connects from a random unprivileged port (N >

1024) to the FTP server

1024) to the FTP server

s port 21

s port 21

Client starts listening to port N+1 and sends the FTP

Client starts listening to port N+1 and sends the FTP

command PORT N+1 to the FTP server

command PORT N+1 to the FTP server

PORT h1,h2,h3,h4,p1,p2

PORT h1,h2,h3,h4,p1,p2

h1,h2,h3,h4 is the client

h1,h2,h3,h4 is the client

s IP address, p1,p2 is the client

s IP address, p1,p2 is the client

port number in an 8 bit high, low bit order

port number in an 8 bit high, low bit order

The Server will then connect back to the client

(9)

FTP Data Session – Active Mode

FTP Client

FTP Client

FTP Server

FTP Server

Port X

Port X

PORT, IP address, port Y

PORT, IP address, port Y

Port 21

Port 21

Port X

Port X

PORT command successful

PORT command successful

Port 21

Port 21

Port X

(10)

FTP Active Mode in Details

FTP Client

FTP Client

FTP Server

FTP Server

Port X

Port X

SYN

SYN

Port 21

Port 21

Port X

Port X

SYN ACK

SYN ACK

Port 21

Port 21

Port X

Port X

ACK

ACK

Port 21

Port 21

Port X

Port X

PORT, IP address, port Y

PORT, IP address, port Y

Port 21

P

ort 21

Port X

Port X

PORT command successful

PORT command successful

Port 21

Port 21

Port X

Port X

LIST, RETR, or STOR, etc.

LIST, RETR, or STOR, etc.

Port 21

Port 21

Port Y

Port Y

SYN

SYN

Port 20

Port 20

Port Y

Port Y

SYN ACK

SYN ACK

Port 20

Port 20

Port Y

(11)

Active FTP

FTP Client

FTP Client

FTP Server

FTP Server

1674

1674

PORT 1675

PORT 1675

21

21

ACK

ACK

1675

1675

connect

connect

20

20

ACK

ACK

(12)

Passive FTP

Client initiates data connection to the server

Client initiates data connection to the server

Firewall friendly

Firewall friendly

When opening an FTP connection, the client opens 2

When opening an FTP connection, the client opens 2

random unprivileged ports locally (N > 1024 and N+1)

random unprivileged ports locally (N > 1024 and N+1)

The first port contacts the server on port 21

The first port contacts the server on port 21

Client issues the PASV command (the PASV command

Client issues the PASV command (the PASV command

takes no parameters)

takes no parameters)

The server then opens a random port and sends Reply

The server then opens a random port and sends Reply

Code 227 back to the client (similar to the PORT

Code 227 back to the client (similar to the PORT

command)

command)

The client then initiates the connection from port N+1 to

The client then initiates the connection from port N+1 to

port P on the server to transfer data

port P on the server to transfer data

(13)

Passive FTP

FTP Client

FTP Client

FTP Server

FTP Server

1673

1673

PASV

PASV

21

21

227 Entering Passive Mode (IP

227 Entering Passive Mode (IP

Addr

Addr

, Port #)

, Port #)

1674

1674

connect

connect

2020

2020

ACK

(14)

FTP Passive Mode in Details

FTP Client

FTP Client

FTP Server

FTP Server

Port X

Port X

SYN

SYN

Port 21

Port 21

Port X

Port X

SYN ACK

SYN ACK

Port 21

Port 21

Port X

Port X

ACK

ACK

Port 21

Port 21

Port X

Port X

PASV

PASV

Port 21

P

ort 21

Port X

Port X

RC 227, IP address, Port Y

RC 227, IP address, Port Y

Port 21

Port 21

Port Z

Port Z

SYN

SYN

Port Y

Port Y

Port Z

Port Z

SYN ACK

SYN ACK

Port Y

Port Y

Port Z

Port Z

ACK

ACK

Port Y

Port Y

Port X

Port X

LIST, RETR, or STOR, etc.

LIST, RETR, or STOR, etc.

Port 21

Port 21

Port Z

(15)

FTP Commands

Commands and Replies are sent across the control

Commands and Replies are sent across the control

connection and are in plain text.

connection and are in plain text.

Commands are 3 or 4 bytes characters, each with

Commands are 3 or 4 bytes characters, each with

optional parameters.

optional parameters.

The FTP commands specify the parameters for:

The FTP commands specify the parameters for:

the data connection (port)

the data connection (port)

transfer mode

transfer mode

data representation type and structure

data representation type and structure

the nature of file system operation (store, retrieve,

the nature of file system operation (store, retrieve,

append, delete, etc.)

(16)

Sample FTP Commands

Access Control:

Access Control:

USER

USER

User identification

User identification

PORT

PORT

Data port specification

Data port specification

TYPE

TYPE

Data representation (ASCII, EBCDIC, Image)

Data representation (ASCII, EBCDIC, Image)

QUIT

QUIT

Terminates a USER and the control connection

Terminates a USER and the control connection

Transfer:

Transfer:

MODE

MODE

Transfer mode (Stream, Block, Compress)

Transfer mode (Stream, Block, Compress)

RETR

RETR

Server

Server

-

-

> Client file transfer

> Client file transfer

STOR

STOR

Client

Client

-

-

> Server file transfer

> Server file transfer

Service:

Service:

DELE

DELE

Deletes a Server file

Deletes a Server file

LIST

LIST

Directory listing

Directory listing

RNFR

(17)

FTP Replies

Synchronization of requests and actions in the file

Synchronization of requests and actions in the file

transfer process

transfer process

Guarantee that the user process always knows the state

Guarantee that the user process always knows the state

of Server

of Server

Every command must generate at least one reply

Every command must generate at least one reply

An FTP reply consists of a 3

An FTP reply consists of a 3

-digit number (i.e., 3

-

digit number (i.e., 3

alphanumeric characters) followed by some text

alphanumeric characters) followed by some text

The number is intended for use by the software to

The number is intended for use by the software to

determine what to do next; the text is intended for the

determine what to do next; the text is intended for the

human user

human user

There may be more than one reply, in which case these

There may be more than one reply, in which case these

multiple replies must be easily distinguished

multiple replies must be easily distinguished

(18)

FTP Reply Code

1yz

1yz

Positive preliminary reply

Positive preliminary reply

2yz

2yz

Positive completion reply (a new command may be sent)

Positive completion reply (a new command may be sent)

3yz

3yz

Positive intermediate reply (another command

Positive intermediate reply (another command

must be sent)

must be sent)

4yz

4yz

Transient negative reply (command can be re-

Transient negative reply (command can be re

-

issued later)

issued later)

5yz

5yz

Permanent negative reply (command should not be retried)

Permanent negative reply (command should not be retried)

x0z

x0z

Syntax error

Syntax error

x1z

x1z

Information

Information

x2z

x2z

Connections

Connections

x3z

x3z

Authentication and accounting

Authentication and accounting

x4z

x4z

Unspecified

Unspecified

x5z

(19)

Sample FTP Reply Codes

150

150

File status okay; about to open data connection.

File status okay; about to open data connection.

226

226

Transfer complete

Transfer complete

227

227

Entering passive mode {h1,h2,h3,h4,p1,p2}

Entering passive mode {h1,h2,h3,h4,p1,p2}

250

250

Requested file action okay, completed.

Requested file action okay, completed.

257

257

"PATHNAME" created.

"PATHNAME" created.

350

350

Requested file action pending further information.

Requested file action pending further information.

450

450

Requested file action not taken. File unavailable (e.g., file b

Requested file action not taken. File unavailable (e.g., file b

usy).

usy).

550

550

Requested action not taken. File unavailable (e.g., file not

Requested action not taken. File unavailable (e.g., file not

found, no access).

found, no access).

451

451

Requested action aborted. Local error in processing.

Requested action aborted. Local error in processing.

551

551

Requested action aborted. Page type unknown.

Requested action aborted. Page type unknown.

452

452

Requested action not taken. Insufficient storage space in

Requested action not taken. Insufficient storage space in

system.

system.

552

552

Requested file action aborted. Exceeded storage allocation (for

Requested file action aborted. Exceeded storage allocation (for

current directory or data set).

current directory or data set).

553

(20)

C:

C:\

\Windows>ftp 137.72.43.247

Windows>ftp 137.72.43.247

Connected to 137.72.43.247.

Connected to 137.72.43.247.

220

220-

-FTPD1 IBM FTP CS V1R4 at S390, 21:05:48 on 2004

FTPD1 IBM FTP CS V1R4 at S390, 21:05:48 on 2004-

-

07

07

-

-

20.

20.

220 Connection will close if idle for more than 5 minutes.

220 Connection will close if idle for more than 5 minutes.

User (137.72.43.247:(none)): p390

User (137.72.43.247:(none)): p390

331 Send password please.

331 Send password please.

Password:

Password:

RC 220

Service ready for new user

- : continuation

(21)

FTP Diagnostics Data

Connection attempts

Connection attempts

Client identification

Client identification

Active vs. Passive FTP

Active vs. Passive FTP

FTP commands

FTP commands

FTP replies

FTP replies

Throughput

Throughput

PORT command hacking (FTP bounce attack)

(22)

FTP Diagnostics/Performance Data

Published Record Types or API

Published Record Types or API

Non

Non

-

-

intrusive, lower overhead

intrusive, lower overhead

Event

Event

-

-

driven

driven

True real

True real

-

-

time data

time data

FTP Server exits and SMF exits

FTP Server exits and SMF exits

Polling

Polling

Comm Server Network Management API

Comm Server Network Management API

Only SMF data is available

(23)

FTP Diagnostics/Performance Data

FTP Server Exits

FTP Server Exits

FTCHKIP

FTCHKIP –

open connection

open connection

FTCHKPWD

FTCHKPWD –

password verification

password verification

FTCHKCMD

FTCHKCMD –

FTP command

FTP command

FTPOSTPR

FTPOSTPR –

FTP command completion

FTP command completion

FTCHKJES

FTCHKJES –

Job submission

Job submission

FTPSMFEX

FTPSMFEX –

FTP server SMF record

FTP server SMF record

SMF records (Type 118 or 119)

SMF records (Type 118 or 119)

FTP Server Logon

FTP Server Logon Fauilure

Fauilure

FTP Server Transfer Completion

FTP Server Transfer Completion

FTP Client Transfer Completion

FTP Client Transfer Completion

TCP Connection Initiation

TCP Connection Initiation

TCP Connection Termination

TCP Connection Termination

(24)

FTP Diagnostics/Performance Data

Logging/Tracing

Logging/Tracing

FTPLOGGING, ANONYMOUSFTPLOGGING (FTP

FTPLOGGING, ANONYMOUSFTPLOGGING (FTP

Server)

Server)

TRACE, DEBUG (FTP Server)

TRACE, DEBUG (FTP Server)

Packet trace

Packet trace –

detailed analysis at protocol level

detailed analysis at protocol level

NOT for monitoring purpose

NOT for monitoring purpose

Performance penalty (e.g., APAR PQ84192)

Performance penalty (e.g., APAR PQ84192)

(25)

FTP Server User Exits

R1

R1

-

-

> parameter list, which is a series of pointers to

> parameter list, which is a series of pointers to

values

values

The first word of the parameter list always points to the

The first word of the parameter list always points to the

return code (RC). RC=0 upon entry to an exit. If RC is

return code (RC). RC=0 upon entry to an exit. If RC is

not 0, user will receive a negative reply

not 0, user will receive a negative reply

The second word of the parameter list always points to a

The second word of the parameter list always points to a

word containing the number of parameters that follow

word containing the number of parameters that follow

APF

APF

-

-

authorized

authorized

STEPLIB DD in the FTPD proc

STEPLIB DD in the FTPD proc

RACF consideration

RACF consideration

(26)

FTP Server Exit - FTCHKIP

FTCHKIP is called at the initial stage of login or

FTCHKIP is called at the initial stage of login or

whenever the user issues an OPEN command

whenever the user issues an OPEN command

Client

Client

s IP address (IPV4) and port

s IP address (IPV4) and port

Server

Server

s IP address (IPV4) and port

s IP address (IPV4) and port

Socket address structure (IPV4 or IPV6) for

Socket address structure (IPV4 or IPV6) for

the client

the client

s control

s control

conneciton

conneciton

Socket address structure (IPV4 or IPV6) for

Socket address structure (IPV4 or IPV6) for

the server

the server

s control connection

s control connection

Session ID

(27)

FTP Server Exit - FTCHKPWD

FTCHKPWD is called after the user enters the password

FTCHKPWD is called after the user enters the password

Client

Client’

’s user ID

s user ID

Client

Client

s password

s password

User data

User data

Number of bad passwords input in this logon attempt

Number of bad passwords input in this logon attempt

Socket address structure for the client

Socket address structure for the client

’s control

s control

connection

connection

Socket address structure for the server

Socket address structure for the server

s control

s control

connection

connection

Session ID

Session ID

(28)

FTP Server Exit - FTCHKCMD

FTCHKCMD is called whenever the client enters a

FTCHKCMD is called whenever the client enters a

command

command

Client

Client

s user ID

s user ID

Command

Command

Command parameters

Command parameters

Current directory type: MVS, HFS

Current directory type: MVS, HFS

File type: SEQ, JES, SQL

File type: SEQ, JES, SQL

Current working directory

Current working directory

Address of a buffer for command modification

(29)

FTP Server Exit - FTPOSTPR

FTPOSTPR is called upon completion of the FTP commands RETR,

FTPOSTPR is called upon completion of the FTP commands RETR,

STOR, STOU, APPE, DELE, and RNTO

STOR, STOU, APPE, DELE, and RNTO

Client

Client’

’s user ID

s user ID

Client

Client’

’s IP address

s IP address

Client

Client’

’s port

s port

Current directory type: MVS, HFS

Current directory type: MVS, HFS

Current working directory

Current working directory

Current file type: SEQ, JES, SQL

Current file type: SEQ, JES, SQL

FTP reply code

FTP reply code

FTP reply string

FTP reply string

FTP command code

FTP command code

Current CONDDISP setting: C for catalog, D for delete

Current CONDDISP setting: C for catalog, D for delete

(30)

FTP Server Exit - FTPOSTPR

Close reason code:

Close reason code:

0

0 –

transfer completed normally

transfer completed normally

4

4 –

transfer completed w/error

transfer completed w/error

see FTP reply code and text string

see FTP reply code and text string

8

8 –

transfer completed w/socket erros

transfer completed w/socket

erros

12

12 –

transfer aborted

transfer aborted

16

16 –

transfer aborted w/SQL file errors

transfer aborted w/SQL file errors

Dataset name or HFS file name

Dataset name or HFS file name

Bytes transferred

Bytes transferred

Socket address structure for the client

Socket address structure for the client’

’s control session

s control session

Socket address structure for the server

Socket address structure for the server’

’s control session

s control session

Session ID

(31)

FTP Server Exit - FTPSMFEX

FTPSMFEX is called before a type 118 SMF (FTP

FTPSMFEX is called before a type 118 SMF (FTP

server) record is written to SMF

server) record is written to SMF

Type 119 SMF records must use the system

Type 119 SMF records must use the system

-wide SMF

-

wide SMF

exits IEFU83, IEFU84 and IEFU85

exits IEFU83, IEFU84 and IEFU85

R1

R1

-

-

> the following parameter list:

> the following parameter list:

Pointer to the return code

Pointer to the return code

Pointer to the type 118 SMF record

Pointer to the type 118 SMF record

On entry, the return code is set to 0. A return code of 0

On entry, the return code is set to 0. A return code of 0

specifies that the SMF record will be written

specifies that the SMF record will be written

(32)

FTP Server Exit Installation

APF

APF

-

-

authorize the load library

authorize the load library

Add the load library to STEPLIB in the FTPD

Add the load library to STEPLIB in the FTPD

proc

proc

If RACF Program Control is active: SETROPTS

If RACF Program Control is active: SETROPTS

WHEN(PROGRAM), you must define FTP exits

WHEN(PROGRAM), you must define FTP exits

to RACF class PROGRAM

to RACF class PROGRAM

Restart the FTP Daemon (for FTCHKIP)

(33)

FTP Server Exit Installation

Sample RACF Definition for FTCHKIP:

Sample RACF Definition for FTCHKIP:

RDEFINE PROGRAM

RDEFINE PROGRAM

FTCHKIP

FTCHKIP

ADDMEM(

ADDMEM(

loadlib

loadlib

/

/

volser

volser

/NOPADCHK

/NOPADCHK

) UACC(READ)

) UACC(READ)

SETR WHEN(PROGRAM) REFRESH

SETR WHEN(PROGRAM) REFRESH

Without proper RACF definition, FTP client will get the

Without proper RACF definition, FTP client will get the

following error when logging in:

following error when logging in:

550 PASS COMMAND FAILED

550 PASS COMMAND FAILED -

-

_PASSWD() ERROR: EDC5157I AN

_PASSWD() ERROR: EDC5157I AN

INTERNAL ERROR OCURRED

(34)

Verify FTP Server Exits

Start the FTP Server with the

Start the FTP Server with the

TRACE

TRACE

parameter; e.g., S FTPD,PARM=TRACE

parameter; e.g., S FTPD,PARM=TRACE

Check for the following messages in SYSLOG:

Check for the following messages in SYSLOG:

BPXF024I (FTPD) Jan 5 18:01:34 ftpd 33619980 : DM1009 main:

FTCHKIP

successfully loaded

BPXF024I (AESDJC1) Jan 6 02:01:57 ftps 16843115 : RX0625 main:

chkpwdexit

successfully loaded

BPXF024I (AESDJC1) Jan 6 02:01:58 ftps 16843115 : RX0641 main:

chkcmdexit

successfully loaded

BPXF024I (AESDJC1) Jan 6 02:01:58 ftps 16843115 : RX0696 main:

(35)

FTP Server SMF Record

FTP command

FTP command

FTP type: SEQ, JES, SQL

FTP type: SEQ, JES, SQL

Client IP address and port

Client IP address and port

Server IP address and port

Server IP address and port

Local user ID

Local user ID

Data format: A: ASCII, E: EBCDIC, I: image

Data format: A: ASCII, E: EBCDIC, I: image

(binary), D: double byte, U: UCS

(36)

FTP Server SMF Record - Continued

Mode

Mode

S: stream, B: block. C : compressed

S: stream, B: block. C : compressed

Start/End time of transmission

Start/End time of transmission

Bytes transferred

Bytes transferred

FTP reply code

FTP reply code

Dataset/member/file names

Dataset/member/file names

(37)

FTP Client SMF Record

FTP command

FTP command

Client IP address and port

Client IP address and port

Server IP address and port

Server IP address and port

Data format

Data format

Transfer mode

Transfer mode

Start/End time of transmission

Start/End time of transmission

Byte count

Byte count

Dataset/file name

(38)

Enable TCP/IP SMF Recording

SMFPRMxx

SMFPRMxx

make sure that 118/119 is not

make sure that 118/119 is not

being excluded from recording

being excluded from recording

SMF Type 119 is available only in z/OS V1R2

SMF Type 119 is available only in z/OS V1R2

and later releases

and later releases

SMF Type 118 and Type 119 can co

SMF Type 118 and Type 119 can co

-

-

exist

exist

To get FTP

To get FTP

Server

Server

SMF record, configure FTP

SMF record, configure FTP

DATA as follows:

DATA as follows:

118:

118:

SMF STD

SMF STD

119:

119:

SMF TYPE119

SMF TYPE119

(39)

Enable TCP/IP SMF Recording

To get FTP Client SMF record, configure TCP/IP

To get FTP Client SMF record, configure TCP/IP

PROFILE as follows:

PROFILE as follows:

118

118

SMFCONFIG

SMFCONFIG

FTPCLIENT

FTPCLIENT

119

119

SMFCONFIG

(40)

Verify SMF Recording

System Level – issue the “D SMF,O” operator command, verify:

SMFPRMxx member

SMF parameters

TCP/IP Level – issue the “NETSTAT,CONFIG” command

Check the SMF Parameters listing; e.g.,

SMF Parameters:

Type 118:

TcpInit: 00 TcpTerm: 00 FTPClient: 00

TN3270Client: 00 TcpIpStats: 00

Type 119:

TcpInit: Yes TcpTerm: Yes

FTPClient: Yes

TcpIpStats: Yes IfStats: Yes PortStats: Yes

Stack: Yes UdpTerm: Yes TN3270Client: Yes

(41)

Verify SMF Recording

FTP Server – start the FTP server with the “TRACE” parameter;

e.g., S FTPD,PARM=TRACE

Look for the write_smf_record messages; e.g.,

250 Transfer completed successfully.

BPXF024I (AESDJC1) Jan 6 02:02:08 ftps 16843115 : RU1463

write_smf_record: entered with type 4

BPXF024I (AESDJC1) Jan 6 02:02:08 ftps 16843115 : RU0754

write_smf_record_119: entered with type 4.

FTP Client – start the FTP client with the “trace” parameter, or issue the

“debug” command from an FTP client session;

e.g.,

ftp 137.72.43.247 (trace

Look for the following messages: CU1963, CU1463, CU2241; e.g.,

250 Transfer completed successfully.

EZA1617I 2320 bytes transferred in 0.160 seconds. Transfer

rate 14.50 Kbytes/sec.

CU1963 write_smf_record: entered with type 16.

CU1463 write_smf_record_119: entered with type 16.

(42)

Obtaining SMF data in real-time

SMF Exits

SMF Exits

IEFU83, IEFU84, IEFU85

IEFU83, IEFU84, IEFU85

MVS Dynamic Exits Facility allows multiple

MVS Dynamic Exits Facility allows multiple

exits to co

exits to co

-

-

exist

exist

z/OS CS Network Management Interface

z/OS CS Network Management Interface

SYSTCPSM interface

SYSTCPSM interface

Type 119 SMF records only

Type 119 SMF records only

Requires

(43)

Sample FTP Session 1

ftp 137.72.43.243

EZA1450I IBM FTP CS V2R8 1999 336 15:35 UTC

EZA1554I Connecting to: 137.72.43.243 port: 21.

220-FTPD1 IBM FTP CS V1R2 at p390.svo.test.com, 15:51:13 on 2002-08-16.

220 Connection will close if idle for more than 5 minutes.

EZA1459I NAME (137.72.43.243:P390):

p390

EZA1701I >>>

USER p390

331 Send password please.

EZA1789I PASSWORD:

EZA1701I >>>

PASS

230 P390 is logged on. Working directory is "AESDJC1.".

EZA1460I Command:

bin

EZA1701I >>>

TYPE I

200 Representation type is Image

EZA1460I Command:

get 'aesdjc1.xmi' 'aesdjc1.xmi' (replace

EZA1701I >>>

PORT 137,72,43,240,6,139

200 Port request OK.

EZA1701I >>>

RETR 'aesdjc1.xmi'

125 Sending data set AESDJC1.XMI FIXrecfm 80

250 Transfer completed successfully.

EZA1617I 166400 bytes transferred in 2.180 seconds. Transfer rate 76.33 Kbytes

/sec.

(44)

Sample FTP Session 1 – logging by

FTP Exits

FTP OPEN CONNECTION,IP=137.72.43.240,PORT= 1674,TIME=14:51:13.67

FTP CMD=

USER

,USER= ,TIME=14:51:16.01,ARG=

p390

FTP CMD=

PASS

,USER=P390 ,TIME=14:51:17.81,ARG=

FTP LOGIN,USER=P390 ,TIME=14:51:17.81

FTP CMD=

TYPE

,USER=P390 ,TIME=14:51:23.03,ARG=

I

FTP CMD=

PORT

,USER=P390 ,TIME=14:51:34.37,ARG=

137,72,43,240,6,139

FTP CMD=

RETR

,USER=P390 ,TIME=14:51:34.40,ARG=

'aesdjc1.xmi'

FTP POST,CMD=RETR,USER=P390

,IP=137.72.43.240,TYPE=MVS/SEQ,RC=250,REASON=0,TIME=14:51:36.93

FTCHKIP

FTCHKCMD

FTPOSTPR

FTCHKPWD

FTCHKCMD

FTCHKCMD

FTCHKCMD

FTCHKCMD

(45)

Sample FTP Session 1

How to interpret the

How to interpret the PORT

command

command

PORT

PORT

137,72,43,240

137,72,43,240

,6,139

,6,139

IP Address of the client:

IP Address of the client:

137.72.43.240

137.72.43.240

Port of the client:

(46)

Sample FTP Session 1: Active FTP

FTP Client

FTP Client

FTP Server

FTP Server

(137.72.43.240)

(137.72.43.240)

(137.72.43.243)

(137.72.43.243)

1674

1674

PORT 1675

PORT 1675

21

21

ACK

ACK

1675

1675

connect

connect

20

20

ACK

ACK

(47)

Sample FTP Session 1 – FTP Server

SMF data

FTPS:RETR,IP=137.72.43.240,PORT=21/1674,

RC=250

,

,

User=P390,

User=P390,

Format=S/S/I

Format=S/S/I

,ABND=

,ABND=

Start=15:51:34,End=15:51:34,Bytes=166400,

,

Elapsed=0.010sec,Throughput=16640.00KB/sec

Elapsed=0.010sec,Throughput=16640.00KB/sec

DSN1=AESDJC1.XMI/,DSN2=/

DSN1=AESDJC1.XMI/,DSN2=/

Format

Format

:

:

Data set type:

Data set type:

P –

P

partitioned, S –

partitioned, S

sequential, H –

sequential, H

HFS

HFS

Mode:

Mode:

S –

S

stream, B

stream, B

block, C –

block, C

compressed

compressed

Data format:

Data format:

A –

A

ASCII, E –

ASCII, E

EBCDIC, I –

EBCDIC, I

image (binary),

image (binary),

D

(48)

Sample FTP Session 2

EZA1460I Command:

EZA1460I Command:

put 'aesdjc1.xmi' 'aesdjc1.small'

put 'aesdjc1.xmi' 'aesdjc1.small'

EZA1701I >>>

EZA1701I >>>

SITE

SITE

FIXrecfm

FIXrecfm

80 LRECL=80 RECFM=FB BLKSIZE=3120

80 LRECL=80 RECFM=FB BLKSIZE=3120

200 SITE command was accepted

200 SITE command was accepted

EZA1701I >>>

EZA1701I >>>

PORT 137,72,43,240,6,142

PORT 137,72,43,240,6,142

200 Port request OK.

200 Port request OK.

EZA1701I >>>

EZA1701I >>>

STOR 'aesdjc1.small'

STOR 'aesdjc1.small'

125 Storing data set AESDJC1.SMALL

125 Storing data set AESDJC1.SMALL

451

451

-

-

System completion code and reason: D37

System completion code and reason: D37

-

-

04

04

451

451

-

-

Data set is out of space.

Data set is out of space.

451 Transfer aborted due to file error.

451 Transfer aborted due to file error.

EZA1460I Command:

EZA1460I Command:

quit

quit

EZA1701I >>>

EZA1701I >>>

QUIT

QUIT

221 Quit command received. Goodbye.

(49)

Sample FTP Session 2 – logging by

FTP Exits

FTP CMD=SITE ,USER=P390 ,TIME=14:53:28.45,ARG=

FTP CMD=SITE ,USER=P390 ,TIME=14:53:28.45,ARG=

FIXrecfm

FIXrecfm

80 LRECL=80

80 LRECL=80

RECFM=FB BLKSIZE=3120

RECFM=FB BLKSIZE=3120

FTP CMD=PORT ,USER=P390 ,TIME=14:53:28.50,ARG=137,72,43,24

FTP CMD=PORT ,USER=P390 ,TIME=14:53:28.50,ARG=137,72,43,24

0,6,142

0,6,142

FTP CMD=STOR ,USER=P390 ,TIME=14:53:28.52,ARG='aesdjc1.sma

FTP CMD=STOR ,USER=P390 ,TIME=14:53:28.52,ARG='aesdjc1.sma

ll'

ll'

FTP POST,CMD=STOR,USER=P390

FTP POST,CMD=STOR,USER=P390

,IP=137.72.43.240,TYPE=MVS/SEQ,RC=451,

,IP=137.72.43.240,TYPE=MVS/SEQ,RC=451,

REASON=4

REASON=4

,TIME=14:53:29.61

,TIME=14:53:29.61

FTP REPLY=Transfer aborted due to file error.

FTP REPLY=Transfer aborted due to file error.

FTP CMD=QUIT ,USER=P390 ,TIME=14:53:31.48,ARG=

(50)

Sample FTP Session 2 – FTP Server

SMF Record

FTPS:STOR,IP=137.72.43.240,PORT=21/1674,

FTPS:STOR,IP=137.72.43.240,PORT=21/1674,

RC=451

RC=451

,

,

User=P390,Format=S/S/I,ABND=

User=P390,Format=S/S/I,ABND=

Start=15:53:28,End=15:53:29,Bytes=166400,

Start=15:53:28,End=15:53:29,Bytes=166400,

Elapsed=0.500sec,Throughput=332.80KB/sec

Elapsed=0.500sec,Throughput=332.80KB/sec

DSN1=AESDJC1.SMALL/,DSN2=/

DSN1=AESDJC1.SMALL/,DSN2=/

Reply Code 451: Requested action aborted. Local

Reply Code 451: Requested action aborted. Local

error in processing.

(51)

Some Unique data in Type 119

Self

Self

-

-

defining sections (triplets)

defining sections (triplets)

Number

Number

of data sections

of data sections

Offset

Offset

to data sections

to data sections

Length

Length

of data sections

of data sections

TCP/IP identification section

TCP/IP identification section

This is the first section in every type 119 record

This is the first section in every type 119 record

System name from SYSNAME in

System name from SYSNAME in IEASYSxx

IEASYSxx

Sysplex

Sysplex

name from SYSPLEX in

name from SYSPLEX in

COUPLExx

COUPLExx

TCP/IP stack name, etc.

(52)

Some Unique data in Type 119

All IP addresses are in 128

All IP addresses are in 128

-

-

bit IPv6 format

bit IPv6 format

IPv4

IPv4

-

-

mapped format:

mapped format:

Bytes 0

Bytes 0

-

-

9:

9:

X

X

00

00

Bytes 10

Bytes 10

-

-

11:

11:

X

X

FF

FF

Bytes 12

Bytes 12

-

-

15:

15:

IPv4 address

IPv4 address

Has Both Control and Data Connection

Has Both Control and Data Connection

Session Info:

Session Info:

Remote IP address and port number

Remote IP address and port number

Local IP address and port number

(53)

Some Unique data in Type 119

Transmission Start/End Date

Transmission Start/End Date

Transmission byte count format:

Transmission byte count format:

64

64

-

-

bit integer

bit integer

z/OS floating point format

z/OS floating point format

FTP Client record has SOCKS section when

FTP Client record has SOCKS section when

data was transferred through a SOCKS

data was transferred through a SOCKS

server

server

IP address and port number of SOCKS

IP address and port number of SOCKS

server for Control Connection

server for Control Connection

SOCKS protocol version (v4 or v5)

(54)

FTP Server Logging

z/OS 1.4 or later release

z/OS 1.4 or later release

FTP Server can log activities to

FTP Server can log activities to

SyslogD

SyslogD

via the

via the

following

following

FTP.DATA

FTP.DATA

options:

options:

FTPLOGGING TRUE

FTPLOGGING TRUE

ANONYMOUSFTPLOGGING TRUE

ANONYMOUSFTPLOGGING TRUE

Nine events are logged:

Nine events are logged:

CONN

CONN

connectivity

connectivity

SECURE

SECURE

security (TLS/SSL, Kerberos)

security (TLS/SSL, Kerberos)

ACCESS

ACCESS

login

login

ALLOC

ALLOC

file and data set allocation

file and data set allocation

DEALL

DEALL

file and data set de

file and data set de

-

-

allocation

allocation

TRANS

TRANS

file transfer

file transfer

SUBMIT

SUBMIT

JES job submission

JES job submission

QUERY

QUERY

SQL query

SQL query

ABEND

(55)

FTP Server Tracing

TRACE run

TRACE run

-

-

time option for FTPD

time option for FTPD

TRACE and DEBUG statements in

TRACE and DEBUG statements in

FTP.D

FTP.D

ATA

ATA

TRACE is equivalent to DEBUG BAS, which includes:

TRACE is equivalent to DEBUG BAS, which includes:

DEBUG CMD

DEBUG CMD

DEBUG INT

DEBUG INT

DEBUG FSC

DEBUG FSC

DEBUG SOC

DEBUG SOC

Use the SITE command to turn on tracing dynamically only for the

Use the SITE command to turn on tracing dynamically only for the

duration

duration

of an FTP session

of an FTP session

Requires: DEBUGONSITE TRUE be specified in FTP.DATA

Requires: DEBUGONSITE TRUE be specified in FTP.DATA

z/OS example : site debug=bas

z/OS example : site debug=bas

MS/DOS example: quote site debug=bas

MS/DOS example: quote site debug=bas

Output in SYSLOG

(56)

CTRACE – Packet Tracing

Set up External Writer Proc

Set up External Writer Proc

E.g., SYS1.PROCLIB(AESWRT):

E.g., SYS1.PROCLIB(AESWRT):

//IEFPROC EXEC PGM=ITTTRCWR,REGION=0K,TIME=1440,DPRTY=15

//IEFPROC EXEC PGM=ITTTRCWR,REGION=0K,TIME=1440,DPRTY=15

//TRCOUT01 DD DISP=SHR,DSN=

//TRCOUT01 DD DISP=SHR,DSN=

trace.dataset

trace.dataset

Set up tracing parameters

Set up tracing parameters

E.g., SYS1.PARMLIB(CTAESPRM):

E.g., SYS1.PARMLIB(CTAESPRM):

TRACEOPTS ON WTR(AESWRT)

(57)

CTRACE – Packet Tracing

To Start Tracing:

To Start Tracing:

TRACE CT,WTRSTART=AESWRT

TRACE CT,WTRSTART=AESWRT

V TCPIP,,PKT,CLEAR

V TCPIP,,PKT,CLEAR

V TCPIP,,PKT,LINKN=ETH1,ON,FULL,PROT=TCP,IP=<

V TCPIP,,PKT,LINKN=ETH1,ON,FULL,PROT=TCP,IP=<

ip

ip

addr

addr

>

>

TRACE CT,ON,COMP=SYSTCPDA,SUB=(TCPIP),PARM=CTAESPRM

TRACE CT,ON,COMP=SYSTCPDA,SUB=(TCPIP),PARM=CTAESPRM

To View Tracing Status:

To View Tracing Status:

D TRACE,WTR=AESWRT

D TRACE,WTR=AESWRT

Verify that the external writer is active

Verify that the external writer is active

D TCPIP,,NETSTAT,DE

D TCPIP,,NETSTAT,DE

Verify that

Verify that

TrRecCnt

TrRecCnt

is non

is non

-

-

zero and incrementing

zero and incrementing

To Stop Tracing:

To Stop Tracing:

V TCPIP,,PKT,OFF

V TCPIP,,PKT,OFF

TRACE CT,OFF,COMP=SYSTCPDA,SUB=(TCPIP)

TRACE CT,OFF,COMP=SYSTCPDA,SUB=(TCPIP)

TRACE CT,WTRSTOP=AESWRT,FLUSH

TRACE CT,WTRSTOP=AESWRT,FLUSH

(58)

CTRACE – Packet Tracing

Analyze one FTP session at a time

Analyze one FTP session at a time

Separate the Control Session from

Separate the Control Session from

the Data Session

the Data Session

Check FTP commands and replies

Check FTP commands and replies

Look for packet retransmissions and

Look for packet retransmissions and

unusual long response times

unusual long response times

TCP window size

TCP window size

(59)

Sample FTP Session 3

FTP Session 3:

FTP Session 3:

ftp to 137.72.43.247

ftp to 137.72.43.247

logon on as p390

logon on as p390

use ASCII transfer mode

use ASCII transfer mode

get

get ‘

‘AESDJC1.MAIN.CNTL(ASM)

AESDJC1.MAIN.CNTL(ASM)’

Quit

Quit

Diagnostic Data Sources:

Diagnostic Data Sources:

FTP Server Exits

FTP Server Exits

FTP SMF Records

FTP SMF Records

FTPLOGGING

FTPLOGGING

Packet tracing

Packet tracing

(60)

Data Source: FTP Server Exits

AES824I FTP OPEN CONNECTION,IP=137.72.43.64,PORT= 3068,TIME=

AES824I FTP OPEN CONNECTION,IP=137.72.43.64,PORT= 3068,TIME=

17:13:11.39

17:13:11.39

AES826I FTP CMD=USER ,USER= ,TIME=

AES826I FTP CMD=USER ,USER= ,TIME=

17:13:42.94

17:13:42.94

,ARG=p390

,ARG=p390

AES826I FTP CMD=PASS ,USER=P390 ,TIME=17:13:45.39,ARG=

AES826I FTP CMD=PASS ,USER=P390 ,TIME=17:13:45.39,ARG=

AES825I FTP LOGIN,USER=P390 ,TIME=17:13:45.39

AES825I FTP LOGIN,USER=P390 ,TIME=17:13:45.39

AES826I FTP CMD=TYPE ,USER=P390 ,TIME=17:13:48.29,ARG=A

AES826I FTP CMD=TYPE ,USER=P390 ,TIME=17:13:48.29,ARG=A

AES826I FTP CMD=PORT ,USER=P390 ,TIME=17:13:56.34,ARG=137

AES826I FTP CMD=PORT ,USER=P390 ,TIME=17:13:56.34,ARG=137

,72,43,64,12,6

,72,43,64,12,6

AES826I FTP CMD=RETR ,USER=P390 ,TIME=17:13:56.35,ARG='ae

AES826I FTP CMD=RETR ,USER=P390 ,TIME=17:13:56.35,ARG='ae

sdjc1.main.cntl(asm)'

sdjc1.main.cntl(asm)'

AES827I FTP POST,CMD=RETR,USER=P390 ,IP=137.72.43.64,TYPE=MV

AES827I FTP POST,CMD=RETR,USER=P390 ,IP=137.72.43.64,TYPE=MV

S/SEQ,

S/SEQ,

RC=250,REASON=0,TIME=17:13:57.10

RC=250,REASON=0,TIME=17:13:57.10

AES829I FTP POST,PORT=3068,DSN=AESDJC1.MAIN.CNTL(ASM),BYTES=0

AES829I FTP POST,PORT=3068,DSN=AESDJC1.MAIN.CNTL(ASM),BYTES=0

gb

gb

+ 2378 bytes

+ 2378 bytes

AES839I FTP POST,SESSIONID=FTPD100005 ,

AES839I FTP POST,SESSIONID=FTPD100005 ,

CPU TIME=0.567 SECONDS,EXCP=209

CPU TIME=0.567 SECONDS,EXCP=209

AES826I FTP CMD=QUIT ,USER=P390 ,TIME=17:13:57.72,ARG=``

(61)

Data Source: FTP SMF Server Record

AES801I FTPS:RETR,IP=137.72.43.64,PORT=21/3068,RC=250,User=P390

AES801I FTPS:RETR,IP=137.72.43.64,PORT=21/3068,RC=250,User=P390

,Format=P/S/A,ABND=

,Format=P/S/A,ABND=

AES802I Start=17:13:56,End=17:13:56,Bytes=2378,Elapsed=0.020sec,

AES802I Start=17:13:56,End=17:13:56,Bytes=2378,Elapsed=0.020sec,

Throughput=118.90KB/sec

Throughput=118.90KB/sec

AES803I DSN1=AESDJC1.MAIN.CNTL /ASM

AES803I DSN1=AESDJC1.MAIN.CNTL /ASM

,DSN2=

,DSN2=

/

(62)

Data Source: FTPLOGGING

17:13:42.18 STC00404 00000090 BPXF024I (FTPD) Jul 20 21:13:42 ftpd 50397342 : EZYFS50I ID=FTPD100005

191 00000090

CONN

starts Client IPaddr=::ffff:137.72.43.64 hostname=UNKNOWN

17:13:45.62 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:45 ftps 50397342 : EZYFS56I ID=FTPD100005

192 00000090

ACCESS

OK USERID=P390

17:13:56.69 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:56 ftps 50397342 : EZYFS60I ID=FTPD100005

193 00000090

ALLOC

OK Use MVS DSN=AESDJC1.MAIN.CNTL(ASM)

17:13:56.73 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:56 ftps 50397342 : EZYFS61I ID=FTPD100005

194 00000090

ALLOC

DDNAME=SYS00004 VOLSER=AES004 DSORG=PO DISP=(SHR,KEEP)

17:13:56.85 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:56 ftps 50397342 : EZYFS70I ID=FTPD100005

195 00000090

DEALL

OK Release MVS DSN=AESDJC1.MAIN.CNTL(ASM)

17:13:56.98 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:56 ftps 50397342 : EZYFS81I ID=FTPD100005

196 00000090

TRANS

MVS DSN=AESDJC1.MAIN.CNTL(ASM)

17:13:57.02 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:57 ftps 50397342 : EZYFS84I ID=FTPD100005

197 00000090

TRANS

Stru=F Mode=S Type=A Output=2378 bytes

17:13:57.06 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:57 ftps 50397342 : EZYFS80I ID=FTPD100005

198 00000090

TRANS

Reply=250 Transfer completed successfully.

17:13:57.75 STC00404 00000090 BPXF024I (P390) Jul 20 21:13:57 ftps 50397342 : EZYFS52I ID=FTPD100005

(63)

Packet Trace Decoding – IPCS JCL

//TSO EXEC PGM=IKJEFT01,DYNAMNBR=60,

//TSO EXEC PGM=IKJEFT01,DYNAMNBR=60,

// PARM='%BLSCDDIR DSNAME(&SYSUID..BATCH.DDIR) VOLUME(AES003)'

// PARM='%BLSCDDIR DSNAME(&SYSUID..BATCH.DDIR) VOLUME(AES003)'

//SYSPROC DD DISP=SHR,DSN=SYS1.SBLSCLI0

//SYSPROC DD DISP=SHR,DSN=SYS1.SBLSCLI0

//TRACE DD DISP=SHR,DSN=

//TRACE DD DISP=SHR,DSN=

trace.dataset

trace.dataset

<=== INPUT

<=== INPUT

//IPCSPRNT DD SYSOUT=*

//IPCSPRNT DD SYSOUT=*

//SYSTSPRT DD SYSOUT=*

//SYSTSPRT DD SYSOUT=*

//SYSTSIN DD *

//SYSTSIN DD *

IPCS NOPARM

IPCS NOPARM

DROPD FILE(TRACE)

DROPD FILE(TRACE)

SETDEF NOCONFIRM PRINT NOTERM

SETDEF NOCONFIRM PRINT NOTERM

CTRACE DDNAME(TRACE) COMP(SYSTCPDA) +

CTRACE DDNAME(TRACE) COMP(SYSTCPDA) +

SUB((TCPIP)) OPTIONS(( FTP(20,21) )) FULL GMT

SUB((TCPIP)) OPTIONS(( FTP(20,21) )) FULL GMT

END /* IPCS */

END /* IPCS */

//

(64)

Packet Trace Decoding – IPCS Output

IPCS PRINT LOG FOR USER AESDJC1

IPCS PRINT LOG FOR USER AESDJC1 1 17:15:42 07/20/041 17:15:42 07/20/04

________________________________________________________________

__________________________________________________________________________________________________________________________________________

COMPONENT TRACE FULL FORMAT

COMPONENT TRACE FULL FORMAT

SYSNAME(P390)

SYSNAME(P390)

COMP(SYSTCPDA)SUBNAME((TCPIP))

COMP(SYSTCPDA)SUBNAME((TCPIP))

z/OS TCP/IP Packet Trace Formatter, (C) IBM 2000

z/OS TCP/IP Packet Trace Formatter, (C) IBM 2000--2004, 2003.293 2004, 2003.293

FILE(TRACE')

FILE(TRACE')

**** 2004/07/20

**** 2004/07/20

RcdNr

RcdNr SysnameSysname Mnemonic Entry Id Time Stamp Description Mnemonic Entry Id Time Stamp Description

--- --- --- --- --- ---

---11 P390 PACKET 00000001 21:13:---11.369759 Packet Trace

11 P390 PACKET 00000001 21:13:11.369759 Packet Trace

From Interface : ETH1 Device: LCS Ethernet F

From Interface : ETH1 Device: LCS Ethernet Full=48 ull=48

Tod

Tod Clock : 2004/07/20 21:13:11.369745 Clock : 2004/07/20 21:13:11.369745

Sequence # : 0 Flags:

Sequence # : 0 Flags: PktPkt Ver2 Ver2

Source Port : 3068

Source Port : 3068 DestDest Port: 21 Port: 21 AsidAsid: 0034 TCB: 00000000 : 0034 TCB: 00000000

IpHeader

IpHeader: Version : 4 Header Length: 20 : Version : 4 Header Length: 20

Tos

Tos : 00 QOS: Routine Normal Service : 00 QOS: Routine Normal Service

Packet Length : 48 ID Number: BEFD

Packet Length : 48 ID Number: BEFD

Fragment :

Fragment : DontFragmentDontFragment Offset: 0 Offset: 0

TTL : 128 Protocol: TCP

TTL : 128 Protocol: TCP CheckSumCheckSum: D202 FFFF : D202 FFFF

Source : 137.72.43.64 Source : 137.72.43.64 Destination : 137.72.43.247 Destination : 137.72.43.247 TCP TCP

Source Port : 3068 () Destination Port: 21 (f

Source Port : 3068 () Destination Port: 21 (ftp) tp)

Sequence Number : 834806980

Sequence Number : 834806980 AckAck Number: 0 Number: 0

Header Length : 28 Flags:

Header Length : 28 Flags: SynSyn

Window Size : 64240

Window Size : 64240 CheckSumCheckSum: BBCF FFFF Urgent Data Pointer: 0000 : BBCF FFFF Urgent Data Pointer: 0000

Option : Max

(65)
(66)
(67)
(68)
(69)
(70)
(71)
(72)
(73)

FTP Tuning

Use the right Data Type (EBCDIC vs. ASCII)

Use the right Data Type (EBCDIC vs. ASCII)

TCP Window Size: the maximum amount of data that

TCP Window Size: the maximum amount of data that

can be in the network at any time for a single connection.

can be in the network at any time for a single connection.

Optimal TCP Window Size =

Optimal TCP Window Size =

Bottleneck Bandwidth * Round

Bottleneck Bandwidth * Round

-

-

trip Time (RTT)

trip Time (RTT)

E.g., the

E.g., the

slowest

slowest

link=45 Mbit

link=45

Mbit/sec, RTT=20ms

/sec, RTT=20ms

45

45

Mbit/sec * 20ms

Mbit

/sec * 20ms

= 45,000,000 bits/sec * .020 sec

= 45,000,000 bits/sec * .020 sec

= 900,000 bits = 109.86

(74)

FTP Tuning

RTT

RTT

Ping with default packet size; e.g., 256

Ping with default packet size; e.g., 256

Ping with

Ping with

average

average

FTP packet size

FTP packet size

SMF 119 TCP Connection Termination

SMF 119 TCP Connection Termination

Record (RTT

Record (RTT at time

at time

of connection close)

of connection close)

Packet trace

Packet trace

Window Size

Window Size

SMF 119 TCP Connection Termination

SMF 119 TCP Connection Termination

Record

Record

Packet trace

Packet trace

(75)

References

Related documents