{"id":3422,"date":"2014-10-25T00:35:56","date_gmt":"2014-10-25T00:35:56","guid":{"rendered":"http:\/\/www.fingerpost.co.uk\/wp\/programme-documentation\/sffport\/"},"modified":"2014-10-25T00:35:56","modified_gmt":"2014-10-25T00:35:56","slug":"sffport","status":"publish","type":"page","link":"https:\/\/www.fingerpost.co.uk\/wp\/programme-documentation\/sffport\/","title":{"rendered":"sffport  (Sat Oct 25 2014 01:31:01)"},"content":{"rendered":"<pre>\nsffport\n\nThis program sends files to a networked TCP\/IP port.\n\n\tsffport -s server3 -p 1972 filename\n\tcat filo | sffport -s localhost -p 3333\n\nExample with an endstring (-B), a long wait (-e 50) and a display of return\n(-d)\n\tsffport -s 196.162.161.122 -p 40004 -d -B \/Nserver -e 50\nsamples\/getSupportedEncodings_Command.xml | cat -vet\n\nExample for testing Multicast with a 10 sec gap between packets of 500 bytes\neach, display a dot for each pkt !\n\tsffport -s 233.115.135.18 -p 6000 -m -d -Y -b 500 -w 10000 tester.180.fip\n\n\nAny data is passed through without modification unless the the -X flag is set\nto add a NUL between CR and NL as telnet zap these.\n\nNote there is an extra FipSeq, %c for the complete size of file (including\nFiphdr).\n\nInput Parameters are :\nMandatory:\n\t-s : spider or tty output device\t\tdefault: none\n\t\tunless 'network' or script' parameters are stated.\n\t-p : spider port number\t\t\t\tdefault: none\n\t\tfor terminal servers only\nOptional\n\t-h : strip the FipHdr\t\t\t\tdefault: no\n\t-d : display any text from the server\t\tdefault: no\n\t\tNote that if you are looking at this on an\n\t\tordinary window or terminal and control chrs\n\t\tare being received, you could screw up your screen.\n\t\tPipe via cat -ve to strip nasties.\n\t\tcat file_to_send | sffport -s serv1 -p 1818 -d | cat -ve\n\t-y : display data as sent\t\t\tdefault: no\n\t-Y : display a dot for each packet as sent\tdefault: no\n\t-X : add a NUL betweeen CR NL ..\t\tdefault: no\n\t\tso non-transparent telnet does not zap the NL\n\t-e : At the end, wait for data from the \tdefault: 5\n\t\tserver. Stop after X secs of no traffic.\n\t-E : At the end, wait for some data THEN\tdefault: no\n\t\twait '-e' seconds before finishing.\n\t-T : force the wait at end to be exactly the -e\tdefault: no\n\t\tie -T -e 300 will wait for 300 seconds only\n\t-B : At the end, wait for this string and then\tdefault: no\n\t\tstop.\n\t-b : block size\t\t\t\t\tdefault: 1024\n\t\tUse this to test programs which do not handle\n\t\tsmall TCP packet sizes well.\n\t\tIf you specify more than about 1450, TCP will fragment\n\t\tthem automatically. The Minimum is 10 bytes.\n\t-c : Timeout for the connection\t\t\tdefault: 60 secs\n\t\tfor ordinary TCP connections (not multicast or UDP)\n\t-o : name of an output file for any text from\tdefault: no\n\t\tNormally any text is ignored (or displayed with -d)\n\t-O : also add any data sent to the output file\tdefault: no\n\t\t(requires -o (filename) too of course)\n\t-F : FipAgent for use with ipsvrd\t\tdefault: no\n\t-z : Parameter file\t\t\t\tdefault: none\n\t-S : alternate terminal server if first refuses\tdefault: no\n\t-P : alternate termsvr port if first refuses\tdefault: no\n\t-R : range of port numbers to use. see below\tdefault: just the one\n\t-l : log\t\t\t\t\tdefault: no\n\t-L : use SSL layer\t\t\t\tdefault: no\n\t-I : run Interactively ie run from a shell\tdefault send file\n\t-A : send the user name on connect to the remote\tdefault: do not\n\t-u : use UDP as the protocol\t\t\tdefault: tcp\n\t-m : port is multicast\t\t\t\tdefault: tcp\n\t-M : mTTL \t\t\t\t\tdefault: 2\n\t-H : local IP address for 2nd card for mbone\tdefault: no\n\t-f : extra FipHdr info for filing in the standing files (-g\/-G\/-k\/-K)\tdefault:\nnone\n\t-g : FipSeq string to send BEFORE the data\tdefault: none\n\t-G : FipSeq string to send AFTER the data\tdefault: none\n\t-k : filename of any standing file of FipSeq\tdefault: none\n\t\tto send BEFORE the data (and after any -g BEFORE)\n\t-K : filename of any standing file of FipSeq\tdefault: none\n\t\tto send AFTER the data ( and before any -G AFTER)\n\t-n : once - nstein, twice - squawk box\t\tdefault: none\n\t-w : wait in millisecs between sent packets\tdefault: 0\n\t\tuse this to pace a link\n\t-W : interval in secs between error messages\tdefault: every second\n\t-x : split string in FipSeq\t\t\tdefault: do not split\n\t\tthe data will be sent in discrete packets starting with this string\n\t-D : FipSeq to send BEFORE each pkt\t\tdefault: none\n\t-v : print version no and exit\n\nFor those switches with parameters, the parameter MUST be separated by a space.\n\n-R allows a range of numbers to use. So if we had\n\tsffport -s humdrum -p 9090 -R 10\nthen the program will look to the first free port from 9090 to 9099\n\n-- Imitating an HTTPS link - use -L (in this example we also use -I for\ninteractive)\n\tsffportssl -s www.zinglezongle.com -p 443 -L -I\n\tThen type\n\t\tGET \/ HTTP\/1.0\n\t\tHost: www.zinglezongle.com\n\t\t(2 end of lines)\n\t... wait for the reply...\n\nOther env varis can be used to define where the system is :\n\tSFF_HOME\twhere the home or top queue is.\t\tdefault: \/fip\n\t\t\teg\tsetenv\tSFF_HOME\t\/ripexpress\/underware\n\tSFF_LOG\t\twhere the log files queue is\t\tdefault: (SFF_HOME)\/log\n\tSFF_SPOOL\twhere the data queues are\t\tdefault: (SFF_HOME)\/spool\n\tSFF_TMP\t\twhere the tmp data queues is\t\tdefault: (SFF_HOME)\/x\n\t\t\tTHIS MUST BE ON THE SAME UNIX VOLUME as SFF_SPOOL queues.\n\t\t\tie if spools are on \/data99 which is hard disk \/dev\/sd0, you MUST also\n\t\t\thave the TMP queue on the same disk\/partition\n\nNOTE that for all BUT SFF_HOME, if the parameter starts with a '\/' then it is a\nhard, absolute path; if not then the spool area is under SFF_HOME.\n\teg\tsetenv\tSFF_SPOOL\t\/data7\t\twill look under \/data7 for queues\n\twhile\tsetenv\tSFF_SPOOL\tdata7\t\twill look under \/fip\/data7\n\nThe Parameter file is use only for FipAgent traffic and is found in\n\/fip\/tables\/svrd (not sfftables) :\n\t; comment line\n\twrapper: xml wrapper string\n\t\teg : wrapper:DEVICE_MESSAGE\n\t\tdefault is FIPAGENT\n\tdata-length: tag containing the length of data following the wrapper\n\t\tdefault is DATALENGTH\n\taction: Action of the message\n\t\tdefault is REPLY\n\tmessage: FipAgent Error Message\n\t\tdefault is MSG\n\tresult:\tFipAgent result code\n\t\tdefault is RESULT\n\tdevice-result: result code from the host process\n\t\tdefault is DEVICE-RESULT\nor for SSL stuff\n\tssl-method: (1,2,3,23,999)\n\t\tVersion number to use for TLS\/SSL\t\tdefault: 999 for current default (2 or 3)\n\tssl-password: (password)\n\tssl-passwd: (password)\t\t\t\t  default: none\n\t\tOptional password if the handshake requires a shared secret\n\tssl-cert: (name of a PEM certificate file)\t\tdefault: none\n\tssl-root-cert: (name of a root PEM certificate file)\tdefaunt: none\n\t\tOptional certificates - held in tables\/ssl\n\nVersion Control\n;004v7\t05feb02 added mbone\n\t;a-c 27jan03 added -I for Interactive stuff\n\t;d-g 13feb03 added -A\n\t;h 22sep03 added -T\n\t;i 05mar04 fipagent restricted to 64k - not now\n\t;j 05aug04 added mboneLocalAddress -H\n\t;k 05feb05 added WINNT drive letter support for input data file\n\t;m 15feb05 added -k\/-K for included files\n\t;n-p 26mar05 added %c total filesize including fipHdr\n\t;q 30jun05 added -f for extra FipHdr\n\t;r-s 25nov05 ssl as -L\n\t;t-v7 14sep07 added -l, -g\/-G (and -n) plus -B endstring is now\ncase_insensitive\n\t\t;2 ssl modette ;3 added -x splitter ;4 added -D before-pkt ;5 ssl rework ;6\n-O added\n\t\t;7 5sep14 reworked progression thru stages (whicho)\n\n(copyright) 2014 and previous years FingerPost Ltd.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>sffport This program sends files to a networked TCP\/IP port. sffport -s server3 -p 1972 filename cat filo | sffport -s localhost -p 3333 Example with an endstring (-B), a long wait (-e 50) and a display of return (-d) sffport -s 196.162.161.122 -p 40004 -d -B \/Nserver -e 50 samples\/getSupportedEncodings_Command.xml | cat -vet Example [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":495,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"page-templates\/full-width.php","meta":[],"_links":{"self":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/3422"}],"collection":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/comments?post=3422"}],"version-history":[{"count":0,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/3422\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/495"}],"wp:attachment":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/media?parent=3422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}