프로그래밍 QnA

yoyoyokjt의 이미지

임베디드 리눅스 디바이스드라이버 관련 질문입니다

builtin 형식으로 디바이스 드라이버를 작성하려고 하는데

일반적으로 써 왔던 mknod 후 insmod 해서 모듈을 init 시키는것과

어떻게 다른지 코드는 어떻게 짜야하는지 잘 모르겠습니다

프로젝트를 빌드하면서 커널을 init 할 때 initcall을 불러서

for문으로 do one initcall을 실행을 시킬때 모듈을 init 하려고

device_initcall 함수를 module_init() 대신 삽입하여 동작시켜 보았지만

builtin이 되지는 않더군요

초보자이다보니 검색을 해도 너무 어렵게들 말씀하셔서 ㅠ

자세한 설명이 아니더라도 참고하면 좋을 자료나 아니면 추천 검색어라고 짧막하게 남겨주시길 부탁드립니다.

kimkyoungjo의 이미지

C++ 접근제어지시자 관련해서..

기본적으로 C++ 에서 접근제어지시자를 생략하면 protected 라고 알고 있는데요

의심이 많은지라 다시 확인해보려고 하는데 C++ 책이 어디있는지 찾을수가 없고;;;

그정도는 네이뇬..에서 찾을수 있겠지..라고 생각해서 적어봤더니

어떤분이 구조체를 설명하면서;; 접근제어가 생력되면 public 으로 간주한다고 적어놔서

사실 구조체에서 접근제어지시자는 또 뭔가 생소한(?) 느낌이기도하고;;;

읭? 이건 뭔가..? 라는 느낌이기도하고;;;

여튼

C++ 에서 접근제어지시자 생략하면 protected 가 맞는거죠?

pppp123의 이미지

TCP 서버가 listen 상태인데.. 왜 rst 패킷을 던지는 건가요?

안녕하세요?

특정 client가 서버와 잘 통신을 하다가 ... 이후에....

끊어졌다가 다시 연결되는 과정에서 서버측에서 RST 패킷을 던지네요...

일단.. dump로 확인 결과 클라이언트는 EST를 수행하기 위해서 syn을 던지구 있구요...

서버는 listen 상태로 동작을 하고 있습니다.

해당 서버 포트를 다른 STATE는 존재하지 않습니다.

클라이언트도 마찬가지로... 다른 STATE는 존재하지 않습니다. (SYN_SENT로 바뀌었다가==>RST 패킷으로 인해서 재 연결을 시도합니다)

jswoo21의 이미지

윈도우에서 구현한 코드가 우분투에서 안되는....

구현한 프로그램이..
텍스트 파일에서 데이터 읽어와서
파싱한 뒤에 알맞은 구조체에 저장하고
여러 자료구조들(2d 링크드리스트, min heap, max heap, tree 등)의 노드들이 위에서 만든 구조체들을 포인터로 가지고 있고 알맞은 출력을 해주는 식인데요..
비주얼 스튜디오로 구현한뒤 테스트 해보면
에러 하나없이 깔끔하게 아웃풋 파일이 나오는데요..
같은 코드 리눅스로 옮겨서 테스트해보니..
에러는 안나는데 아웃풋이 안나오더라구요...

왜그런가 출력으로 일일히 데이터 찍어봤는데
텍스트파일에서 파싱할 때 제대로 파싱이 되고
그 데이터들을 구조체에 저장도 제대로 됬는데
그래프에 구조체가 들어간 뒤에
그래프에서 출력하면 데이터가 깨지더라구요...
뭔가 문제가있는거같은데..
이거왜이럴까요?ㅜㅜㅜㅜㅜ

gaeddong2의 이미지

proxy 실행 중에 redirection을 하여 클라이언트에게 인증 페이지를 띄우려고 합니다.

proxy로는 tinyproxy를 설치하여 사용하고 있습니다.
client가 특정 웹 주소에 접속하려 할 때 클라이언트에게 인증페이지를 띄어주고 싶습니다.
인증 페이지는 server에서 php를 이용해서 페이지를 만들어놨습니다.

proxy c코드 안에서 클라이언트에게 어떻게 인증 페이지를 띄어줘야 할지 모르겠어서 올리게됬습니다.

execve()함수나 system()함수는 자기 자신 프로그램 안에서 실행이 되는 거라 안될 것 같아서, 잘 모르겠습니다.

답변 좀 부탁드립니다.

ksy16의 이미지

장고에서 스마트에디터 업로드기능을 구현하는 방법을 모르겠습니다..

안녕하세요, 저는 현재 장고프레임워크로 웹개발을 하고 있습니다.

문제는 제가 위지윅 에디터를 넣으려고 하는데 장고용으로 나온 CKeditor나 기타 다른 에디터는 업로드창이 너무 복잡하게 되어있더라구요.

그래서 대신 스마트에디터를 넣으려고 하는데 도통 이미지 업로드를 어떻게 구현해야 할지 감이 안잡힙니다.

혹시 조금의 팁이라도 주실 분 있으신가요..?

nuricook의 이미지

libc가 어떤방식(static/shared)으로 링크되었는지 확인하는 방법

안녕하세요.
현재 libc를 로딩할때 static이나 shared로 링킹되었는지 확인하는 방법이 필요한데요.
이에,,

[아이디어]
malloc의 주소가 .plt 테이블안에 있다면? Shared로 판별하자

[접근과정]
이런 아이디어로 접근하고 있습니다.
문제는 현재 실행중인 .plt의 address를 알아야겠는데요.

memcpy( Elf32_Ehdr elfHdr, base_address, sizeof(Elf32_Ehdr));
를 통해서
base_address ~ 헤더크기만큼 메모리를 가져와 elf header구조체에 넣고,
이를 통해 plt 섹션을 가져와 보려고 합니다.

현재 elf header는 잘 뽑아지고,
readelf 등과 비교해서 잘 정보가 나오는데요,

[현재문제]
도저히 섹션정보를 가져올수가 없습니다.

혹시 관련하여 아이디어가 있으시면 조언 부탁드립니다.ㅠ

declspec의 이미지

TCP 연결 릴레이 질문

안녕하세요, 간만에 질문올립니다.

TCP/IP 통신을 하는 프로그램 A, B 가 있습니다.
B 가 소켓을 열고 A 가 여기에 connect 하면
B 가 데이터를 A 에게 전송합니다.

이 두 프로그램은 문제없이 잘 작동했습니다.
그런데 이것을 아래와 같이 바꿨더니 이상해집니다.

프로그램 C 가 TCP 소켓 2개를 엽니다.(socket1, socket2)
프로그램 B 는 socket1 과 연결됩니다.
프로그램 A 는 socket2 와 연결됩니다.

프로그램 C 는 아래의 무한루프를 돌리면서 socket1 에서 읽은 데이터를
socket2 로 넘겨줍니다.

즉, A 와 B 의 중간에서 TCP 데이터를 릴레이 시켜주는것이죠.
저는 이렇게해도 A 와 B 가 똑같이 잘 돌아갈줄 알았습니다.
그런데 처음에 잠시 잘 돌아가다가, A 가 엉뚱한(B 가 보내지도 않은) 데이터를
수신하고 죽어버립니다.

bosungs2y의 이미지

system 함수 에서 find 명령어사용

현재 winpcap을 이용한 arp spoofing 탐지 후 방어하는 프로그램을 제작중에 있습니다. 막히는 부분이
system 함수에서 cmd의 arp -a | find "보낸자MAC주소" 명령어를 주어
중복되는 MAC테이블을 찾기를 만들려하는데 %02x 구문이 안먹히네요... 무엇이 잘못되었는지 가르켜주시면 감사하겠습니다.
그리고 언어적으로 방어방법이 있으면 소개좀 부탁드리겠습니다.

-----------------소스-----------------------

jekai의 이미지

filesystem을 공유하는 여러 system에서 inotify 사용은 불가능하군요...

filesystem을 감시하는 목적으로 inotify를 사용했는데,

제 환경이 filesystem을 여러 machine이 공유하고( **특정 path /user/ 밑으로만 모든 machine이 공유** )

각각의 machine에서 inotify를 사용하여 특정 directory를 monitoring합니다.

그런데, inofity가 /dev/input으로 동작하는거라서 같은 machine안에서 발생하는 file변경사항은 감지를 해도,

다른 machine에서 발생하는 file변경은 감지를 못하네요...

filesystem을 공유하고있지만, kernel이 각각 다르기때문에 /dev/input도 달라서 이건 어쩔수 없나봅니다.

그래서 저와 같은 환경에서는 어쩔수 없이 polling하면서 감지하는 방법밖에 없을까요???

/dev/input 를 옮기는 방법같은건 없을까요 ㅠㅠ

페이지

프로그래밍 QnA 구독하기