netcat

David
David used Ask the Experts™
on
my question pertains to the use of the netcat utility ( i believe the developer is Hobbit) in windows.
i am using this utility (this is for a project and i must use netcat (no other solution))

i am using this utility in a batch file to put a file onto a remote computer

i am using it as such:
on the local computer
type f:\diagsfile.txt | nc %ip_add1% 1234
where diagsfile.txt is the text file i'd like to port to the nc (netcat command) at ip address %ip_add1% on port 1234

on the remote computer i use:
nc -l -p 1234 >diagsfile.txt

so on the remote computer netcat (nc) opens a listening port which will accept input and put it into the diagsfile.txt file locally


what my question is .... is there a way to eliminate the second step, either by logging into the remote computer using credentials(probably via netcat), or by stealth putting it on the remote computer ...

i'd like to eliminate the second step of opening the port and have to do the execution only on the initiating computer

all this is ( of course ) taking for granted that the firewall is turned off

thanks in advance

solution must be scriptable(batch file)
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Gerwin Jansen, EE MVETopic Advisor
Most Valuable Expert 2016

Commented:
Sending a file over a tcp port to another computer will not work. As there is nothing 'listening' on the remote side, the file cannot be sent over. This would have been not very nice if someone using nc (or other tool) would just be able to put any file on your system.
Top Expert 2016
Commented:
use sysinternals pscexec to execute a program on the destination computer
btanExec Consultant
Distinguished Expert 2018

Commented:
You can also check the remote for any shared folder (can find using ShareEnum) and dump the file into it
e.g using powershell (uses network share path to copy the file)
copy-item -Path d:\Shared\test.txt -Destination \\server1\Shared
OR (below but this may not work if you are trying to trying to access a network resource in a different domain.
New-PSDrive -Name X -PSProvider FileSystem -Root \\MyRemoteServer\c$\My\Folder\Somewhere\
cd X:\
cp ~\Desktop\MyFile.txt .\
## Important, need to exit out of X:\ for unmounting share
cd c:\
Remove-PSDrive X
OR
Invoke-Command -ComputerName \\server -ScriptBlock {
  $args[0] | Set-Content  C:\Shared\test.txt
  } -ArgumentList (Get-Content D:\Shared\test.txt -Raw)
Other like mentioned using psExec and also net use e.g.
psexec -i -d -u user -p password \\client cmd "/C net use x: \\server & c:\program.exe"

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial