tcp connections
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1862
Crossroads Load Balancer 1.59
Crossroads is a load balance and failover utility for TCP-based services. more>>
Crossroads is a load balance and failover utility for TCP-based services.
Crossroads Load Balancer is a daemon program running in userspace and features extensive configurability, polling of backends using "wakeup calls", detailed status reporting, "hooks" for special actions when backend calls fail, and more.
It is service-independent; it is usable for HTTP(S), SSH, SMTP, DNS, etc.
Crossroads is a daemon that basically accepts TCP connections at preconfigured ports, and given a list of back ends distributes each incoming connection, so that a client process is served.
Additionally, crossroads maintains an internal administration of the back end connectivity: if a back end isnt usable, then the client request is handled using another back end. Crossroads will then periodically check whether a previously not usable back end has come to life yet. Also, crossroads can select back ends by estimating the load, so that balancing is achieved.
Using this approach, crossroads serves as load balancer and fail over utility. Crossroads will very likely not be as reliable as hardware based balancers, since it always will require a server to run on. This server, in turn, may become a new Single Point of Failure (SPOS). However, in situations where cost efficiency is an issue, crossroads may be a good choice.
Furthermore, crossroads can be deployed in situations where a hardware based balancing already exists and augmenting service reliability is needed. Or, crossroads may be run off a diskless system, which again improves reliability of the underlying hardware.
This document describes how to use crossroads, how to configure it in order to increase the reliability of your systems, and how to compile the program from its sources. This document is also available in PDF format.
Usage:
Crossroads is started from the commandline, and highly depends on /etc/crossroads.conf (the default configuration file). It supports a number of flags (e.g., to overrule the location of the configuration file). The actual usage information is always obtained by typing crossroads without any arguments. Crossroads then displays the allowed arguments.
This section shows the basic usage.
- crossroads start and crossroads stop are typical actions that are run from system startup scripts. The meaning is self-explanatory.
- crossroad status reports on each running service. Per service, the state of each back end is reported.
- crossroads tell service backend state is a command line way of telling crossroads that a given back end, of a given service, is in a given state. Normally crossroads maintains state information itself, but by using crossroads tell, a back end can be e.g. taken off line for servicing.
- crossroads services reports on the configured services. In contrast to crossroads status, this option only shows whats configured -- not whats up and running. Therefore, crossroads services doesnt report on back end states.
- crossroads sampleconf shows a sample configuration on screen. A good way of quicky viewing the configuration file syntax, or of getting a start for your own configuration /etc/crossroads.conf.
<<lessCrossroads Load Balancer is a daemon program running in userspace and features extensive configurability, polling of backends using "wakeup calls", detailed status reporting, "hooks" for special actions when backend calls fail, and more.
It is service-independent; it is usable for HTTP(S), SSH, SMTP, DNS, etc.
Crossroads is a daemon that basically accepts TCP connections at preconfigured ports, and given a list of back ends distributes each incoming connection, so that a client process is served.
Additionally, crossroads maintains an internal administration of the back end connectivity: if a back end isnt usable, then the client request is handled using another back end. Crossroads will then periodically check whether a previously not usable back end has come to life yet. Also, crossroads can select back ends by estimating the load, so that balancing is achieved.
Using this approach, crossroads serves as load balancer and fail over utility. Crossroads will very likely not be as reliable as hardware based balancers, since it always will require a server to run on. This server, in turn, may become a new Single Point of Failure (SPOS). However, in situations where cost efficiency is an issue, crossroads may be a good choice.
Furthermore, crossroads can be deployed in situations where a hardware based balancing already exists and augmenting service reliability is needed. Or, crossroads may be run off a diskless system, which again improves reliability of the underlying hardware.
This document describes how to use crossroads, how to configure it in order to increase the reliability of your systems, and how to compile the program from its sources. This document is also available in PDF format.
Usage:
Crossroads is started from the commandline, and highly depends on /etc/crossroads.conf (the default configuration file). It supports a number of flags (e.g., to overrule the location of the configuration file). The actual usage information is always obtained by typing crossroads without any arguments. Crossroads then displays the allowed arguments.
This section shows the basic usage.
- crossroads start and crossroads stop are typical actions that are run from system startup scripts. The meaning is self-explanatory.
- crossroad status reports on each running service. Per service, the state of each back end is reported.
- crossroads tell service backend state is a command line way of telling crossroads that a given back end, of a given service, is in a given state. Normally crossroads maintains state information itself, but by using crossroads tell, a back end can be e.g. taken off line for servicing.
- crossroads services reports on the configured services. In contrast to crossroads status, this option only shows whats configured -- not whats up and running. Therefore, crossroads services doesnt report on back end states.
- crossroads sampleconf shows a sample configuration on screen. A good way of quicky viewing the configuration file syntax, or of getting a start for your own configuration /etc/crossroads.conf.
Download (0.18MB)
Added: 2007-08-21 License: GPL v3 Price:
801 downloads
HTTPTunnel 0.9.4
HTTPTunnel is a simple client/server application for creating an HTTP tunnel between two machines, optionally via a Web proxy. more>>
HTTPTunnel is a simple client/server application for creating an HTTP tunnel between two machines, optionally via a Web proxy.
This is a small application for tunnelling an arbitrary TCP socket connection over HTTP. It can be used, for example, to tunnel traffic out from behind a restrictive firewall that only allows outgoing HTTP web connections.
The basic idea is that you run an instance of the HTTP Tunnel application locally in client mode, that then connects out to another instance that you run at the remote end of the tunnel in server mode.
You then connect to the local client end of the tunnel with the application whose traffic you wish to tunnel, and all communications are then wrapped in HTTP. The tunnel may also go via a HTTP proxy, either explicitly or transparently.
Enhancements:
- This release includes some major bugfixes and improvements in the tunneling error detection and retransmission code.
- It also introduces support for building and running under Cygwin.
<<lessThis is a small application for tunnelling an arbitrary TCP socket connection over HTTP. It can be used, for example, to tunnel traffic out from behind a restrictive firewall that only allows outgoing HTTP web connections.
The basic idea is that you run an instance of the HTTP Tunnel application locally in client mode, that then connects out to another instance that you run at the remote end of the tunnel in server mode.
You then connect to the local client end of the tunnel with the application whose traffic you wish to tunnel, and all communications are then wrapped in HTTP. The tunnel may also go via a HTTP proxy, either explicitly or transparently.
Enhancements:
- This release includes some major bugfixes and improvements in the tunneling error detection and retransmission code.
- It also introduces support for building and running under Cygwin.
Download (0.059MB)
Added: 2007-08-19 License: GPL (GNU General Public License) Price:
807 downloads
KSniffer 0.3
KSniffer is a sniffing application for KDE. more>>
KSniffer is a sniffing application for KDE. KSniffer is in the starting release... Not yet released as stable, not for crashed, but for few feature.
Enhancements:
- add/remove KSniffer in the system tray bar
- added KSniffer option dialog:
- sniffer settings:
- display packets after you stopped capture available
- capture settings:
- stop manually
- stop after X packets
- stop after X bytes/kilobytes/megabyes/gigabytes
- stop after X seconds/minutes/hours/days
- added data for TCP detail display
- added pause/continue capture
- reading ports name from system (file /etc/services)
- quick search added (dependancy from kdelibs >= 3.3)
- better management for loading file
- better management for temporary file
- root privileges dont need anymore for the GUI
- removed sorting feature cause of bad performing for lots of packets
- getting information on IP: can be detected some networking information
- on source or destination selected IP:
- whois
- traceroute
- ping
- dig
- host
- nslookup
- compiling on FreeBSD and some other Linux platform
- fixed boring bugs
Enhancements:
- new icon and splashscreen thanks to Carmine De Rosa
- fixed crash when you click on a captured packet after you tryed to open a file, but you didnt open it
- give the port name to UDP and TCP connections getting them from /etc/services file
- show raw bytes of a selected packet from the list of the captured one
- changed "sniff" application name to "ksniff" to avoid name conflicts with other sniffing applications
- fixed bug that avoid saving sniffed data quitting from the application
- get the list of the network interfaces that have different MAC addresses
- check ksniff permissions to avoid users think KSniffer doesnt work: Debian/*ubuntu/OpenSuSE remove
- the suid bit: a warning dialog will appear in case ksniff ha not found or has not the SUID bit
<<lessEnhancements:
- add/remove KSniffer in the system tray bar
- added KSniffer option dialog:
- sniffer settings:
- display packets after you stopped capture available
- capture settings:
- stop manually
- stop after X packets
- stop after X bytes/kilobytes/megabyes/gigabytes
- stop after X seconds/minutes/hours/days
- added data for TCP detail display
- added pause/continue capture
- reading ports name from system (file /etc/services)
- quick search added (dependancy from kdelibs >= 3.3)
- better management for loading file
- better management for temporary file
- root privileges dont need anymore for the GUI
- removed sorting feature cause of bad performing for lots of packets
- getting information on IP: can be detected some networking information
- on source or destination selected IP:
- whois
- traceroute
- ping
- dig
- host
- nslookup
- compiling on FreeBSD and some other Linux platform
- fixed boring bugs
Enhancements:
- new icon and splashscreen thanks to Carmine De Rosa
- fixed crash when you click on a captured packet after you tryed to open a file, but you didnt open it
- give the port name to UDP and TCP connections getting them from /etc/services file
- show raw bytes of a selected packet from the list of the captured one
- changed "sniff" application name to "ksniff" to avoid name conflicts with other sniffing applications
- fixed bug that avoid saving sniffed data quitting from the application
- get the list of the network interfaces that have different MAC addresses
- check ksniff permissions to avoid users think KSniffer doesnt work: Debian/*ubuntu/OpenSuSE remove
- the suid bit: a warning dialog will appear in case ksniff ha not found or has not the SUID bit
Download (0.65MB)
Added: 2007-07-22 License: GPL (GNU General Public License) Price:
826 downloads
jail 1.6
jail is a simple, but often useful network security tool which displays ICMP packets and attempted TCP connections. more>>
jail (Just Another IP Logger) is a simple, but often useful network security tool which displays ICMP packets and attempted TCP connections from remote hosts.
The application features better configuration and logging options than the iplogger package it was written to replace.
icmplog and tcplog can either ignore any packet, or log it at any of the
syslog levels (as defined in < syslog.h >). The log level is configurable
depending on the ICMP type (icmplog) or the port on which a connection is
requested (tcplog). The default facility (LOG_DAEMON) for logging messages
can also be changed in the configurations files.
The level at which a given type of packet is logged is specified in the
configuration files (/etc/icmplog.conf and /etc/tcplog.conf by default,
which can be overriden with the --file option). You can also specify
a default level, which matches packets that have an unknown or unconfigured
type. See the example configurations included and the icmplog(8) and
tcplog(8) manual pages for more information.
Log entries contain the source and type (icmplog) or destination port
(tcplog) of the received packet. If a packet is of an unknown type, its
numeric value is logged instead of its name. The source is logged
either as a hostname or as an IP address (see the -n option). Typical
entries look like:
Jun 16 17:47:30 lustre icmplog: started
Jun 16 17:47:31 lustre tcplog: started
Jun 16 18:54:14 lustre icmplog: time exceeded from sunsite.unc.edu
Jun 16 18:56:14 lustre tcplog: port 1039 request from ftp.cs.umn.edu
Jun 16 19:47:24 lustre icmplog: destination unreachable from 209.39.121.4
The INSTALL file contains detailed installation instructions. Read the
icmplog(8), icmplog.conf(5), tcplog(8) and tcplog.conf(5) manual pages, and
the example configuration files (icmplog.conf and tcplog.conf) for
more information on setting up and using jail.
jail was originally based on the iplogger package, but offers greater
configurability and better options. It bears very little resemblance to
the original program now.
jail is distributed under the Artistic License (a copy of which is included
in the distribution) and comes with no warranty, express or implied. If it
breaks...well, keep the pieces.
<<lessThe application features better configuration and logging options than the iplogger package it was written to replace.
icmplog and tcplog can either ignore any packet, or log it at any of the
syslog levels (as defined in < syslog.h >). The log level is configurable
depending on the ICMP type (icmplog) or the port on which a connection is
requested (tcplog). The default facility (LOG_DAEMON) for logging messages
can also be changed in the configurations files.
The level at which a given type of packet is logged is specified in the
configuration files (/etc/icmplog.conf and /etc/tcplog.conf by default,
which can be overriden with the --file option). You can also specify
a default level, which matches packets that have an unknown or unconfigured
type. See the example configurations included and the icmplog(8) and
tcplog(8) manual pages for more information.
Log entries contain the source and type (icmplog) or destination port
(tcplog) of the received packet. If a packet is of an unknown type, its
numeric value is logged instead of its name. The source is logged
either as a hostname or as an IP address (see the -n option). Typical
entries look like:
Jun 16 17:47:30 lustre icmplog: started
Jun 16 17:47:31 lustre tcplog: started
Jun 16 18:54:14 lustre icmplog: time exceeded from sunsite.unc.edu
Jun 16 18:56:14 lustre tcplog: port 1039 request from ftp.cs.umn.edu
Jun 16 19:47:24 lustre icmplog: destination unreachable from 209.39.121.4
The INSTALL file contains detailed installation instructions. Read the
icmplog(8), icmplog.conf(5), tcplog(8) and tcplog.conf(5) manual pages, and
the example configuration files (icmplog.conf and tcplog.conf) for
more information on setting up and using jail.
jail was originally based on the iplogger package, but offers greater
configurability and better options. It bears very little resemblance to
the original program now.
jail is distributed under the Artistic License (a copy of which is included
in the distribution) and comes with no warranty, express or implied. If it
breaks...well, keep the pieces.
Download (0.018MB)
Added: 2007-07-03 License: Artistic License Price:
510 downloads
Autostatus 1.2.1
Autostatus is a network and server monitoring program. more>>
Autostatus is a network and server monitoring program. The project is designed to support large, arbitrarily complex networks of computers, and still provide feedback in a very timely fashion. To that extent, it has the following goals:
- Speed - Autostatus attempts to probe for network status as quickly as possible.
- Efficiency - Autostatus will not attempt to check for status on portions of the network it already knows are down, eliminating redundant checks.
- Accuracy - Autostatus presents as accurate a picture of the network status as it can from its perspective.
Autostatus has some features which make it fairly unique among network monitoring programs:
Dependency Resolution
Autostatus can be given information about the path it takes to reach network segments, or other dependencies in network or server topology. Given this dependency information, autostatus will then query for status in the proper order in order to guarantee that:
- Nothing is queried before all of the items upon which it depends have already been queried.
- Nothing is queried if an item upon which it depends is down.
- Items are not incorrectly marked as down when they are simply unreachable due to a dependency failure.
This dependency resolution is, of course, fully recursive. The software will also warn about abnormal conditions in the configuration file such as cyclical dependencies.
Parallel status gathering
Autostatus uses the excellent fping program written by Roland J. Schemers III at Stanford University. (see the fping copyright below). By intelligently grouping services together for parallel testing, Autostatus minimizes the amount of time necessary to scan large numbers of networks or servers.
For testing TCP services, Autostatus uses a component called tcpcheck to perform parallel checks of TCP connections. tcpcheck was developed specifically for Autostatus, but has considerable utility outside of Autostatus.
Status Web Page
Autostatus automatically generates a status web page which reflects the current-known network and server status on a per-item basis.
Email notification
Autostatus sends email when the state of a monitored item changes (based upon configurable thresholds). Using an email to pager program (such as hellpage, by the author, or various other paging programs), it is very easy to route notifications for each service to the correct party.
Multiple service monitoring
Autostatus can monitor both routers/hosts via ICMP messages, and specific services on machines via TCP connections. In keeping with the themes of autostatus, TCP connections may be avoided if the machine is not reachable via ICMP, or may be tried at all times.
Usage: tcpcheck < timeout > < host:port > [host:port]
<<less- Speed - Autostatus attempts to probe for network status as quickly as possible.
- Efficiency - Autostatus will not attempt to check for status on portions of the network it already knows are down, eliminating redundant checks.
- Accuracy - Autostatus presents as accurate a picture of the network status as it can from its perspective.
Autostatus has some features which make it fairly unique among network monitoring programs:
Dependency Resolution
Autostatus can be given information about the path it takes to reach network segments, or other dependencies in network or server topology. Given this dependency information, autostatus will then query for status in the proper order in order to guarantee that:
- Nothing is queried before all of the items upon which it depends have already been queried.
- Nothing is queried if an item upon which it depends is down.
- Items are not incorrectly marked as down when they are simply unreachable due to a dependency failure.
This dependency resolution is, of course, fully recursive. The software will also warn about abnormal conditions in the configuration file such as cyclical dependencies.
Parallel status gathering
Autostatus uses the excellent fping program written by Roland J. Schemers III at Stanford University. (see the fping copyright below). By intelligently grouping services together for parallel testing, Autostatus minimizes the amount of time necessary to scan large numbers of networks or servers.
For testing TCP services, Autostatus uses a component called tcpcheck to perform parallel checks of TCP connections. tcpcheck was developed specifically for Autostatus, but has considerable utility outside of Autostatus.
Status Web Page
Autostatus automatically generates a status web page which reflects the current-known network and server status on a per-item basis.
Email notification
Autostatus sends email when the state of a monitored item changes (based upon configurable thresholds). Using an email to pager program (such as hellpage, by the author, or various other paging programs), it is very easy to route notifications for each service to the correct party.
Multiple service monitoring
Autostatus can monitor both routers/hosts via ICMP messages, and specific services on machines via TCP connections. In keeping with the themes of autostatus, TCP connections may be avoided if the machine is not reachable via ICMP, or may be tried at all times.
Usage: tcpcheck < timeout > < host:port > [host:port]
Download (0.033MB)
Added: 2007-06-26 License: BSD License Price:
850 downloads
samhain 2.3.5
Samhain is a multiplatform, open source solution for centralized file integrity checking. more>>
Samhain is a multiplatform, open source solution for centralized file integrity checking / host-based intrusion detection on POSIX systems (Unix, Linux, Cygwin/Windows).
samhain project has been designed to monitor multiple hosts with potentially different operating systems from a central location, although it can also be used as standalone application on a single host.
Main features:
Centralized monitoring
- Samhain clients (or agents) can connect to a central log server via secure (encrypted and authenticated) TCP connections. This allows central logging to the server, central storage of baseline databases and client configuration data, and central updates of baseline databases.
Web-based management console
- For client/server installations, a web-based console - Beltane - is available as separate package. Beltane allows to monitor server and client activity, view client reports, and update the baseline databases on the server side.
Multiple logging facilities
- Samhain supports multiple logging facilities, each of which can be configured individually. Supported logging facilities include (but are not limited to) tamper-resistant logfile, syslog, email, relational databases (MySQL, PostgreSQL, Oracle, or unixODBC) and the Prelude IDS.
Tamper resistance
- Samhain offers PGP-signed database and configuration files, a stealth mode, and several more features to protect against attempts to subvert the integrity of the samhain client / agent.
Enhancements:
- This release fixes some minor bugs.
- The portcheck module tears down connections for some common protocols more gracefully.
<<lesssamhain project has been designed to monitor multiple hosts with potentially different operating systems from a central location, although it can also be used as standalone application on a single host.
Main features:
Centralized monitoring
- Samhain clients (or agents) can connect to a central log server via secure (encrypted and authenticated) TCP connections. This allows central logging to the server, central storage of baseline databases and client configuration data, and central updates of baseline databases.
Web-based management console
- For client/server installations, a web-based console - Beltane - is available as separate package. Beltane allows to monitor server and client activity, view client reports, and update the baseline databases on the server side.
Multiple logging facilities
- Samhain supports multiple logging facilities, each of which can be configured individually. Supported logging facilities include (but are not limited to) tamper-resistant logfile, syslog, email, relational databases (MySQL, PostgreSQL, Oracle, or unixODBC) and the Prelude IDS.
Tamper resistance
- Samhain offers PGP-signed database and configuration files, a stealth mode, and several more features to protect against attempts to subvert the integrity of the samhain client / agent.
Enhancements:
- This release fixes some minor bugs.
- The portcheck module tears down connections for some common protocols more gracefully.
Download (1.3MB)
Added: 2007-06-21 License: GPL (GNU General Public License) Price:
858 downloads
POE::Stage 0.02_00
POE::Stage is a base Perl class for message-driven objects. more>>
POE::Stage is a base Perl class for message-driven objects.
SYNOPSIS
#!/usr/bin/env perl
{
package App;
use POE::Stage::App qw(:base);
sub on_run {
print "hello, ", my $arg_whom, "!n";
}
}
App->new()->run( whom => "world" );
exit;
POE::Stage is a set of base classes for message-driven objects. It cleanly implements standard patterns that have emerged from years of working with POE and POE::Component modules.
As I hope the name implies, POE::Stage objects encapsulate discrete steps, or stages, of a larger task. Eventually they come together to implement programs.
For example, HTTP requests are performed in four or so distinct stages: 1. The servers address is resolved. 2. The client establishes a connection to the server. 3. The client transmits a request. 4. The client receives a response.
By design, POE::Stage promotes the decomposition of tasks into multiple, smaller stages. If these stages are generic enough, new tasks may be handled by reusing them in different configurations.
The hypothetical HTTP client might be a single stage composed of three smaller ones: A DNS resolver stage, which accepts DNS requests and returns DNS responses. A TCP client connection factory, which takes socket endpoint descriptions and other parameters, and eventually returns established connections. Finally, there would be an HTTP protocol stage that uses established connections to send requests and parse responses.
These stages would be encapsulated by a higher-level HTTP client stage. This would accept HTTP requests and return HTTP responses after performing the necessary steps to gather them.
This will sound familiar to anyone working with objects.
These objects are asynchronous and message-driven, however. The base message class, POE::Request, and its subclasses, implement a standard request/response interface between POE::Stage objects. Where possible, these messages attempt to mimic simpler, more direct call/return syntax, albeit asynchronously. POE::Stage also provides a powerful closure-based system for maintaining request and response state, so you dont have to.
<<lessSYNOPSIS
#!/usr/bin/env perl
{
package App;
use POE::Stage::App qw(:base);
sub on_run {
print "hello, ", my $arg_whom, "!n";
}
}
App->new()->run( whom => "world" );
exit;
POE::Stage is a set of base classes for message-driven objects. It cleanly implements standard patterns that have emerged from years of working with POE and POE::Component modules.
As I hope the name implies, POE::Stage objects encapsulate discrete steps, or stages, of a larger task. Eventually they come together to implement programs.
For example, HTTP requests are performed in four or so distinct stages: 1. The servers address is resolved. 2. The client establishes a connection to the server. 3. The client transmits a request. 4. The client receives a response.
By design, POE::Stage promotes the decomposition of tasks into multiple, smaller stages. If these stages are generic enough, new tasks may be handled by reusing them in different configurations.
The hypothetical HTTP client might be a single stage composed of three smaller ones: A DNS resolver stage, which accepts DNS requests and returns DNS responses. A TCP client connection factory, which takes socket endpoint descriptions and other parameters, and eventually returns established connections. Finally, there would be an HTTP protocol stage that uses established connections to send requests and parse responses.
These stages would be encapsulated by a higher-level HTTP client stage. This would accept HTTP requests and return HTTP responses after performing the necessary steps to gather them.
This will sound familiar to anyone working with objects.
These objects are asynchronous and message-driven, however. The base message class, POE::Request, and its subclasses, implement a standard request/response interface between POE::Stage objects. Where possible, these messages attempt to mimic simpler, more direct call/return syntax, albeit asynchronously. POE::Stage also provides a powerful closure-based system for maintaining request and response state, so you dont have to.
Download (0.048MB)
Added: 2007-06-21 License: Perl Artistic License Price:
855 downloads
Fwctl 0.28
Fwctl is a Perl module to configure the Linux kernel packet filtering firewall. more>>
Fwctl is a Perl module to configure the Linux kernel packet filtering firewall.
SYNOPSIS
use Fwctl;
my $fwctl = new Fwctl( %opts );
$fwctl->dump_acct;
$fwctl->reset_fw;
$fwctl->configure;
Fwctl is a module to configure the Linux kernel packet filtering firewall using higher level abstraction than rules on input, output and forward chains. It supports masquerading and accounting as well.
Why Fwctl ? Well, say you are the kind of paranoid firewall administrator which likes his firewalls rules tight. Very tight. Say the kind, that likes to distinguish between a SYN and ACK packet when accepting a TCP connection (anybody configuring packet filters should care about that last point), or like to specify the interface name on each rules. (Whether this is really need, or such a stance is relevant, is not the point.) How would such an administrator proceed ? First of all you deny everything on all interfaces and on all chains (input, forward and output) and turn on logging. Now starting from this configuration (in which Fwctl puts the firewall on initialization), say you want to enable ping from the internal network to the internal ip. What rules do you need ? You need a rule on the input chain to accept the echo-request packet and a rule on the output chain to accept the echo-reply request. Right ? Well, what about the loopback. For sure, when we say from local net to local ip, this imply local ip to local ip ? Then you add a rule to the output chain with the loopback interface, and a rule on the input rule to the loopback chain. And we didnt even start forwarding yet ! Add masquerading to the lot and multi connections protocols like FTP and you got something unmanageable. So you start accepting things you shouldnt to get your job done and in the end your filters look like emmenthal.
Fwctl handles all the complexity of this, so that when you say
accept ftp -src FTP_PROXY -dst INTERNET -noport
you dont accept too much of what you didnt intend. (Well you just opened arbitrary TCP connections to unprivileged ports on the Internet from your proxy server, but thats because of the FTP protocol, not because your cheating on the firewall rules.)
Fwctl works with entity known as service. A service can be ftp, netbios, ping or anything else. The service abstraction handles all the communication necessary for that application. (The UDP and TCP communication in DNS, or the control, data and passive connections for FTP.)
Additionally, to handle all the special case with ANY specification, when the src of dst imply a local IP, or masquerading, in short for Fwctl to be able to deduce the interface implicated by the src and dst portion of a rules you need to provide it with your network topology. Fwctl must guess from your topology the routing decision that will be made in the kernel. In the best of worlds, Fwctl should contains the same routing algorithm as the one in the kernel. Well, it doesnt so if you are using fancy routing feature, Fwctl wont work. In fact, it can only handle something equivalent to simple static routing. You have been warned.
So in short, to configure your packet filters with Fwctl you need to
Define your network topology using the interfaces file.
(Optional) Define meaningful aliases for hosts and networks which are part of your configuration.
Implement your security policy using high level abstract rules in the rules file.
Finally, Fwctl is extensible. You can easily add services modules using the Fwctl::RuleSet module which contains all the primitive you need to handle all the special cases involved in the input, forward and output chain selection.
<<lessSYNOPSIS
use Fwctl;
my $fwctl = new Fwctl( %opts );
$fwctl->dump_acct;
$fwctl->reset_fw;
$fwctl->configure;
Fwctl is a module to configure the Linux kernel packet filtering firewall using higher level abstraction than rules on input, output and forward chains. It supports masquerading and accounting as well.
Why Fwctl ? Well, say you are the kind of paranoid firewall administrator which likes his firewalls rules tight. Very tight. Say the kind, that likes to distinguish between a SYN and ACK packet when accepting a TCP connection (anybody configuring packet filters should care about that last point), or like to specify the interface name on each rules. (Whether this is really need, or such a stance is relevant, is not the point.) How would such an administrator proceed ? First of all you deny everything on all interfaces and on all chains (input, forward and output) and turn on logging. Now starting from this configuration (in which Fwctl puts the firewall on initialization), say you want to enable ping from the internal network to the internal ip. What rules do you need ? You need a rule on the input chain to accept the echo-request packet and a rule on the output chain to accept the echo-reply request. Right ? Well, what about the loopback. For sure, when we say from local net to local ip, this imply local ip to local ip ? Then you add a rule to the output chain with the loopback interface, and a rule on the input rule to the loopback chain. And we didnt even start forwarding yet ! Add masquerading to the lot and multi connections protocols like FTP and you got something unmanageable. So you start accepting things you shouldnt to get your job done and in the end your filters look like emmenthal.
Fwctl handles all the complexity of this, so that when you say
accept ftp -src FTP_PROXY -dst INTERNET -noport
you dont accept too much of what you didnt intend. (Well you just opened arbitrary TCP connections to unprivileged ports on the Internet from your proxy server, but thats because of the FTP protocol, not because your cheating on the firewall rules.)
Fwctl works with entity known as service. A service can be ftp, netbios, ping or anything else. The service abstraction handles all the communication necessary for that application. (The UDP and TCP communication in DNS, or the control, data and passive connections for FTP.)
Additionally, to handle all the special case with ANY specification, when the src of dst imply a local IP, or masquerading, in short for Fwctl to be able to deduce the interface implicated by the src and dst portion of a rules you need to provide it with your network topology. Fwctl must guess from your topology the routing decision that will be made in the kernel. In the best of worlds, Fwctl should contains the same routing algorithm as the one in the kernel. Well, it doesnt so if you are using fancy routing feature, Fwctl wont work. In fact, it can only handle something equivalent to simple static routing. You have been warned.
So in short, to configure your packet filters with Fwctl you need to
Define your network topology using the interfaces file.
(Optional) Define meaningful aliases for hosts and networks which are part of your configuration.
Implement your security policy using high level abstract rules in the rules file.
Finally, Fwctl is extensible. You can easily add services modules using the Fwctl::RuleSet module which contains all the primitive you need to handle all the special cases involved in the input, forward and output chain selection.
Download (0.078MB)
Added: 2007-05-11 License: Perl Artistic License Price:
896 downloads
Remote Monitoring Agent 1.25
Remote Monitoring Agent (RMA) is an auxiliary application for HostMonitor. more>>
Remote Monitoring Agent (RMA in short) is an auxiliary application for HostMonitor. Enterprise license for Advanced Host Monitor already includes license for 10 installations of the agent. Holders of a Lite, Standard or Professional licenses may buy an additional license for Remote Monitoring Agent separately.
HostMonitor 4.0+ can monitor remote networks using Remote Monitoring Agents (RMA). RMA is small application that accepts requests from HostMonitor, performs test and provides information about test result back to HostMonitor.
Why you may need RMA? Here are just several reasons:
RMA increases security of the network. When you have to run the tests such as CPU Usage test or Performance Counters tests on a remote Windows system, HostMonitor must be able to log in to that system with administrators privileges. Instead you may now use an agent installed on that remote system. In this case HostMonitor will not have to log on to that system at all. HostMonitor needs just one TCP port to communicate with the RMA agent (by default it uses #1055 port, however you may set an agent to use any other port).
Remote Monitoring Agent is also a very useful tool when you have to monitor two (or many) separated networks (connected through Internet). In this case installing just one instance of RMA behind the firewall in network "A" will allow to monitor entire network "A" using the HostMonitor located in the network "B" with just one open TCP port.
RMA decreases the network traffic. E.g. frequent use of "File Integrity" or "Compare Files" tests in an array of remote systems may apply significant load on the network. The more and the bigger files you test the more traffic increase you get. RMA runs locally and sends only the test results to the HostMonitor thus decreasing the amount of network traffic.
Remote Monitoring Agent simplifies network administration. You no longer need to share local drives/folders to perform tests such as File Integrity, Folder/File Size, File Availability, Count Files, etc
RMA for Linux / BSD / Solaris allows you to perform tests that HostMonitor cannot perform. For example HostMonitor cannot monitor processes that are running on Linux systems. RMA can do that.
Main features:
- All traffic between Remote Monitoring Agents and HostMonitor is encrypted.
- It is possible to customize the list of enabled tests for each of the agents (e.g. living only Count Files and UNC tests only).
- You can restrict incoming TCP connections with the list of acceptable addresses.
- With RMA Manager you may configure, restart and even upgrade agent(s) remotely.
<<lessHostMonitor 4.0+ can monitor remote networks using Remote Monitoring Agents (RMA). RMA is small application that accepts requests from HostMonitor, performs test and provides information about test result back to HostMonitor.
Why you may need RMA? Here are just several reasons:
RMA increases security of the network. When you have to run the tests such as CPU Usage test or Performance Counters tests on a remote Windows system, HostMonitor must be able to log in to that system with administrators privileges. Instead you may now use an agent installed on that remote system. In this case HostMonitor will not have to log on to that system at all. HostMonitor needs just one TCP port to communicate with the RMA agent (by default it uses #1055 port, however you may set an agent to use any other port).
Remote Monitoring Agent is also a very useful tool when you have to monitor two (or many) separated networks (connected through Internet). In this case installing just one instance of RMA behind the firewall in network "A" will allow to monitor entire network "A" using the HostMonitor located in the network "B" with just one open TCP port.
RMA decreases the network traffic. E.g. frequent use of "File Integrity" or "Compare Files" tests in an array of remote systems may apply significant load on the network. The more and the bigger files you test the more traffic increase you get. RMA runs locally and sends only the test results to the HostMonitor thus decreasing the amount of network traffic.
Remote Monitoring Agent simplifies network administration. You no longer need to share local drives/folders to perform tests such as File Integrity, Folder/File Size, File Availability, Count Files, etc
RMA for Linux / BSD / Solaris allows you to perform tests that HostMonitor cannot perform. For example HostMonitor cannot monitor processes that are running on Linux systems. RMA can do that.
Main features:
- All traffic between Remote Monitoring Agents and HostMonitor is encrypted.
- It is possible to customize the list of enabled tests for each of the agents (e.g. living only Count Files and UNC tests only).
- You can restrict incoming TCP connections with the list of acceptable addresses.
- With RMA Manager you may configure, restart and even upgrade agent(s) remotely.
Download (0.088MB)
Added: 2007-05-09 License: Freeware Price:
904 downloads
Gratissip Tftp 0.4.1
Gratissip Tftp is a program that displays TCP/IP connections on an LCD display. more>>
Gratissip Tftp is a program that displays TCP/IP connections on an LCD display.
ratissip Tftpd is a TFTP server written in Java. It has special extensions which allows it to serve firmware and provisional settings for Grandstream VoIP phones.
Enhancements:
- The code was fixed up for announcement.
<<lessratissip Tftpd is a TFTP server written in Java. It has special extensions which allows it to serve firmware and provisional settings for Grandstream VoIP phones.
Enhancements:
- The code was fixed up for announcement.
Download (MB)
Added: 2007-04-13 License: GPL (GNU General Public License) Price:
925 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
Net::Proxy 0.07
Net::Proxy is a Perl framework for proxying network connections in many ways. more>>
Net::Proxy is a Perl framework for proxying network connections in many ways.
SYNOPSIS
use Net::Proxy;
# proxy connections from localhost:6789 to remotehost:9876
# using standard TCP connections
my $proxy = Net::Proxy->new(
{ in => { type => tcp, port => 6789 },
out => { type => tcp, host => remotehost, port => 9876 },
}
);
# register the proxy object
$proxy->register();
# and you can setup multiple proxies
# and now proxy connections indefinitely
Net::Proxy->mainloop();
A Net::Proxy object represents a proxy that accepts connections and then relays the data transfered between the source and the destination.
The goal of this module is to abstract the different methods used to connect from the proxy to the destination.
A proxy is a program that transfer data across a network boundary between a client and a server. Net::Proxy introduces the concept of "connectors" (implemented as Net::Proxy::Connector subclasses), which abstract the server part (connected to the client) and the client part (connected to the server) of the proxy.
This architecture makes it easy to implement specific techniques to cross a given network boundary, possibly by using a proxy on one side of the network fence, and a reverse-proxy on the other side of the fence.
<<lessSYNOPSIS
use Net::Proxy;
# proxy connections from localhost:6789 to remotehost:9876
# using standard TCP connections
my $proxy = Net::Proxy->new(
{ in => { type => tcp, port => 6789 },
out => { type => tcp, host => remotehost, port => 9876 },
}
);
# register the proxy object
$proxy->register();
# and you can setup multiple proxies
# and now proxy connections indefinitely
Net::Proxy->mainloop();
A Net::Proxy object represents a proxy that accepts connections and then relays the data transfered between the source and the destination.
The goal of this module is to abstract the different methods used to connect from the proxy to the destination.
A proxy is a program that transfer data across a network boundary between a client and a server. Net::Proxy introduces the concept of "connectors" (implemented as Net::Proxy::Connector subclasses), which abstract the server part (connected to the client) and the client part (connected to the server) of the proxy.
This architecture makes it easy to implement specific techniques to cross a given network boundary, possibly by using a proxy on one side of the network fence, and a reverse-proxy on the other side of the fence.
Download (0.029MB)
Added: 2007-04-05 License: Perl Artistic License Price:
940 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
Leafnode 1.11.6
Leafnode is a software package that implements a store & forward NNTP proxy. more>>
Leafnode is a software package that implements a store & forward NNTP proxy (client and server) that supports TCP connections across IPv4 and IPv6. Leafnode can be used to give a regular newsreader off-line functionality, merge news articles from several upstream newsservers for newsreaders that only support one server well and avoid duplicate news download for a small LAN with multiple users reading news.
Leafnode is intended for use at home or in small offices. Scalability for large user or newsgroup counts has not been a design goal.
Leafnode is easy to install, requires no maintenance and can run unattended. It will recover from most problems without user intervention if possible. No configuration of a newsfeed at the upstream server is necessary, leafnode looks to the upstream server like a regular newsreader program.
Leafnode will automatically figure which newsgroups are read locally and will download them, and it will stop downloading from these newsgroups if they havent been read locally.
It allows for simple filters to limit the number of articles downloaded, the size or exclude articles with particular headers (Perl-compatible regular expression match). It has a mode to optionally download only headers in a first run, lets the user mark these through his newsreader (note that not all newsreaders will work) and download the full article texts in the next run.
Leafnode works perfectly with most common newsreaders either via NNTP or with traditional spool access.
Leafnode is an Open-Source package and runs on Linux, FreeBSD, Solaris, and probably most Unix flavours.
<<lessLeafnode is intended for use at home or in small offices. Scalability for large user or newsgroup counts has not been a design goal.
Leafnode is easy to install, requires no maintenance and can run unattended. It will recover from most problems without user intervention if possible. No configuration of a newsfeed at the upstream server is necessary, leafnode looks to the upstream server like a regular newsreader program.
Leafnode will automatically figure which newsgroups are read locally and will download them, and it will stop downloading from these newsgroups if they havent been read locally.
It allows for simple filters to limit the number of articles downloaded, the size or exclude articles with particular headers (Perl-compatible regular expression match). It has a mode to optionally download only headers in a first run, lets the user mark these through his newsreader (note that not all newsreaders will work) and download the full article texts in the next run.
Leafnode works perfectly with most common newsreaders either via NNTP or with traditional spool access.
Leafnode is an Open-Source package and runs on Linux, FreeBSD, Solaris, and probably most Unix flavours.
Download (0.38MB)
Added: 2007-03-17 License: MIT/X Consortium License Price:
951 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
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 connections 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