tcp
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 680
TCPDB 3.8
TCPDB is a Web application to keep track of your TCP/IP addresses and hosts. more>>
TCPDB is a Web application to keep track of your TCP/IP addresses and hosts. TCPDB is suited for both small and large networks with many locations and subnets. Are supported up to one A Class or 16777216 addresses.
Logon as root.
Unpack the software into web directory.
Create the mysql database.
mysqladmin create tcpdb
mysql tcpdb < tcpdb.sql
Logon.
Goto your http://yourdomain.com/tcpdb
Username: admin
Password: admin
<<lessLogon as root.
Unpack the software into web directory.
Create the mysql database.
mysqladmin create tcpdb
mysql tcpdb < tcpdb.sql
Logon.
Goto your http://yourdomain.com/tcpdb
Username: admin
Password: admin
Download (0.18MB)
Added: 2006-06-28 License: GPL (GNU General Public License) Price:
1264 downloads
TcpCat 0.1
TcpCat is a very lightweight tcp util. more>>
TcpCat is a cat like command but for tcp service.
TcpCat is a very lightweight tcp util. It take an IP address and a TCP port as argument, connect to it and give the result back to stdout.
It was written as a lightweight version of netcat. As such it work as the unix cat command but instead of displaying a file it display the result from a tcp service.
<<lessTcpCat is a very lightweight tcp util. It take an IP address and a TCP port as argument, connect to it and give the result back to stdout.
It was written as a lightweight version of netcat. As such it work as the unix cat command but instead of displaying a file it display the result from a tcp service.
Download (0.010MB)
Added: 2005-09-26 License: GPL (GNU General Public License) Price:
1489 downloads
TCPWatch 1.3
TCPWatch is a utility written in Python that lets you monitor forwarded TCP connections or HTTP proxy connections. more>>
TCPWatch is a utility written in Python that lets you monitor forwarded TCP connections or HTTP proxy connections.
It displays the sessions in a window with a history of past connections. It is useful for developing and debugging protocol implementations and web services.
Enhancements:
- Made compatible with versions of tcl that have threads enabled.
- Log file numbers are now sequential.
- "user@host" is now accepted as a destination hostname (the user name is ignored).
<<lessIt displays the sessions in a window with a history of past connections. It is useful for developing and debugging protocol implementations and web services.
Enhancements:
- Made compatible with versions of tcl that have threads enabled.
- Log file numbers are now sequential.
- "user@host" is now accepted as a destination hostname (the user name is ignored).
Download (0.013MB)
Added: 2005-10-15 License: GPL (GNU General Public License) Price:
1476 downloads
tcptunnel 1.0
tcptunnel is a simple TCP tunnel written in Perl. more>>
tcptunnel is a simple TCP tunnel written in Perl.
Also is a versatile tcp tunnel. The tcptunnel uses:
- tunnelling through a firewall or proxy
- redirecting tcp connections to other ports or machines
- debugging tcp connections in-place
- packet sniffing
The tcptunnel listens on local port < port > and when a connection is made it connects the other end of the tunnel as follows:
a) With no proxy specified, it connects the other end
to < srvport > on < srv >.
b) With a proxy, it connects to < srvport > on < proxy >.
It then directs the proxy to telnet to < srv >, and then it connects the ends of the tunnel.
<<lessAlso is a versatile tcp tunnel. The tcptunnel uses:
- tunnelling through a firewall or proxy
- redirecting tcp connections to other ports or machines
- debugging tcp connections in-place
- packet sniffing
The tcptunnel listens on local port < port > and when a connection is made it connects the other end of the tunnel as follows:
a) With no proxy specified, it connects the other end
to < srvport > on < srv >.
b) With a proxy, it connects to < srvport > on < proxy >.
It then directs the proxy to telnet to < srv >, and then it connects the ends of the tunnel.
Download (0.005MB)
Added: 2006-07-01 License: GPL (GNU General Public License) Price:
1213 downloads
TCPreen 1.4.2
TCP Re-engineering Tool monitors and analyzes data transmitted between a client and a server via a TCP connection. more>>
TCPreen is a simple tool to monitor and analyze data transmitted between clients and servers through connection-oriented streams data such as a TCP sessions; it supports TCP over either IPv4 or IPv6. This tool focuses on the data stream (software/socket layer), not on the lower level transmission protocol as packet sniffers do.
TCPreen listens on a TCP port and wait for incoming connections to come in. Then, it forwards data sent by the connecting client to another server port (possibly on another computer) and forwards server responses back to the client.
TCPreen can display data on your console in real-time and/or save it to log files for later reference. Various display formats are available.
While it was originally meant to help developers reverse-engineer TCP-based protocols, it can also be very useful to debug network server or client software or for a system administrator to monitor a TCP service.
<<lessTCPreen listens on a TCP port and wait for incoming connections to come in. Then, it forwards data sent by the connecting client to another server port (possibly on another computer) and forwards server responses back to the client.
TCPreen can display data on your console in real-time and/or save it to log files for later reference. Various display formats are available.
While it was originally meant to help developers reverse-engineer TCP-based protocols, it can also be very useful to debug network server or client software or for a system administrator to monitor a TCP service.
Download (0.040MB)
Added: 2005-04-11 License: GPL (GNU General Public License) Price:
1660 downloads
tcp wrappers 7.6
The tcp_wrappers package allows you to monitor and filter incoming tcp requests. more>>
The tcp_wrappers package allows you to monitor and filter incoming requests for the SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, EXEC, TFTP, TALK, and other network services. It provides tiny daemon wrapper programs that can be installed without any changes to existing software or to existing configuration files. The wrappers report the name of the client host and of the requested service. The wrappers do not exchange information with the client or server applications, so it does not impose no overhead on the actual conversation between the client and server applications.
It supports both 4.3BSD-style sockets and System V.4-style TLI. Praise yourself lucky if you dont know what that means.
The package provides tiny daemon wrapper programs that can be installed without any changes to existing software or to existing configuration files. The wrappers report the name of the client host and of the requested service; the wrappers do not exchange information with the client or server applications, and impose no overhead on the actual
conversation between the client and server applications.
Optional features are: access control to restrict what systems can connect to what network daemons; client user name lookups with the RFC 931 etc. protocol; additional protection against hosts that pretend to have someone elses host name; additional protection against hosts that pretend to have someone elses host address.
The programs are very portable. Build procedures are provided for many common (and not so common) environments, and guidelines are provided in case your environment is not among them.
Requirements are that network daemons are spawned by a super server such as the inetd; a 4.3BSD-style socket programming interface and/or System V.4-style TLI programming interface; and the availability of a syslog(3) library and of a syslogd(8) daemon. The wrappers should run without modification on any system that satisfies these requirements. Workarounds have been implemented for several common bugs in systems software.
What to do if this is your first encounter with the wrapper programs: 1) read the tutorial sections for an introduction to the relevant concepts and terminology; 2) glance over the security feature sections in this document; 3) follow the installation instructions (easy or
advanced). I recommend that you first use the default security feature settings. Run the wrappers for a few days to become familiar with their logs, before doing anything drastic such as cutting off access or installing booby traps.
Enhancements:
- Improved the anti source-routing protection. The code in version 7.5 was not as strong as it could be, because I tried to be compatible with Linux. That was a mistake. Sorry for the inconvenience.
-
- The program no longer terminates case of a source-routed connection, making the IP-spoofing code more usable for long-running daemons.
-
- When syslogging DNS hostname problems, always stop after a limited number of characters.
<<lessIt supports both 4.3BSD-style sockets and System V.4-style TLI. Praise yourself lucky if you dont know what that means.
The package provides tiny daemon wrapper programs that can be installed without any changes to existing software or to existing configuration files. The wrappers report the name of the client host and of the requested service; the wrappers do not exchange information with the client or server applications, and impose no overhead on the actual
conversation between the client and server applications.
Optional features are: access control to restrict what systems can connect to what network daemons; client user name lookups with the RFC 931 etc. protocol; additional protection against hosts that pretend to have someone elses host name; additional protection against hosts that pretend to have someone elses host address.
The programs are very portable. Build procedures are provided for many common (and not so common) environments, and guidelines are provided in case your environment is not among them.
Requirements are that network daemons are spawned by a super server such as the inetd; a 4.3BSD-style socket programming interface and/or System V.4-style TLI programming interface; and the availability of a syslog(3) library and of a syslogd(8) daemon. The wrappers should run without modification on any system that satisfies these requirements. Workarounds have been implemented for several common bugs in systems software.
What to do if this is your first encounter with the wrapper programs: 1) read the tutorial sections for an introduction to the relevant concepts and terminology; 2) glance over the security feature sections in this document; 3) follow the installation instructions (easy or
advanced). I recommend that you first use the default security feature settings. Run the wrappers for a few days to become familiar with their logs, before doing anything drastic such as cutting off access or installing booby traps.
Enhancements:
- Improved the anti source-routing protection. The code in version 7.5 was not as strong as it could be, because I tried to be compatible with Linux. That was a mistake. Sorry for the inconvenience.
-
- The program no longer terminates case of a source-routed connection, making the IP-spoofing code more usable for long-running daemons.
-
- When syslogging DNS hostname problems, always stop after a limited number of characters.
Download (0.097MB)
Added: 2006-06-29 License: GPL (GNU General Public License) Price:
704 downloads
TCP Knocking 0.1
TCP Knocking provides a port knocking implementation. more>>
TCP Knocking provides a port knocking implementation.
Often a secure system needs a port open so that only authorized persons can access a particular service and also the service should not exposed to attackers and worms that may use vulnerabilities that exist in the listening server. Port knocking is designed to be used as a complementary service to the existing authentication mechanism. But one of the biggest problems with port knocking is manipulating the firewall with timeouts.
When the correct knock sequence is sent, the firewall is modified for couple of seconds. Having the firewall open automatically for a time period will make any system administrator uncomfortable. TCP knocking attempts to solve the problem by incorporating the knock into the TCP handshake. Tcp knocking is similar to port knocking, but instead sending UDP packets with secret ports, the TCP handshake packets must include secrete codes. It is at least as secure as port knocking and it can be made secure with more hardening.
Modified TCP handshake:
In normal TCP handshake, the client sends the syn packet and chooses a random initial sequence number. The server responds with a packet that has both syn and ack flags set, choosing a random
The modified TCP handshake uses the empty fields in the header. The server does not respond to connection requests without a special code generated along with the syn packet. The server also encrypts the ISN in the ack packet (2) and the final packet of the three-way handshake must have the correct acknowledgment for the servers ISN. The system is further protected from brute-force attacks by closing the connection if the first attempt for the third packet does not have the expected acknowledgment sequence.
Also, rather than use conventional encryption techniques like HMAC for verification, this system uses a file with random numbers as the key. This is because of the limited unused space available in the TCP/IP header which makes HMAC very weak. By using a shared file, the length of the key can be much greater than traditional systems and even though some parts of the key can be revealed by attacks, the server can protect itself from replay attacks.
The handshake:
1) Syn
The syn packet does not use the 32 bit acknowledgment field in the TCP header as it the the first packet to initiate the connection. Further the 16 bit IPID can be used to transmit information. In the current implementation only the 32 bit acknowledgment field is used. Currently the 32 bit ack is derived from a 64 KB file which contains random numbers. The ISN and the source IP address along with the random numbers are used to generate this value.
2) Syn/Ack
The ISN is encrypted using the random numbers from the 64 KB file using the destination IP address as well as a 16 bit random number used as IPID. I do not have code for this part yet.
3) Ack
The client decrypts the syn number from the encrypted syn, the key file, the 16 bit IPID and its own IP address and sends the ack packet. The server closes all connections from the client for couple of minutes if it sends a wrong ack value. Part of the security relies on the fact that the ISN generated by Linux 2.6 is fairly random.
Implementation:
I have implemented only the first part, which is the server expecting secret code along with the first syn packet from the client. Hence it is very possible to brute-force the server. Also the system is designed with the second phase in mind, which is the encrypted Initial Sequence Number in the ack packet and closing the connection if the correct ack is not sent on the first try. I do not have an implementation for that yet. The security will be increased greatly when the second phase is incorporated. Also the ability to detect brute-force attacks can be added to this system.
But the current system can be used for protecting the server from worms and random scanning. The use-case is similar to port knocking but it does not use the ugly system of opening the firewall for a couple of seconds. Vanilla port knocking is susceptible to brute-force attacks as well. Besides, inserting a kernel module to just ssh into your server will increase your mad sysadmin points.
Enhancements:
- TCP knocking with Phase 1 of the protocol was implemented.
<<lessOften a secure system needs a port open so that only authorized persons can access a particular service and also the service should not exposed to attackers and worms that may use vulnerabilities that exist in the listening server. Port knocking is designed to be used as a complementary service to the existing authentication mechanism. But one of the biggest problems with port knocking is manipulating the firewall with timeouts.
When the correct knock sequence is sent, the firewall is modified for couple of seconds. Having the firewall open automatically for a time period will make any system administrator uncomfortable. TCP knocking attempts to solve the problem by incorporating the knock into the TCP handshake. Tcp knocking is similar to port knocking, but instead sending UDP packets with secret ports, the TCP handshake packets must include secrete codes. It is at least as secure as port knocking and it can be made secure with more hardening.
Modified TCP handshake:
In normal TCP handshake, the client sends the syn packet and chooses a random initial sequence number. The server responds with a packet that has both syn and ack flags set, choosing a random
The modified TCP handshake uses the empty fields in the header. The server does not respond to connection requests without a special code generated along with the syn packet. The server also encrypts the ISN in the ack packet (2) and the final packet of the three-way handshake must have the correct acknowledgment for the servers ISN. The system is further protected from brute-force attacks by closing the connection if the first attempt for the third packet does not have the expected acknowledgment sequence.
Also, rather than use conventional encryption techniques like HMAC for verification, this system uses a file with random numbers as the key. This is because of the limited unused space available in the TCP/IP header which makes HMAC very weak. By using a shared file, the length of the key can be much greater than traditional systems and even though some parts of the key can be revealed by attacks, the server can protect itself from replay attacks.
The handshake:
1) Syn
The syn packet does not use the 32 bit acknowledgment field in the TCP header as it the the first packet to initiate the connection. Further the 16 bit IPID can be used to transmit information. In the current implementation only the 32 bit acknowledgment field is used. Currently the 32 bit ack is derived from a 64 KB file which contains random numbers. The ISN and the source IP address along with the random numbers are used to generate this value.
2) Syn/Ack
The ISN is encrypted using the random numbers from the 64 KB file using the destination IP address as well as a 16 bit random number used as IPID. I do not have code for this part yet.
3) Ack
The client decrypts the syn number from the encrypted syn, the key file, the 16 bit IPID and its own IP address and sends the ack packet. The server closes all connections from the client for couple of minutes if it sends a wrong ack value. Part of the security relies on the fact that the ISN generated by Linux 2.6 is fairly random.
Implementation:
I have implemented only the first part, which is the server expecting secret code along with the first syn packet from the client. Hence it is very possible to brute-force the server. Also the system is designed with the second phase in mind, which is the encrypted Initial Sequence Number in the ack packet and closing the connection if the correct ack is not sent on the first try. I do not have an implementation for that yet. The security will be increased greatly when the second phase is incorporated. Also the ability to detect brute-force attacks can be added to this system.
But the current system can be used for protecting the server from worms and random scanning. The use-case is similar to port knocking but it does not use the ugly system of opening the firewall for a couple of seconds. Vanilla port knocking is susceptible to brute-force attacks as well. Besides, inserting a kernel module to just ssh into your server will increase your mad sysadmin points.
Enhancements:
- TCP knocking with Phase 1 of the protocol was implemented.
Download (0.005MB)
Added: 2006-12-06 License: GPL (GNU General Public License) Price:
1054 downloads
tcptrack 1.2.0
tcptrack provides a packet sniffer that displays TCP connections similarly to top. more>>
tcptrack provides a packet sniffer that displays TCP connections similarly to top.
tcptrack is a packet sniffer, which passively watches for connections on a specified network interface, tracks their states, and lists them in a manner similar to the Unix top command.
It displays source and destination addresses and ports, connection state, idle time, and bandwidth usage.
<<lesstcptrack is a packet sniffer, which passively watches for connections on a specified network interface, tracks their states, and lists them in a manner similar to the Unix top command.
It displays source and destination addresses and ports, connection state, idle time, and bandwidth usage.
Download (0.11MB)
Added: 2007-02-21 License: GPL (GNU General Public License) Price:
584 downloads
libtcp++ 0.1.2
libtcp++ is a C++ class library to facilitate the creation of TCP/IP clients and servers. more>>
libtcp++ is a C++ class library to facilitate the creation of TCP/IP clients and servers. libtcp++ has three classes, TcpClient, TcpServer and TcpIpRuleSet.
TcpServer has build it logging capability peer detection method, and IP-based access control in addition to regular server functionality.
TcpClient supports a user specified timeout on connect(), nice for port/host scanning, and other situations when you may be connecting to a dead host or a firewalled port.
<<lessTcpServer has build it logging capability peer detection method, and IP-based access control in addition to regular server functionality.
TcpClient supports a user specified timeout on connect(), nice for port/host scanning, and other situations when you may be connecting to a dead host or a firewalled port.
Download (0.068MB)
Added: 2006-05-24 License: Freeware Price:
1251 downloads
shd-tcp-tools 0.04
shd-tcp-tools project consists of TCP port forwarding, load balancing, rate control, and proxy tools. more>>
shd-tcp-tools project consists of TCP port forwarding, load balancing, rate control, and proxy tools.
shd-tcp-tools is a set of TCP network tools that supports port forwarding, network load balancing, rate limiting, and running servers behind firewalls. tcp-pf, listentwo, and connecttwo are port forwarding tools.
tcppipe is a one-directional TCP pipe that can be used as a substitute for one-directional netcat transfers, but with load balancing and rate control support.
tcp-pf can be used to forward a port from one host to another with load balancing and rate control support.
network load balancing scheme means using an interface or destination host based on past transfer history.
The listentwo and connecttwo tools can be used to run servers inside firewalled networks through third party TCP proxies.
Enhancements:
- Implemented tcppipe tool which replaces netcat when used as one-way tcp pipe.
- tcppipe supports load balancing and bandwidth rate control.
- tcppipe-least tool can be used to manipulate and show host files safely (it uses locking).
<<lessshd-tcp-tools is a set of TCP network tools that supports port forwarding, network load balancing, rate limiting, and running servers behind firewalls. tcp-pf, listentwo, and connecttwo are port forwarding tools.
tcppipe is a one-directional TCP pipe that can be used as a substitute for one-directional netcat transfers, but with load balancing and rate control support.
tcp-pf can be used to forward a port from one host to another with load balancing and rate control support.
network load balancing scheme means using an interface or destination host based on past transfer history.
The listentwo and connecttwo tools can be used to run servers inside firewalled networks through third party TCP proxies.
Enhancements:
- Implemented tcppipe tool which replaces netcat when used as one-way tcp pipe.
- tcppipe supports load balancing and bandwidth rate control.
- tcppipe-least tool can be used to manipulate and show host files safely (it uses locking).
Download (0.019MB)
Added: 2007-03-13 License: MIT/X Consortium License Price:
957 downloads
NetPacket::TCP 0.04
NetPacket::TCP is a Perl module to assemble and disassemble TCP (Transmission Control Protocol) packets. more>>
NetPacket::TCP is a Perl module to assemble and disassemble TCP (Transmission Control Protocol) packets.
SYNOPSIS
use NetPacket::TCP;
$tcp_obj = NetPacket::TCP->decode($raw_pkt);
$tcp_pkt = NetPacket::TCP->encode($ip_pkt);
$tcp_data = NetPacket::TCP::strip($raw_pkt);
NetPacket::TCP provides a set of routines for assembling and disassembling packets using TCP (Transmission Control Protocol).
Methods
NetPacket::TCP->decode([RAW PACKET])
Decode the raw packet data given and return an object containing instance data. This method will quite happily decode garbage input. It is the responsibility of the programmer to ensure valid packet data is passed to this method.
NetPacket::TCP->encode($ip_obj)
Return a TCP packet encoded with the instance data specified. Needs parts of the ip header contained in $ip_obj in order to calculate the TCP checksum.
Functions
NetPacket::TCP::strip([RAW PACKET])
Return the encapsulated data (or payload) contained in the TCP packet. This data is suitable to be used as input for other NetPacket::* modules.
This function is equivalent to creating an object using the decode() constructor and returning the data field of that object.
Instance data
The instance data for the NetPacket::TCP object consists of the following fields.
src_port
The source TCP port for the packet.
dest_port
The destination TCP port for the packet.
seqnum
The TCP sequence number for this packet.
acknum
The TCP acknowledgement number for this packet.
hlen
The header length for this packet.
reserved
The 6-bit "reserved" space in the TCP header.
flags
Contains the urg, ack, psh, rst, syn, fin, ece and cwr flags for this packet.
winsize
The TCP window size for this packet.
cksum
The TCP checksum.
urg
The TCP urgent pointer.
options
Any TCP options for this packet in binary form.
data
The encapsulated data (payload) for this packet.
<<lessSYNOPSIS
use NetPacket::TCP;
$tcp_obj = NetPacket::TCP->decode($raw_pkt);
$tcp_pkt = NetPacket::TCP->encode($ip_pkt);
$tcp_data = NetPacket::TCP::strip($raw_pkt);
NetPacket::TCP provides a set of routines for assembling and disassembling packets using TCP (Transmission Control Protocol).
Methods
NetPacket::TCP->decode([RAW PACKET])
Decode the raw packet data given and return an object containing instance data. This method will quite happily decode garbage input. It is the responsibility of the programmer to ensure valid packet data is passed to this method.
NetPacket::TCP->encode($ip_obj)
Return a TCP packet encoded with the instance data specified. Needs parts of the ip header contained in $ip_obj in order to calculate the TCP checksum.
Functions
NetPacket::TCP::strip([RAW PACKET])
Return the encapsulated data (or payload) contained in the TCP packet. This data is suitable to be used as input for other NetPacket::* modules.
This function is equivalent to creating an object using the decode() constructor and returning the data field of that object.
Instance data
The instance data for the NetPacket::TCP object consists of the following fields.
src_port
The source TCP port for the packet.
dest_port
The destination TCP port for the packet.
seqnum
The TCP sequence number for this packet.
acknum
The TCP acknowledgement number for this packet.
hlen
The header length for this packet.
reserved
The 6-bit "reserved" space in the TCP header.
flags
Contains the urg, ack, psh, rst, syn, fin, ece and cwr flags for this packet.
winsize
The TCP window size for this packet.
cksum
The TCP checksum.
urg
The TCP urgent pointer.
options
Any TCP options for this packet in binary form.
data
The encapsulated data (payload) for this packet.
Download (0.011MB)
Added: 2007-02-28 License: Perl Artistic License Price:
971 downloads
Net::TCP::PtyServer 1
Net::TCP::PtyServer is a Perl module that serves pseudo-terminals. more>>
Net::TCP::PtyServer is a Perl module that serves pseudo-terminals.
Opens a listening connection on a port, waits for network connections on that port, and serves each one in a seperate PTY.
Coping with terminal size changes
To set the size of a terminal, you need to call ioctl(), and pass the pseudo-TTY handle, the constant TIOCSWINSZ (defined in termio.h or termios.h - or on my system, defined in the asm includes and imported by one of them), and a winsize{} C-structure.
The TIOCGWINSZ (G instead of S) can also be used to get the size of a terminal. This is used to generate the structure passed to ioctl in the case of the pseudo-TTY running on a real terminal; see this code from IOS::TTY (referenced by IOS::PTY):
sub clone_winsize_from {
my ($self, $fh) = @_;
my $winsize = "";
croak "Given filehandle is not a tty in clone_winsize_from, called"
if not POSIX::isatty($fh);
return 1 if not POSIX::isatty($self); # ignored for master ptys
ioctl($fh, &IO::Tty::Constant::TIOCGWINSZ, $winsize)
and ioctl($self, &IO::Tty::Constant::TIOCSWINSZ, $winsize)
and return 1;
warn "clone_winsize_from: error: $!" if $^W;
return undef;
}
The structrure of winsize is defined in termios.h as follows:
struct winsize {
unsigned short ws_row;
unsigned short ws_col;
unsigned short ws_xpixel;
unsigned short ws_ypixel;
};
And the Internet tells me that ws_row is the number of rows, ws_col the number of columns, ws_xpixel the number of horizontal pixels across the terminal, and ws_ypixel the number of vertical pixels across the terminal.
After a little experiementing, this seems to work to create the struct, although it should be noted that this assumes that the struct has the same memory alignment as an array of unsigned shorts:
my $winsize = pack("S*",$ws_row,$ws_col,$ws_xpixel,$ws_ypixel);
So thats what Im trying to use (thus saving an XS C function)
<<lessOpens a listening connection on a port, waits for network connections on that port, and serves each one in a seperate PTY.
Coping with terminal size changes
To set the size of a terminal, you need to call ioctl(), and pass the pseudo-TTY handle, the constant TIOCSWINSZ (defined in termio.h or termios.h - or on my system, defined in the asm includes and imported by one of them), and a winsize{} C-structure.
The TIOCGWINSZ (G instead of S) can also be used to get the size of a terminal. This is used to generate the structure passed to ioctl in the case of the pseudo-TTY running on a real terminal; see this code from IOS::TTY (referenced by IOS::PTY):
sub clone_winsize_from {
my ($self, $fh) = @_;
my $winsize = "";
croak "Given filehandle is not a tty in clone_winsize_from, called"
if not POSIX::isatty($fh);
return 1 if not POSIX::isatty($self); # ignored for master ptys
ioctl($fh, &IO::Tty::Constant::TIOCGWINSZ, $winsize)
and ioctl($self, &IO::Tty::Constant::TIOCSWINSZ, $winsize)
and return 1;
warn "clone_winsize_from: error: $!" if $^W;
return undef;
}
The structrure of winsize is defined in termios.h as follows:
struct winsize {
unsigned short ws_row;
unsigned short ws_col;
unsigned short ws_xpixel;
unsigned short ws_ypixel;
};
And the Internet tells me that ws_row is the number of rows, ws_col the number of columns, ws_xpixel the number of horizontal pixels across the terminal, and ws_ypixel the number of vertical pixels across the terminal.
After a little experiementing, this seems to work to create the struct, although it should be noted that this assumes that the struct has the same memory alignment as an array of unsigned shorts:
my $winsize = pack("S*",$ws_row,$ws_col,$ws_xpixel,$ws_ypixel);
So thats what Im trying to use (thus saving an XS C function)
Download (0.008MB)
Added: 2007-04-05 License: Perl Artistic License Price:
933 downloads
Libsocketcpp 1.0.7
Libsocketcpp provides a easy-to-use C++ socket library for TCP and UDP functionality. more>>
Libsocketcpp provides a easy-to-use C++ socket library class.
Dispite the name, the TCPSocket class can handle both UDP and TCP connections.
Unfortunatly right now, the class is simple. It does not do anything really fancy like non-blocking sockets, select which interfaces you want to use, etc...
What it does allow you to do is to set up a TCP or UDP server/client and send and receive blocks of data. Plain and simple
Enhancements:
- Fixed missing include inside tcpservertest test program.
- Should be able to compile on RH 7.0 now.
<<lessDispite the name, the TCPSocket class can handle both UDP and TCP connections.
Unfortunatly right now, the class is simple. It does not do anything really fancy like non-blocking sockets, select which interfaces you want to use, etc...
What it does allow you to do is to set up a TCP or UDP server/client and send and receive blocks of data. Plain and simple
Enhancements:
- Fixed missing include inside tcpservertest test program.
- Should be able to compile on RH 7.0 now.
Download (0.14MB)
Added: 2006-09-08 License: GPL (GNU General Public License) Price:
1142 downloads
TCP port scanner 1.0.4
TCP port scanner is a network scanner for Linux. more>>
TCP port scanner is a network scanner for Linux.
Installation:
1. Install - become root and gunzip/tar tcpscan-X-Y-Z.tar.gz.
2. Type ./confugure , make
3. Type install
4. Enjoy and try type tcpscan localhost
5. To get help - run tcpscan without parametres.
Usage:
tcpscan [-f] [hostname || IP_address]
tcpscan [-f] [first_IP_address] [last_IP_address]
<<lessInstallation:
1. Install - become root and gunzip/tar tcpscan-X-Y-Z.tar.gz.
2. Type ./confugure , make
3. Type install
4. Enjoy and try type tcpscan localhost
5. To get help - run tcpscan without parametres.
Usage:
tcpscan [-f] [hostname || IP_address]
tcpscan [-f] [first_IP_address] [last_IP_address]
Download (0.060MB)
Added: 2006-04-14 License: GPL (GNU General Public License) Price:
1299 downloads
POE::Component::Proxy::TCP 1.2
POE::Component::Proxy::TCP is a simplified TCP proxy. more>>
POE::Component::Proxy::TCP is a simplified TCP proxy.
SYNOPSIS
use POE qw(Component::Proxy::TCP);
POE::Component::Proxy::TCP->new
(Alias => "ProxyServerSessionAlias",
Port => $local_server_port,
OrigPort => $remote_server_port,
OrigAddress => $remote_server_host,
DataFromClient => &data_from_client_handler,
DataFromServer => &data_from_server_handler,
);
# gets called with data passed from server.
# called inside the per client connected session created by PoCo::Server::TCP
sub data_from_server_handler {
my $server_data = shift;
# show obtaining other session info esp per proxy session info
};
# gets called with data passed from remote client
#
sub data_from_client_handler {
my $server_data = shift;
};
# show obtaining other session info esp per proxy session info
# Reserved HEAP variables:
$heap->{self} = Proxy object / instance var hash
$heap->{self}->losta stuff add documentation
[do the per connection ones]
EXAMPLE ^
use warnings;
use strict;
use diagnostics;
use POE;
use POE::Filter::Stream;
use POE::Filter::Line;
use POE::Component::Proxy::TCP;
$|++;
POE::Component::Proxy::TCP->new
(Alias => "ProxyServerSessionAlias",
Port => 4000,
OrigPort => 5000,
OrigAddress => "localhost",
DataFromClient => sub {print "From client:", shift(), "n";},
DataFromServer => sub {print "From server:", shift(), "n";},
RemoteClientFilter => "POE::Filter::Stream",
RemoteServerOutputFilter => "POE::Filter::Stream",
RemoteServerInputFilter => "POE::Filter::Stream"
);
$poe_kernel->run();
exit 0;
<<lessSYNOPSIS
use POE qw(Component::Proxy::TCP);
POE::Component::Proxy::TCP->new
(Alias => "ProxyServerSessionAlias",
Port => $local_server_port,
OrigPort => $remote_server_port,
OrigAddress => $remote_server_host,
DataFromClient => &data_from_client_handler,
DataFromServer => &data_from_server_handler,
);
# gets called with data passed from server.
# called inside the per client connected session created by PoCo::Server::TCP
sub data_from_server_handler {
my $server_data = shift;
# show obtaining other session info esp per proxy session info
};
# gets called with data passed from remote client
#
sub data_from_client_handler {
my $server_data = shift;
};
# show obtaining other session info esp per proxy session info
# Reserved HEAP variables:
$heap->{self} = Proxy object / instance var hash
$heap->{self}->losta stuff add documentation
[do the per connection ones]
EXAMPLE ^
use warnings;
use strict;
use diagnostics;
use POE;
use POE::Filter::Stream;
use POE::Filter::Line;
use POE::Component::Proxy::TCP;
$|++;
POE::Component::Proxy::TCP->new
(Alias => "ProxyServerSessionAlias",
Port => 4000,
OrigPort => 5000,
OrigAddress => "localhost",
DataFromClient => sub {print "From client:", shift(), "n";},
DataFromServer => sub {print "From server:", shift(), "n";},
RemoteClientFilter => "POE::Filter::Stream",
RemoteServerOutputFilter => "POE::Filter::Stream",
RemoteServerInputFilter => "POE::Filter::Stream"
);
$poe_kernel->run();
exit 0;
Download (0.017MB)
Added: 2007-04-10 License: Perl Artistic License Price:
930 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above tcp search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed