Write a threaded echo client using sockets in c

Assignment Help Computer Engineering
Reference no: EM132216493

Write a threaded echo client / shell program using sockets in C/C++

Your problem is to add a "nice" feature to this program to allow a user to start a command-line shell on the host machine.

Modify the source code from the lecture so that when the client sends the command "shell" to server, all further commands from the client will be treated as shell commands on the server. Return back to normal operation when the user enters the "exit" command in the client (i.e., return to just echoing output).

You code must support multiple connections to the server. This means that the server has to keep track of multiple sockets: one to listen for new connections and then a socket pair per connection to which you direct output from the server (either echo or standard output from running shell commands).

On the server, the naive approach would be to use the system() system call to execute the command sent from the client. This works but leaves too much information available for a security analyst to detect what program is doing the malicious deeds.

Instead, use the code from the previous assignment and have the server code do a fork() and exec() to execute the command on the server. (EXTRA CREDIT: do what you can to mask the parent process id of the child process.)

Reference no: EM132216493

Questions Cloud

Develop a small console program driven by a text menu : Write a Utunbu Bash script AND a Perl script: Develop a small console program driven by a text menu
Discuss the importance of documenting network problems : Write three paragraphs or record a 1 min video discussing the importance of documenting network problems and solutions.
Write two versions of an interprocess communication program : To write two versions (pipe version and shared memory version) of an interprocess communication program in C or C++.
Write an update function to allow a user to update a student : This function should take in two parameters (it can take in more parameters, but must take in at least these two): ID - a studentld val - the new mark for.
Write a threaded echo client using sockets in c : Your problem is to add a "nice" feature to this program to allow a user to start a command-line shell on the host machine.
Why is keystone species important to the biome-ecosystem : Provide one example of a keystone species found in the biome/ecosystem. Why is this keystone species important to the biome/ecosystem?
Define factors that limit the effectiveness of regulations : In the United States, occupational health regulations are set by the Occupational Safety and Health Administration (OSHA). What are some of the major factors.
Plot an ellipse with axes that are parallel to the x and y : Write a user-defined function that plots an ellipse with axes that are parallel to the x and y axes, given the coordinates of two vertices and another point.
Write use ocaml language a function to compute fibonacci num : Write Use OCAML language a function to compute fibonacci numbers. What happens when you try to compute larger fibonacci numbers?

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd