Socat er en åpen kildekode og POSIX-kompatible kommandolinje programvare implementert i C og designet fra offset til å fungere som en toveis dataoverføring stafett mellom to autonome datakanaler.
For øyeblikket støtter det pipe, fil, enhet (modem eller terminal), SSL, socket (IPv4, IPv6, UNIX, UDP, TCP), proxy CONNECT, eller en klient for SOCKS4. Socat kan støtte multicasts og sendinger, Linux trykk / Tun, abstrakte Unix stikkontakter, programtyper og GNU Readline.
I tillegg leverer programvaren logging, dumping og forgreininger av forskjellige moduser som kan brukes for kommunikasjon mellom prosesser, eller du kan bruke den som en TCP eller IPv6 / IPv4 stafett, et skall grensesnitt til UNIX stikkontakter, en daemon-basert socksifier, som vel som et verktøy for å omdirigere TCP-orientert programvare til en seriell line.Command-linje optionsSocat tilbyr et bredt spekter av kommandolinjealternativer som kan sees på et øyeblikk ved å kjøre & lsquo; ./ socat h & rsquo; kommando i en terminal emulator. Blant disse kan vi nevne muligheten til å analysere fildeskriptorer før løkken, for å sette en timeout før du lukker den andre kanalen, for å sette det totale inaktivitet timeout i sekunder, så vel som for å angi enveis modus.
Det finnes også ulike kommandolinjealternativer som lar deg få lås, mislykkes eller vent, velge mellom IPv4 eller IPv6, for å deaktivere kontroll av opsjons grupper, samt å sette flere logging spesifikasjoner. Den bruk meldingen vil også lære deg hvordan du bruker single-adresse, bi-adresser og adresse-head.Getting startet med SocatInstalling Socat på en GNU / Linux-distribusjoner viser seg å være en lett oppgave, siden alt du trenger å gjøre er å kjøre & lsquo; ./ konfigurere && make & rsquo; installasjonskommandoen i en terminal emulator for å konfigurere og sette sammen programmet, etterfulgt av & lsquo; sudo make install & rsquo; kommando, etter nedlasting den siste stabile eller utvikling versjon av programmet fra Softoware
Hva er nytt i denne utgaven:.
- rettelser:
- Lytt basert adresser brukt noen adressealternativer, f.eks så-Keepalive, til lytte fil descriptor i stedet for de tilkoblede filbeskrivere Takk til Ulises Alonso for rapportering av denne feilen
- gjøre mislyktes etter konfigurere med ikke gcc kompilatoren grunn av manglende inkludere. Takk til Horacio Mijail for rapportering av dette problemet
- configure sjekket for --disable-rawsocket men trykt --disable-genericsocket i hjelpeteksten. Takk til Ben Gardiner for rapportering og patching denne feilen
- I xioshutdown () en feil gren ble valgt etter RECVFROM typen adresser. Sannsynligvis ingen innvirkning. Takk til David Binderman for reproting dette problemet.
- procan kunne ikke renslig formatere ulimit verdier lenger enn 16 desimalar. Takk til Frank Dana for å gi en patch som øker feltbredde 24 sifre.
- OpenSSL-CONNECT med bindingsalternativet sviktet på noen systemer, eg.FreeBSD, med & quot; Ugyldig argument & quot; Takk til Emile hiet Tex for rapportering av denne feilen.
- Endret noen variable definisjoner å gjøre gcc -O2 aliasing kontrolløren glade Takk til Ilya Gordeev for rapportering av disse advarslene
- På big endian plattformer med type lang & gt; 32bit alternativet utvalg brukt en dårlig base adresse. Takket være Hejia Hejia for rapportering og fikse denne feilen.
- Red Hat problemet 1022070: manglende lengde innsjekking xiolog_ancillary_socket ()
- Red Hat utstede 1022063: out-of-range skift på netto maskebiter
- Red Hat problemet 1022062: strcpy misbruk i xiosetsockaddrenv_ip4 ()
- Red Hat problemet 1022048: strncpy herding: korrigert mistenkelig strncpy () bruker
- Red Hat problemet 1021958: fikset en bug med defekt buffer / datalengde beregning i xio-ascii.c: _xiodump ()
- Red Hat problemet 1021972: fikset en manglende NUL avslutning i retur streng av sysutils.c: sockaddr_info () for AF_UNIX saken
- faste noen skrivefeil og mindre problemer, inkludert: Red Hat problemet 1021967: formatering feil i manuell side
- UNIX-LISTEN med gaffel alternativet ikke fjerne kontakten filsystemet oppføring når du går ut. Annet filsystem basert passive adressetyper hatt lignende problemer eller unnlatt å søke alternativer umask, bruker ea Takk til Lorenzo Monti for å peke meg til dette problemet
- porting:
- Red Hat utstede 1020203: konfigurere sjekker mislykkes med noen kompilatorer. Use case: klang
- Utført endringer for Fedora løslate 19
- Tilpasset, forbedret test.sh script
- Red Hat problemet 1021429: getgroupent mislykkes med stort antall grupper; bruke getgrouplist () når det er tilgjengelig i stedet for sekvens av samtaler til getgrent ()
- Red Hat problemet 1021948: snprintf API endring; Implementert xio_snprintf () funksjon som wrapper som prøver å etterligne C99 oppførsel på gamle glibc-systemer, og tilpasset alle berørte samtaler riktig
- Mike Frysinger gitt en patch som støtter lang lang for time_t, socklen_t og et par andre libc typer.
- Artem Mygaiev utvidet Cedril Priscals Android bygge skript med PTY-kode
- Sjekken for fips.h nødvendig stddef.h Takk til Matt Hilt for rapportering av dette problemet og sende en patch
- Se etter linux / errqueue.h sviktet på noen systemer på grunn av mangel på linux / types.h inkludering. Takk til Michael Vastola for å sende en patch.
- autoconf foretrekker nå configure.ac løpet configure.in Takk til Michael Vastola for å sende en patch.
- type struct cmsghdr.cmsg er system dependend, bestemme den med configure; noen mer utskriftsformat korreksjoner
- doku:
- libwrap logger alltid til syslog
- lagt selve tekstversjon av GPLv2
Hva er nytt i versjon 1.7.2.3 / 2.0.0 Beta 3:
- Sikkerhet:
- CVE-2014-0019: socats PROXY-CONNECT adresse var utsatt for en buffer overflow med data fra kommandolinjen (se socat-secadv5.txt). Kreditt til Florian Weimer av Red Hat Product Security Team
Hva er nytt i versjon 1.7.2.2:
- after nekte en klient tilkobling på grunn av dårlig kilde adresse eller kildeport socat nedleggelse () kontakten, men ikke lukke () det, noe som resulterer i en fil descriptor lekkasje i lytteprosessen, synlig med lsof og muligens resulterer i EMFILE For mange åpne filer. Dette problemet kan bli misbrukt til et tjenestenektangrep.
Hva er nytt i versjon 1.7.2.0:
- when UNIX-LYTT ble brukt til en eksisterende fil det mislyktes som forventet, men fjernet filen. Takk til Bjørn Bosselmann for rapportering av dette problemet
- fikset en bug hvor socat kan krasje når du kobler til en unix domene socket hjelp adresse GOPEN. Takk til Martin Forssen for feilrapport og oppdatering.
- UDP-LISTEN ville alway satt SO_REUSEADDR selv uten gaffel alternativ og når brukeren sette den til 0. Takk til Michal Svoboda for rapportering av denne feilen.
- UNIX-CONNECT ikke støtter halv nær. Takk til Greg Hughes som pekte meg til at bug
- TCP-CONNECT med opsjon nonblock rapportert vellykket koble selv når det var fortsatt til vurdering
- adresse alternativ ioctl-intp mislyktes med & quot; unimplemented typen 26 & quot ;. Takk til Jeremy W. Sherman for rapportering og fikse at bug
- socat alternativ -x ikke skrive ut pakke retning, tidsstempel etc; takket være Anthony Sharobaiko for å sende en patch
- adresse PTY ikke tar noen parametre, men ikke rapportere en feil når noen fikk
- Marcus Meissner gitt en patch som fikser ugyldig produksjon og mulig prosess krasjer når socat utskrifter info om en ikke navngitt unix domene socket
- Michal Soltys rapportert følgende problem og gitt en innledende patch: når socat ble avbrutt, f.eks av SIGSTOP, og gjenopptatt under dataoverføring bare deler av dataene kan ha blitt skrevet.
- Alternativ o-nonblock i kombinasjon med store transfer blokkstørrelser kan resultere i delvis skriver og / eller EAGAIN feil som ikke ble håndtert på riktig måte, men resulterte i tap av data eller prosessen avsluttes.
- Fikset en bug som kunne fryse socat når under montering av en loggmelding et signal ble håndtert som også trykt en loggmelding. socat utvikling hadde vært klar over at local () ikke er tråd trygt, men hadde bare forventet ødelagte meldinger, ikke ødelagt stabel (glibc 2.11.1, Ubuntu 10.4)
- en intern butikken for barne PIDs var utsatt for pid gjenbruk som kan føre til sporadiske tap av data når både gaffel alternativ og exec adresse ble brukt. Takk til Tetsuya Sodo for rapportering av dette problemet og sende en patch
- OpenSSL-server mislyktes med & quot; no delt chiffer & quot; når du bruker chiffer aNULL. Fast ved å gi midlertidige DH parametere. Takk til Philip Rowlands for å trekke min oppmerksomhet til dette problemet.
- UDP-LISTEN sov 1s etter akseptere en tilkobling. Dette er ikke nødvendig. Takk til Peter Valdemar Morch for rapportering av dette problemet
- fikset en bug som kan føre til feil eller socat krasj etter en klient forbindelse med opsjon retry hadde blitt etablert
- fast configure.in bug på net / if.h sjekk som forårsaket IF_NAMESIZE å være udefinert
- bedre dev_t utskriftsformat definisjon
- porting: Cedril Priscal portet socat til Android (ved hjelp av Googles krysse kompilatoren). Porten inkluderer socat_buildscript_for_android.sh script
- lagt sjekk for komponent ipi_spec_dst i struct in_pktinfo så kompilering ikke mislykkes på Cygwin (takk til Peter Wagemans for rapportering av dette problemet)
- bygge mislyktes på RHEL6 grunn av tilstedeværelsen av fips.h; konfigurere sjekker nå for fipsld også. Takk til Andreas Gruenbacher for rapportering av dette problemet
- Se for netinet6 / in6.h bare når IPv6 er tilgjengelig og aktivert
- ikke klarer å kompilere når følgende definerer mangler: IPV6_PKTINFO IPV6_RTHDR IPV6_DSTOPTS IPV6_HOPOPTS IPV6_HOPLIMIT Takk til Jerry Jacobs for rapportering av dette problemet (Mac OS X Lion 10.7)
- sjekke om definere __APPLE_USE_RFC_2292 bidrar til å muliggjøre IPV6_ * (MacOSX Lion 7.1); takket være Jerry Jacobs til rapportering av dette problemet og foreslå en løsning
- faste kompilatoradvarsler på Mac OS X 64bit. Takk til Guy Harris for å gi lappen.
- korreksjoner for Openembedded, spesielt termios SKIFT verdier og iSpeed / ospeed. Takk til John Faith for å gi lappen
- mindre korreksjoner til Docu og test.sh som følge av lokal samling på OpenMoko SHR
- fast sa_family_t kompilere feil på DragonFly. Takk til Tony Young for rapportering av dette problemet og sende en patch.
- Ubuntu Oneiric: OpenSSL ikke lenger gir SSLv2 funksjoner; libutil.sh er nå bsd / libutil.h; kompilatoren advarer på vars som bare er skrevet til
- nye funksjoner: lagt opsjons maks-barn som begrenser antall samtidige barn prosesser. Takk til Sam Liddicott for å gi lappen.
- Till Maas lagt til støtte for tun / trykk adresser uten IP-adresse
- lagt et alternativ OpenSSL-komprimere som gjør det mulig å deaktivere komprimering trekk ved nyere OpenSSL versjoner. Takk til Michael Hanselmann for å gi dette bidraget (sponset av Google Inc.)
- doku: mindre korreksjoner i doku (takk til Paggas)
- klient prosess - & gt; barn prosess
Hva er nytt i versjon 1.7.1.3:
- fixed en stabel overflyt som skjedde da kommandolinje argumenter (hele adresser, vertsnavn, filnavn) var lengre enn 512 byte. Merk at dette bare kunne utnyttes når en angriper var i stand til å injisere data i socat kommandolinje. Full kreditter til Felix GrA¶bert, Google Security Team, for å finne og rapportering av dette problemet
Hva er nytt i versjon 1.7.1.1:
- corrected & quot; fast mulig SIGSEGV & quot; fikse fordi SIGSEGV fortsatt kan oppstå under slike forhold. Takk til Toni Mattila for første rapportering av dette problemet.
- ftruncate64 kutte sitt argument til 32 biter på systemer med 32 bit lang type
- socat krasjet på systemer uten setenv () (esp SunOS opp til Solaris 9.); takket være Todd Stansell for rapportering av denne feilen
- med enveis EXEC og SYSTEM en close () operasjonen ble utført på et tilfeldig tall som kan resultere i hengende ea
- fikset et kompilere problem forårsaket av size_t / socklen_t mismatch på 64bit systemer
- doku nevnt alternativet så-bindtodev men riktig navn er så-bindtodevice. Takk til Jim Zimmerman for rapportering.
Hva er nytt i versjon 2.0.0 Beta 3:
- Denne versjonen inneholder alle nye feilrettinger og funksjonene i 1.7.1.0 og introduserer muligheten til å integrere eksterne programmer i adresse kjeder (se doc / socat-addresschain.html og doc / socat-exec.html).
Hva er nytt i versjon 1.7.1.0:
- new funksjoner:
- adressealternativer shut-ingen, nedstenging, og stenge-close tillate å kontrollere socat er halv nær oppførsel
- med adresse alternativ stenge-null socat sender en tom pakke til peer å indikere EOF
- alternativ null-EOF endrer atferden til stikkontakter som mottar en tom pakke for å se EOF stedet for å ignorere det
- innført valgnavnene substuser-tidlig og su-e, som for tiden tilsvarer alternativ substuser (takk til Mike Perry for å gi lappen)
- rettelser:
- fikset noen skrivefeil og forbedret noen kommentarer
Hva er nytt i versjon 2.0.0 Beta 2:
- De viktigste forbedringene er såkalte adresse kjeder som sette sammen enkle adresser.
- Adresse kjedene er lik kommandoskall rør, men fungerer toveis.
Kommentarer ikke funnet