Allow a user to start a command-line shell on host machine

Assignment Help Computer Engineering
Reference no: EM132216481

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

**READ ENTIRE QUESTION BEFORE ANSWERING**

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: EM132216481

Questions Cloud

Which decision makers would need the information : A health impact assessment (HIA), is a process for describing and estimating the effects a proposed project or policy may have on the health of a population.
Explain the meaning of sustainable consumption : Explain the meaning of Sustainable consumption and describe some of the ways you can become a sustainable consumer. Criteria: This assignment gauges.
How would you explain your position to someone : Based on what you have read, do you believe that consumers should have to pay for plastic or paper bags at grocery and other stores?
Explain how media coverage presenting two sides : Explain how media coverage presenting two sides to the debate can lead to the idea that there is not consensus. For this point you may find this clip by John.
Allow a user to start a command-line shell on host machine : 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.
Write the transformation matrix for rotation : Write the transformation matrix (in homogenous coordination system) for rotation, scale and translation of a 3D point.
Write and test a function that takes nouns : Write and test a function that takes nouns and return their plurals. Print each noun and its plural. Try the following nouns.
Write a program for stacks and queues : Write three separate programs, one each for stacks, queues, and linked-lists that broadly support adding, deleting and displaying data.
Describe the marketing plan : Locate 7 articles related to possible marketing plan topics. The topic should be geared toward the implementation of a new sport related product or service.

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