|
| Linux som printserver? Fra : Martin Bech |
Dato : 29-04-03 19:09 |
|
Hej,
På mit netværk modtager jeg printjobs til en HP JetDirect printserver på
port 9100 (RAW). På denne printserver sidder en printer forbundet med et
parallelkabel.
Nu vil gerne have disse jobs sendt videre til en LPD-kø på netværket
(port 515). Hvis jeg lader en linux-server overtage HP-printserverens
IP-nummer, kan jeg så få linux-serveren til til at lytte på på 9100 og
sende printjobbet videre til LPD-køen et andet sted? Altså få serveren
til at være en bro mellem RAW- og LPD-køer.
--
Med venlig hilsen / Greetings from
Martin Bech
http://www.MartinBech.dk Mail: Remove XYZ from mail address.
| |
Kent Friis (29-04-2003)
| Kommentar Fra : Kent Friis |
Dato : 29-04-03 19:32 |
|
Den Tue, 29 Apr 2003 20:09:09 +0200 skrev Martin Bech:
>Hej,
>
>På mit netværk modtager jeg printjobs til en HP JetDirect printserver på
>port 9100 (RAW). På denne printserver sidder en printer forbundet med et
>parallelkabel.
>
>Nu vil gerne have disse jobs sendt videre til en LPD-kø på netværket
>(port 515). Hvis jeg lader en linux-server overtage HP-printserverens
>IP-nummer, kan jeg så få linux-serveren til til at lytte på på 9100 og
>sende printjobbet videre til LPD-køen et andet sted? Altså få serveren
>til at være en bro mellem RAW- og LPD-køer.
Port 9100 bruger ikke nogen protokol udover TCP, alt bliver bare dumpet
direkte til printeren. Så du skal egentlig bare have noget til at lytte
på porten, og sende alt hvad den modtager som printjobs.
Hvis man er lidt kreativ, forsøger man følgende, jeg har IKKE testet
det, men jeg kan ikke umiddelbart se noget der forhindrer det i at
virke.
inetd kan lytte på en port, og starte en program med stdin tilsluttet
TCP-forbindelsen.
lpr læser - hvis intet filnavn er angivet - printjobbet fra stdin.
Er man lidt kreativ, forsøger man derfor at tilføje flg. i
/etc/inetd.conf:
9100 stream tcp nowait root /usr/sbin/tcpd /usr/bin/lpr
Man kan lige så godt bruge root, for lpr er alligevel setuid root.
En smule sikkerhed opnås ved at køre igennem tcpd, og sætte fornuftige
begrænsninger i hosts.allow og hosts.deny
- og som sagt, utestet og uden garanti for at det virker. Det er de
mest underlige ting der kan få det til at fejle når man propper ting
i inetd.conf som ikke er beregnet til det.
Mvh
Kent
--
unsigned long main = 0xC8C70FF0;
| |
Martin Bech (29-04-2003)
| Kommentar Fra : Martin Bech |
Dato : 29-04-03 23:07 |
|
In article <b8mgeb$9nc$2@sunsite.dk>, leeloo@phreaker.net (Kent Friis)
wrote:
> inetd kan lytte på en port, og starte en program med stdin tilsluttet
> TCP-forbindelsen.
>
> lpr læser - hvis intet filnavn er angivet - printjobbet fra stdin.
>
> Er man lidt kreativ, forsøger man derfor at tilføje flg. i
> /etc/inetd.conf:
> 9100 stream tcp nowait root /usr/sbin/tcpd /usr/bin/lpr
Interessant bidrag der giver mig håb. Takker.
Findes der en kommando a la tcpdumps, som smider alt data til en port
ud? Jeg tænker på et eller andet som dette (jeg ved godt at det ikke er
headerne jeg skal have ud):
tcpdump dst port 9100 | lpr -Pkø
Men ellers vil jeg eksperimentere ud fra dit forslag, Kent.
--
Med venlig hilsen / Greetings from
Martin Bech
http://www.MartinBech.dk Mail: Remove XYZ from mail address.
| |
Kent Friis (30-04-2003)
| Kommentar Fra : Kent Friis |
Dato : 30-04-03 17:31 |
|
Den Wed, 30 Apr 2003 00:06:37 +0200 skrev Martin Bech:
>In article <b8mgeb$9nc$2@sunsite.dk>, leeloo@phreaker.net (Kent Friis)
>wrote:
>
>> inetd kan lytte på en port, og starte en program med stdin tilsluttet
>> TCP-forbindelsen.
>>
>> lpr læser - hvis intet filnavn er angivet - printjobbet fra stdin.
>>
>> Er man lidt kreativ, forsøger man derfor at tilføje flg. i
>> /etc/inetd.conf:
>> 9100 stream tcp nowait root /usr/sbin/tcpd /usr/bin/lpr
>
>Interessant bidrag der giver mig håb. Takker.
>
>Findes der en kommando a la tcpdumps, som smider alt data til en port
>ud? Jeg tænker på et eller andet som dette (jeg ved godt at det ikke er
>headerne jeg skal have ud):
>
>tcpdump dst port 9100 | lpr -Pkø
Det løsning vil ikke virke, da lpr først leverer dokumentet videre til
printeren når den møder EOF, altså når "tcpdump" afslutter.
Bortset fra det, kan netcat lytte på en port.
Mvh
Kent
--
Which one is faster - Lotus Notes or Lotus Esprit?
| |
RR (04-05-2003)
| Kommentar Fra : RR |
Dato : 04-05-03 09:35 |
|
Hejsa
Det kan du sagtens.
Du kører bare kommandoen printtool og så tror jeg at den fortæller dig
resten af vejen :)
On Tue, 29 Apr 2003 20:09:09 +0200, Martin Bech <bechX@iY.amZ> wrote:
>Hej,
>
>På mit netværk modtager jeg printjobs til en HP JetDirect printserver på
>port 9100 (RAW). På denne printserver sidder en printer forbundet med et
>parallelkabel.
>
>Nu vil gerne have disse jobs sendt videre til en LPD-kø på netværket
>(port 515). Hvis jeg lader en linux-server overtage HP-printserverens
>IP-nummer, kan jeg så få linux-serveren til til at lytte på på 9100 og
>sende printjobbet videre til LPD-køen et andet sted? Altså få serveren
>til at være en bro mellem RAW- og LPD-køer.
| |
|
|