프로그래밍 QnA + 설치 및 활용 QnA

astzlra955의 이미지

swap file 사용 할 경우 최대절전 모드 문제...

안녕하세요. 초보 리눅스 프로그래머 입니다.

제 시스템은 우분투 8 커널 버전 2.6.21입니다.

제가 스왑 파티션을 따로 잡지 않고,

스왑 파일을 이용해서 사용하고 있는데, 최대절전 보드가 안되네요...

스왑 파티션으로 하면 되는데 말이죠..

무엇이 문제인지 알려주세요!

upersbird의 이미지

[완료] raw socket에서 packet capture에 대한 몇가지 질문 올리옵니다...

내용 : TCP, UDP, ICMP에 대한 패킷을 전송받아 각각 Ethernet, IP, TCP, UDP, ICMP 헤더와 데이터를
출력하는 프로그램을 작성해 보았는데 몇가지 궁금증이 생겼습니다.

1. 어떤 형태로 패킷이 들어와도 모니터링하려니
sock[0] = socket(PF_INET, SOCK_RAW, IPPROTO_TCP);
sock[1] = socket(PF_INET, SOCK_RAW, IPPROTO_UDP);
sock[2] = socket(PF_INET, SOCK_RAW, IPPROTO_ICMP);
제가 방법을 아직 잘 몰라서..소켓 3개를 생성하여 각각 프로토콜에 대한 캡쳐를 진행하였습니다.
그래서..궁금한 것은..하나의 소켓으로 모든 프로토콜에 대한 캡쳐를 할 수 있는 방법이 있는지 궁금합니다.

2. 예를들어 TCP 패킷 캡쳐하여 그 데이터를 모니터링하려고 합니다.
이때 recvfrom 함수를 사용하여 패킷 데이터를 수신받게 되는데,

rhajrs의 이미지

메모레 복사관련 질문입니다.


int original[100] = {0,1,2,3,4,5,6,7,8,9,10,...........};

int* indexTable[10] = {&original[0], &original[17], &original[22], &original[33], &original[41], &original[56],..........};

위는 실제 코드는 아니고 상황 설명을 위해 슈도코드 느낌 봐주시면 될듯 합니다.

지금 하려는 짓이

int target[10];

에다가 original[]의 값을 집어 넣으려 하는데

int* ptr = original;

target[0] = *ptr;
ptr += 17;
target[1] = *ptr;
ptr += 6;
.
.
.
.

처럼 하기 싫어서

kwchoi의 이미지

리눅스 커널 버전에 대한 질문드립니다.

안녕하세요.
리눅스 커널에 관심을 가지고 있는 사람으로서 질문드립니다.
mainline과 stable이란 용어가 나오는데, 무슨 의미인지 알고 싶고, 3.4-rc3에서 rc3는 무엇을 뜻하는건지 알고 싶습니다. rc1, rc2, rc3로 넘어가는거 같은데, 모르겠습니다. 전문가님들의 조언 부탁드립니다. 감사합니다.

red10won의 이미지

/var/logs/secure

#!/bin/bash

days=`date +%d`

for i in $( cat /var/log/secure | grep "Failed password for" | awk '$2= $days {print $13}' | sort | uniq -c | awk '$1 > 5

{print $2}'); do
echo "%-A INPUT -s $i -j DROP" >> /root/shells/user.conf
done

declspec의 이미지

리눅스커널, 가상주소 물리주소 변환질문

안녕하세요, x86 리눅스 커널(32비트)에서 가상메모리주소에 매핑된 물리메모리주소를
얻어내는 방법에 대해서 질문합니다.

커널에 모듈을 올리고, 그 모듈상에서 특정 커널메모리주소가 매핑된 PFN 을 찾고싶은데요
단, highmem 영역 이후의, 즉 단순히 vir_to_phy 같은거로 0xc0000000 더하고빼서 얻는거 말고
실질적으로 2레벨 페이징을 거쳐서 얻어지는 주소를 이야기하는 것입니다.

먼저 cr3 레지스터에 로드되는 페이지 디렉토리의 주소는 가상주소이고, 커널모듈상에서
cr3 의 값을 가져오는건 해당 모듈을 호출하는 application context 에서의 값을 가져오는것이라, 커널 페이지디렉토리 주소를
가져올수 없다고 알고있습니다. 그래서 커널 심볼중에 swapper_pg_dir? 이었나, 이것이
커널 페이지디렉토리의 가상주소(0xC000...) 를 가지고있다는걸 알아내서
해당 메모리를 덤프해서 커널 페이지 디렉토리의 엔트리들을 얻는데는 성공했습니다.

declspec의 이미지

세그먼트 레지스터와 메모리주소에대한 질문

안녕하세요

32비트 protected 모드의 CPU 에서는 보통
세그먼트 레지스터가 사실상 아무 역할을 안하는것으로 알고있습니다

CS, DS, SS 이런 레지스터의 특정비트영역이
GDT or LDT 상의 특정 오프셋에 있는 세그먼트 디스크립터를 가리키고
그 속의 BASE, LIMIT 이 0, FFFFFFFF 로 되어있어서
사실상 세그먼트 뒤의 32비트 오프셋 자체가 그냥 순수하게
MMU 로 넘어가서 페이징되는것으로 알고있는데요
혹시 잘못된점 있으면 지적바랍니다.

그리고 궁금한것이 몇가지 있습니다

시지프스의 이미지

[완료] 지속적으로 ping을 날리고 통계를 내는 프로그램이나 방법은 없을까요?

요약:
지속적으로 특정 ip로 ping을 날리고, 시간대별로 응답률 통계를 내는 방법을 알고 싶어요.
누군가 비슷한 프로그램을 이미 만들어두었을 것 같아서 질문을 드립니다.
아니면 기존 프로그램과 스크립트의 조합으로 처리할 수 있는 방법이라도 있을까 궁금합니다.

현재 지역 케이블 인터넷을 쓰는 중입니다. 그런데 인터넷 상황이 너무 나쁩니다.
심심하면 접속이 안 되다가 조금 지나면 다시 접속이 되고 그래요.
짧으면 수 초에서 길면 수 분정도 인터넷이 안 되고요. 상황이 안 좋으면 수 시간 이상 접속이 안 되기도 합니다.
(진짜로 몇 시간동안 안 된적도 많습니다. 이걸 해지 안 하고 쓰는 제가 성인군자같습니다.)
업체에 전화도 해보고 AS도 해봤는데 당장은 잘 되는 거 같아도 나중가면 또 안 됩니다.

캔두리눅스의 이미지

beagleboard_xM 과 melsec PLC RS232 통신 문제좀 봐주세요

멜섹 Q 시리즈 plc의 통신 사항은 확인했어요. 비글보드쪽 RS232 가 rx/tx/G 3선으로 사용하며 각 각의 주소번지가
THR_REG 0*4902000,
RHR_REG 0*4902000,
LSR_REG 0*49020014
라는 것 까진 확인했어요.
이걸 가지고 프로그램을 짜야하는데 지식이 짧아 진도가 나가질 않네요. 어떻게 해야 통신이 가능할까요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기